provozni zaloha

This commit is contained in:
lachtan
2026-06-24 08:11:12 +02:00
parent 9295dba19f
commit 1db3ec4756
97 changed files with 7698 additions and 817 deletions

View File

@@ -0,0 +1,115 @@
# Keep Claude working toward a goal - Claude Code Docs
Source: https://code.claude.com/docs/en/goal
The `/goal` command sets a completion condition and Claude keeps working toward it without you prompting each step. After each turn, a small fast model checks whether the condition holds. If not, Claude starts another turn instead of returning control to you. The goal clears automatically once the condition is met.
Use a goal for substantial work with a verifiable end state:
- Migrating a module to a new API until every call site compiles and tests pass
- Implementing a design doc until all acceptance criteria hold
- Splitting a large file into focused modules until each is under a size budget
- Working through a labeled issue backlog until the queue is empty
## Compare ways to keep a session running
Three approaches keep the current session running between prompts:
| Approach | Next turn starts when | Stops when |
| --- | --- | --- |
| `/goal` | The previous turn finishes | A model confirms the condition is met |
| `/loop` | A time interval elapses | You stop it, or Claude decides the work is done |
| Stop hook | The previous turn finishes | Your own script or prompt decides |
`/goal` and a Stop hook both fire after every turn. `/goal` is a session-scoped shortcut: you type a condition and it's active for the current session only. A Stop hook lives in your settings file, applies to every session in its scope, and can run a script for deterministic checks or a prompt for model-evaluated ones.
Auto mode on its own approves tool calls within a single turn but doesn't start a new one. Claude stops when it judges the work done. `/goal` adds a separate evaluator that checks your condition after every turn, so completion is decided by a fresh model rather than the one doing the work. The two are complementary: auto mode removes per-tool prompts, and `/goal` removes per-turn prompts.
## Use `/goal`
One goal can be active per session. The same command sets, checks, and clears it depending on the argument.
### Set a goal
Run `/goal` followed by the condition you want satisfied. If a goal is already active, the new one replaces it.
```
/goal all tests in test/auth pass and the lint step is clean
```
Setting a goal starts a turn immediately, with the condition itself as the directive. You don't need to send a separate prompt. While the goal is active, a `◎ /goal active` indicator shows how long the goal has been running.
After each turn, the evaluator returns a short reason explaining why the condition is or isn't met. The most recent reason appears in the status view and in the transcript so you can see what Claude is working toward next.
### Write an effective condition
The evaluator judges your condition against what Claude has surfaced in the conversation. It doesn't run commands or read files independently, so write the condition as something Claude's own output can demonstrate. "All tests in `test/auth` pass" works because Claude runs the tests and the result lands in the transcript for the evaluator to read.
A condition that holds up across many turns usually has:
- **One measurable end state**: a test result, a build exit code, a file count, an empty queue
- **A stated check**: how Claude should prove it, such as "`npm test` exits 0" or "`git status` is clean"
- **Constraints that matter**: anything that must not change on the way there, such as "no other test file is modified"
The condition can be up to 4,000 characters.
To bound how long a goal runs, include a turn or time clause in the condition, such as `or stop after 20 turns`. Claude reports progress against that clause each turn and the evaluator judges it from the conversation.
### Check status
Run `/goal` with no arguments to see the current state.
```
/goal
```
If a goal is active, the status shows:
- The condition
- How long it has been running
- How many turns have been evaluated
- The current token spend
- The evaluator's most recent reason
If no goal is active but one was achieved earlier in the session, the status shows the achieved condition along with its duration, turn count, and token spend.
### Clear a goal
Run `/goal clear` to remove an active goal before its condition is met.
```
/goal clear
```
`stop`, `off`, `reset`, `none`, and `cancel` are accepted as aliases for `clear`. Running `/clear` to start a new conversation also removes any active goal.
### Resume with an active goal
A goal that was still active when a session ended is restored when you resume that session with `--resume` or `--continue`. The condition carries over, but the turn count, timer, and token-spend baseline all reset on resume. A goal that was already achieved or cleared is not restored.
### Run non-interactively
`/goal` works in non-interactive mode, in the desktop app, and through Remote Control. Setting a goal with `-p` runs the loop to completion in a single invocation:
```
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
```
Interrupt the process with Ctrl+C to stop a non-interactive goal before the condition is met.
## How evaluation works
`/goal` is a wrapper around a session-scoped prompt-based Stop hook. Each time Claude finishes a turn, the condition and the conversation so far are sent to your configured small fast model, which defaults to Haiku. The model returns a yes-or-no decision and a short reason. A "no" tells Claude to keep working and includes the reason as guidance for the next turn. A "yes" clears the goal and records an achieved entry in the transcript.
The evaluator runs on whichever provider your session is configured for. It does not call tools, so it can only judge what Claude has already surfaced in the conversation.
## Requirements
`/goal` runs only in workspaces where you have accepted the trust dialog, because the evaluator is part of the hooks system. `/goal` is also unavailable when `disableAllHooks` is set at any settings level or when `allowManagedHooksOnly` is set in managed settings. In each case, the command tells you why instead of silently doing nothing.
## See also
- Run a prompt repeatedly with `/loop`: re-run on a time interval instead of until a condition holds
- Prompt-based hooks: write your own Stop hook when you need custom evaluation logic
- Auto mode: approve tool calls automatically so each goal turn runs unattended
- Scheduling comparison: run work on a schedule independent of any open session

View File

@@ -0,0 +1,94 @@
# Run Claude Code with Local & Cloud Models in 5 Minutes (Ollama, LM Studio, llama.cpp, OpenRouter)
**Autor:** Luong NGUYEN
**URL:** https://medium.com/@luongnv89/run-claude-code-on-local-cloud-models-in-5-minutes-ollama-openrouter-llama-cpp-6dfeaee03cda
**Datum:** Jan 31, 2026
---
Průvodce nastavením Claude Code s alternativními modely — Ollama (lokální i cloud), LM Studio, llama.cpp, OpenRouter a další. Většina konfigurace se dělá přes env vars `ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, `ANTHROPIC_MODEL`.
## Doporučené modely pro coding
- **devstral-small-2 (24B)** — dobrý start pro coding quality
- **qwen3-coder:30b** — lepší coding ability, stále praktický na 32GB RAM
- **GLM4.7-flash:q8_0** — silný poměr cena/výkon (kvantizovaný)
Minimální spec: 32GB RAM, model 24B+ parametrů. Na 16GB to jde, ale experience je rough.
## Option 1: Ollama Local
```bash
ollama pull devstral-small-2
ollama launch claude --model devstral-small-2
```
Nebo manuálně přes env vars:
```bash
export ANTHROPIC_AUTH_TOKEN="ollama"
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL="http://localhost:11434"
claude --model devstral-small-2
```
## Option 2: llama.cpp + HuggingFace
Build llama.cpp s Metal (macOS) nebo CUDA (Linux), spusť server s `--jinja` flag (nutný pro tool calling), připoj Claude Code přes `ANTHROPIC_BASE_URL=http://localhost:8000`.
```bash
llama-server -hf bartowski/cerebras_Qwen3-Coder-REAP-25B-A3B-GGUF:Q4_K_M \
--alias "Qwen3-Coder-REAP-25B-A3B-GGUF" \
--port 8000 --jinja --kv-unified \
--cache-type-k q8_0 --cache-type-v q8_0 \
--flash-attn on --batch-size 4096 --ubatch-size 1024 --ctx-size 64000
```
## Option 3: LM Studio
GUI i CLI varianta (`llmster`). Server na portu 1234, env vars `ANTHROPIC_BASE_URL=http://localhost:1234`, `ANTHROPIC_AUTH_TOKEN=lmstudio`.
## Option 4: Ollama Cloud Models
```bash
ollama pull kimi-k2.5:cloud
ollama pull minimax-m2.1:cloud
claude --model kimi-k2.5:cloud
```
Stejný workflow jako lokální, compute v cloudu. Free tier má omezený usage.
## Option 5: Cloud Provider APIs (OpenRouter atd.)
```bash
export ANTHROPIC_BASE_URL=https://openrouter.ai/api
export ANTHROPIC_AUTH_TOKEN=YOUR_OPENROUTER_KEY
export ANTHROPIC_API_KEY=
export ANTHROPIC_MODEL="openai/gpt-oss-120b:free"
```
Prázdný `ANTHROPIC_API_KEY` je záměr — zabraňuje autentikaci přes Anthropic API přímo.
Minimax přes OpenRouter: ~98% levnější než Opus 4.5. Podobně GLM, DeepSeek, Kimi.
## Klíčové env vars
| Var | Purpose |
|-----|---------|
| `ANTHROPIC_BASE_URL` | API endpoint |
| `ANTHROPIC_AUTH_TOKEN` | API key pro provider |
| `ANTHROPIC_API_KEY` | Prázdný = žádný Anthropic fallback |
| `ANTHROPIC_MODEL` | Model identifier |
## Závěr
- Lokální na M1 32GB: devstral-small-2 (24B) OK, větší modely pomalé
- Nvidia DGX Spark: široký výběr modelů
- Cloud: nejrychlejší cesta, Ollama Cloud free tier pro emergency, jinak Kimi/Minimax/DeepSeek/GLM přes OpenRouter
- Opus 4.5 stále nejlepší quality+speed, ale drahý
## Zdroje
- [Ollama Claude Code Integration](https://docs.ollama.com/integrations/claude-code)
- [OpenRouter Integration](https://openrouter.ai/docs/guides/guides/claude-code-integration)
- [cc-compatible-models](https://github.com/Alorse/cc-compatible-models)
- [claude-flow wiki](https://github.com/ruvnet/claude-flow/wiki/Using-Claude-Code-with-Open-Models)

View File

@@ -0,0 +1,43 @@
# I Tried New Claude Code Ollama Workflow (It's Wild & Free)
**Autor:** Joe Njenga
**URL:** https://medium.com/@joe.njenga/i-tried-new-claude-code-ollama-workflow-its-wild-free-cb7a12b733b5
**Datum:** Jan 19, 2026
**Status:** 🔒 Member-only (paywall) — pouze preview dostupný
---
## Dostupný obsah (preview)
Claude Code nyní funguje s Ollama — lokální i cloud modely. Ollama v0.14.0+ je kompatibilní s Anthropic Messages API, takže Claude Code může komunikovat přímo s Ollama modely.
### Klíčové body z preview
- Ollama v0.14.0+ podporuje Anthropic Messages API → Claude Code kompatibilita
- Ideální pro privacy-conscious projekty, air-gapped systémy, nebo vyhnutí se API costům
- Autor testoval integraci od oznámení a dokumentoval chyby/pastýřky
- Workflow: lokální modely bez odesílání každého requestu do cloudu
### Nastavení Ollama s Claude Code
```bash
# Lokální Ollama
export ANTHROPIC_AUTH_TOKEN="ollama"
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL="http://localhost:11434"
claude --model devstral-small-2
# Cloud modely přes Ollama
ollama pull kimi-k2.5:cloud
claude --model kimi-k2.5:cloud
```
### Varování z preview
- Autor zmiňuje "všechny chyby, které tě budou stát čas" — konkrétní detaily za paywallem
- Free tier Ollama Cloud má omezený usage
## Zdroje
- [Ollama Claude Code Integration](https://docs.ollama.com/integrations/claude-code)
- [cc-compatible-models](https://github.com/Alorse/cc-compatible-models)

View File

@@ -0,0 +1,40 @@
# How I'm Using Claude Code Like Cline With OpenRouter (To Go Beast Mode at Low Cost)
**Autor:** Joe Njenga
**URL:** https://medium.com/@joe.njenga/how-im-using-claude-code-like-cline-with-openrouter-to-go-beast-mode-at-low-cost-8c78e0bdcb67
**Datum:** Jan 18, 2026
**Status:** 🔒 Member-only (paywall) — pouze preview dostupný
---
## Dostupný obsah (preview)
Claude Code + OpenRouter integrace pro low-cost coding. OpenRouter nedávno přidal Claude Code do své unified API platformy. Článek ukazuje, jak nastavit Claude Code s OpenRouter podobně jako Cline (VS Code extension) — svoboda volby modelu bez lock-in na jednoho providera.
### Klíčové body z preview
- OpenRouter integroval Claude Code do unified API
- Cline-like workflow: volit jakýkoliv model (GPT-4, Claude, nové modely) bez provider lock-in
- Nastavení přes env vars: `ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, `ANTHROPIC_MODEL`
- Cílem: x10 budget efficiency oproti nativnímu Claude API
### Nastavení OpenRouter s Claude Code
```bash
export ANTHROPIC_BASE_URL=https://openrouter.ai/api
export ANTHROPIC_AUTH_TOKEN=YOUR_OPENROUTER_KEY
export ANTHROPIC_API_KEY=
export ANTHROPIC_MODEL="openai/gpt-oss-120b:free"
```
Prázdný `ANTHROPIC_API_KEY` zabraňuje fallback na Anthropic API.
### Modely zmíněné v článku
- Minimax přes OpenRouter: ~98% levnější než Opus 4.5
- GLM, DeepSeek, Kimi — další low-cost alternativy přes OpenRouter
## Zdroje
- [OpenRouter Integration](https://openrouter.ai/docs/guides/guides/claude-code-integration)
- [cc-compatible-models](https://github.com/Alorse/cc-compatible-models)

View File

@@ -0,0 +1,3 @@
https://blog.robotmak3rs.com
Topic: How to continue using LEGO Mindstorms products (after discontinuation / in alternative ways).

View File

@@ -0,0 +1,49 @@
# I Hated Every Coding Agent, So I Built My Own — Mario Zechner (Pi)
**Source URL:** https://www.youtube.com/watch?v=Dli5slNaJu0
**Type:** Video / Talk
**Date:** 2026 (approx)
**Speaker:** Mario Zechner (creator of Pi coding agent, also known as badlogic — libGDX author)
## Why Pi was created
Mario was frustrated by existing coding agents (Claude Code, OpenCode, Codex CLI, AMP) for several reasons:
1. **Feature bloat** — agents pile on features (built-in to-dos, complex tool suites) that aren't needed and add hidden context injection
2. **Hidden behaviors** — vendors change things under the hood (system prompts, context injection) that make LLMs behave unpredictably with existing workflows
3. **Poor observability** — hard to see what the agent is actually doing, what context it's using, how much it costs
4. **Lack of extensibility** — no way for power users to add custom tools or modify behavior without forking
5. **Approval fatigue** — agents offer either full autonomy or approval for every action; both are bad UX
6. **Poor context management** — agents like OpenCode rely on session compaction but lose important context
Key quote: *"So obviously they're doing things right, but not for me."*
## Pi's design philosophy
- **Minimal core** — only 4 tools: read file, write file, edit file, bash. That's all you need.
- **Tiny system prompt** — frontier RL-trained models don't need massive system prompts
- **Tree-structured sessions** — not linear chat history; sub-agents can branch and read files independently while preserving context/lineage
- **Full cost tracking** — built-in, not an afterthought
- **Hot-reloadable TypeScript extensions** — users can define custom tools, UIs, multi-agent setups without modifying core
- **No hidden context injection** — what you see is what the model gets
## Community extensions
- **pi-annotate** — visual feedback on live websites
- **pi-messenger** — multi-agent chatroom with custom UI
- Custom UIs, tool integrations — all as hot-reloadable TS modules
## Performance
On TerminalBench, Pi (with Claude Opus 4.5) scored close to Terminus even before advanced optimizations like compaction.
## Key insight
*"We are in the messing around and finding out stage, and nobody has any idea what the perfect coding agent should look like."* — simplification can lead to effective performance without unnecessary complexity.
## Related
- Pi website: https://pi.dev/
- Pi GitHub: https://github.com/earendil-works/pi
- Pi is part of OpenClaw ecosystem
- Mario Zechner is also the author of libGDX (Java game dev framework)

View File

@@ -0,0 +1,5 @@
# pi.dev — terminálová limitace
pi.dev je pěkný projekt, ale limitace na terminal je až moc přísná a omezující. Bez IDE to ztrácí všechny výhodné vlastnosti — podobně jako opencode.
Terminal-only přístup výrazně omezuje uživatelskou zkušenost a produktivitu oproti plnohodnotnému IDE integrovanému řešení.

View File

@@ -0,0 +1,3 @@
# Pi.dev — zajímavé video
Video k pi.dev: https://www.youtube.com/watch?v=Dli5slNaJu0

View File

@@ -0,0 +1,26 @@
---
type: <source|entity|concept|synthesis>
title: ""
tags: []
sources: []
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
# Title
Lead paragraph: a clear, encyclopedic definition or framing of what this page is about. Should answer "what is this and why does it matter" in one or two sentences.
## Section 1
Body content. Use `[[wikilinks]]` liberally to cross-reference other pages. (Frontmatter `sources:` list above uses bare slugs; only the body uses double-bracket wikilinks.)
## Section 2
More body content. Hedge claims that aren't yet corroborated by multiple sources ("Source X claims Y, though this is not yet corroborated by other sources in the wiki").
## Where this fits
(For source pages.) List the entity and concept pages this source touches:
- [[entity-page-1]]
- [[concept-page-1]]

121
cml/wiki/SCHEMA.md Normal file
View File

@@ -0,0 +1,121 @@
# Wiki Schema
This file is the configuration for this wiki. It documents the conventions, page types, tag taxonomy, and any workflow customizations. The LLM reads this first when entering the wiki, and its conventions override the defaults documented in the `llm-wiki` skill.
This file is **co-evolved with the user**. When the LLM notices a recurring pattern in your edits or feedback that isn't here, it will propose adding it. When something here stops fitting, prune it.
## Wiki location
- Wiki root: `wiki/`
- Raw sources: `raw/`
- Asset/image storage: `raw/assets/`
## Page types
This wiki uses these page types, each with a dedicated subdirectory:
- `source` (in `wiki/sources/`) — one summary page per ingested source.
- `entity` (in `wiki/entities/`) — pages about specific things: people, papers, products, places, organizations.
- `concept` (in `wiki/concepts/`) — pages about ideas, methods, frameworks, abstractions.
- `synthesis` (in `wiki/synthesis/`) — cross-cutting analyses, comparisons, query answers filed back.
Add additional types here as the wiki evolves.
## Tag taxonomy
(Empty initially. Add tags here as you adopt them, with one-line descriptions. Keep this list small and disciplined — a wiki with 200 tags has effectively no tags.)
Example structure:
- `methodology` — pages about research or analytical methods.
- `open-question` — pages or sections that flag unresolved questions.
- `contested` — pages where sources contradict.
## Page sizing
- Soft cap: 400 lines / ~2,000 words. Consider splitting beyond this.
- Hard cap: 800 lines. Must split.
## Frontmatter requirements
Every page must have:
- `type`
- `title`
- `tags`
- `created`
- `updated`
Plus type-specific:
- `source` pages: `authors`, `url` (if applicable), `raw`, `ingested`
- Non-source pages: `sources` listing the source-summary pages drawn from
## Optional graph metadata
Pages may declare typed graph metadata under a top-level `graph:` key. This is the source of truth for the compiled knowledge graph under `wiki/graph/`. Markdown remains canonical; the graph is a regenerable index. Pages without `graph:` still appear as nodes (derived from `type`/`kind`) and still contribute `mentions` edges from body `[[wikilinks]]`.
```yaml
graph:
node_id: person:praney-behl # optional; default <node_type>:<slug>
node_type: person # optional; default mapped from type/kind via ontology
canonical: true # mark as canonical when multiple slugs alias the same entity
aliases: [Praney, praney@example.com]
relationships:
- predicate: founded
object: company:seedblocks
source: praney-founder-context-dump # source-page slug
evidence: "Solo technical founder and sole director..."
confidence: high # high | medium | low
status: current # current | historical | proposed | disputed | superseded
# optional:
# valid_from: 2025-01-15
# valid_to: 2026-03-01
# notes: "..."
# raw_ref: "raw/founder-dump.md#L42"
# contradicts: edge-id-or-source-slug
# supersedes: edge-id-or-source-slug
```
Required fields on every relationship: `predicate`, `object`, `source`, `evidence`, `confidence`, `status`. Predicates and the subject/object types they accept are declared in `wiki/graph/ontology.yaml`. Typed semantic edges must be supported by an explicit source — never emit one inferred from training data alone.
## Index structure
(Update this section when sharding.)
Currently flat: a single `wiki/index.md` listing all pages.
When the wiki passes ~150 pages or `index.md` exceeds 300 lines, shard into `wiki/indexes/<type>.md` and update this section.
## Graph layer
The wiki has an optional compiled graph layer under `wiki/graph/`:
- `wiki/graph/ontology.yaml` — declares node types and predicates. **Tracked.** Edit this when you introduce new predicates or domain types.
- `wiki/graph/nodes.jsonl`, `wiki/graph/edges.jsonl` — generated. Track in git only if you want graph diffs in PRs.
- `wiki/graph/graph.sqlite` — generated. Gitignored by default.
- `wiki/graph/graph.graphml` — generated. Track only if you want to diff it.
Generation is reproducible from markdown via `scripts/wiki_graph_extract.py`. The graph can be deleted at any time and rebuilt without losing knowledge — markdown is canonical.
## Workflow customizations
### Paywalled sources
Sites like `medium.com` (member-only stories) often return only a preview when fetched. When a source is paywalled:
1. **Capture what's available.** Fetch the URL, extract whatever preview/abstract is accessible, and write it into `cml/raw/<slug>.md` with a `🔒 paywall` marker and the original URL.
2. **Never fabricate.** Do not infer or hallucinate content behind the paywall. If only the title and first paragraph came through, that's all the source page gets.
3. **Flag in source page frontmatter.** Add `paywall: true` to the frontmatter of the corresponding `wiki/sources/<slug>.md` page so future queries know the coverage is partial.
4. **Compile normally.** A paywalled source still gets a source-summary page — just with limited content. The wiki should reflect what we actually have, not what we wish we had.
5. **Known paywall domains** (non-exhaustive): `medium.com`, `substack.com` (paid posts), `ft.com`, `wsj.com`, `nytimes.com` (soft paywall), `bloomberg.com`. When fetching from these, expect partial content and handle accordingly.
## User preferences
(Empty initially. As the user expresses style preferences — "always include a 'Why this matters' section on concept pages", "never use bullet lists in summaries", "prefer comparative tables for synthesis pages" — capture them here so they persist across sessions.)
## Lint cadence
- Structural lint: after every 5 ingests.
- Semantic lint: weekly or after every 20 ingests.
- Gap-finding: monthly.
- Graph lint + extract: after every ingest that adds typed `graph.relationships`.
Adjust based on the wiki's growth rate.

View File

@@ -0,0 +1,43 @@
---
type: concept
title: "Coding agent setup"
tags: [coding-agent, setup, configuration, workflow]
sources: [claude-code-local-cloud-models, claude-code-ollama-workflow, claude-code-openrouter-beast-mode]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: concept:coding-agent-setup
canonical: true
relationships:
- predicate: depends_on
object: concept:coding-agent
source: claude-code-local-cloud-models
evidence: "Setup je krok před použitím coding agenta"
confidence: high
status: current
---
# Coding agent setup
Koncept konfigurace a nastavení coding agentů pro praktické použití. Zahrnuje volbu modelu, API endpointu, nákladovou optimalizaci a workflow.
## Klíčové aspekty
- **Volba modelu** — lokální (Ollama) vs. cloud (OpenRouter, nativní API)
- **Konfigurace** — `.claude/settings.json`, env vars (`ANTHROPIC_MODEL`, `OPENAI_API_BASE`, `OPENAI_API_KEY`)
- **Nákladová optimalizace** — OpenRouter pro beast mode, Ollama pro zdarma
- **Workflow** — jak efektivně pracovat s agentem v terminálu
## Konfigurace Claude Code
1. **Ollama**: `OPENAI_API_BASE=http://localhost:11434/v1`, `OPENAI_API_KEY=ollama`
2. **OpenRouter**: `OPENAI_API_BASE=https://openrouter.ai/api/v1`, `OPENAI_API_KEY=<klíč>`
3. **Nativní API**: defaultní konfigurace, `ANTHROPIC_API_KEY`
## Související
- [[product-claude-code]] — hlavní coding agent
- [[product-ollama]] — lokální inference
- [[product-openrouter]] — cloud proxy
- [[local-vs-cloud-models]] — trade-offy
- [[cost-optimization]] — optimalizace nákladů

View File

@@ -0,0 +1,57 @@
---
type: concept
title: "Coding agent"
tags: [coding-agent, llm, tool-design, agent-architecture]
sources: [pi-coding-agent-mario-zechner, pi-dev-terminal-limitation, claude-code-local-cloud-models, claude-code-ollama-workflow, claude-code-openrouter-beast-mode, claude-code-goal-command]
created: 2026-06-16
updated: 2026-06-22
graph:
node_id: concept:coding-agent
canonical: true
relationships:
- predicate: depends_on
object: concept:llm
source: pi-coding-agent-mario-zechner
evidence: "Coding agenti využívají LLM jako jádro"
confidence: high
status: current
---
# Coding agent
Software nástroj, který využívá LLM k autonomnímu nebo poloautonomnímu psaní, úpravě a správě kódu. Typicky nabízí schopnosti jako čtení/zápis souborů, spouštění příkazů, vyhledávání v codebase a správu kontextu.
## Běžné problémy (podle Maria Zechnera)
- **Feature bloat** — agenti nabírají funkce, které nejsou potřeba a přidávají skrytou kontextovou injekci.
- **Skryté chování** — vendoři mění system prompty a kontext bez transparentnosti.
- **Špatná pozorovatelnost** — těžké vidět, co agent dělá a kolik stojí.
- **Chybějící rozšiřitelnost** — power user nemůže přidat vlastní nástroje bez forku.
- **Approval fatigue** — buď plná autonomie, nebo approval pro každou akci.
- **Špatná správa kontextu** — session compaction ztrácí důležitý kontext.
## Příklady
- [[product-pi]] — minimalistický agent (4 nástroje, tree-structured sessions)
- Claude Code, OpenCode, Codex CLI, AMP, Cline — zmínění konkurenti
## Modely a konfigurace
- [[local-vs-cloud-models]] — trade-offy mezi lokálními a cloud modely
- [[coding-agent-setup]] — konfigurace a nastavení
- [[cost-optimization]] — optimalizace nákladů na API
## Související
- [[tree-structured-sessions]] — Piův přístup ke správě kontextu
- [[terminal-limitation]] — společná limitace terminal-only agentů
- [[pi-coding-agent-mario-zechner]] — zdroj (talk)
- [[pi-dev-terminal-limitation]] — zdroj (poznámka o terminálové limitaci)
- [[claude-code-local-cloud-models]] — zdroj (Ollama/OpenRouter/llama.cpp setup)
- [[claude-code-ollama-workflow]] — zdroj (Ollama workflow návod)
- [[claude-code-openrouter-beast-mode]] — zdroj (OpenRouter beast mode)
- [[claude-code-goal-command]] — zdroj (/goal příkaz dokumentace)
## Autonomní běh
- [[goal-driven-agent-loop]] — koncept autonomního agenta s verifikovatelnou koncovou podmínkou

View File

@@ -0,0 +1,42 @@
---
type: concept
title: "Cost optimization"
tags: [llm, cost, api, coding-agent]
sources: [claude-code-openrouter-beast-mode]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: concept:cost-optimization
canonical: true
relationships:
- predicate: depends_on
object: concept:coding-agent
source: claude-code-openrouter-beast-mode
evidence: "Cost optimization je relevantní v kontextu coding agentů"
confidence: medium
status: current
---
# Cost optimization
Koncept optimalizace nákladů na LLM API při používání coding agentů. Klíčové pro dlouhodobě udržitelné používání.
## Strategie
- **OpenRouter proxy** — přístup k modelům za zlomek ceny nativního API
- **Lokální modely** — nulové API náklady, ale nižší kvalita
- **Model switching** — použití levnějších modelů pro jednoduché úkoly, výkonných pro komplexní
- **Beast mode** — cílené použití nejvýkonnějších modelů přes nízkonákladový proxy
## Praktické poznatky
- OpenRouter ceny jsou výrazně nižší než přímé API přístupy
- Lokální modely (3B8B) jsou zdarma, ale kvalita stačí jen pro jednoduché úkoly
- Hybridní přístup (lokální pro rutinu, cloud pro komplexní úkoly) je nejefektivnější
## Související
- [[product-openrouter]] — klíčový nástroj pro cost optimization
- [[product-ollama]] — lokální alternativa
- [[local-vs-cloud-models]] — trade-offy
- [[coding-agent-setup]] — konfigurace

View File

@@ -0,0 +1,29 @@
---
type: concept
title: "E-waste reduction"
tags: [e-waste, sustainability, longevity, hardware]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: concept-e-waste-reduction
canonical: true
edges:
- predicate: improves_on
object: concept-software-preservation
---
# E-waste reduction
Koncept prodloužení životnosti elektronických produktů — snižování množství e-waste tím, že hardware zůstává funkční i po ukončení oficiální softwarové podpory.
## Příklad: LEGO Mindstorms
Stovky tisíc až miliony sad Mindstorms po celém světě by se bez softwarové alternativy staly e-waste. [[product-pybricks]] tento trend obrací — open-source firmware dává EV3 brickům nový život s moderním programováním a okamžitým bootem.
Pybricks argumentuje, že technologie LEGO robotiky se za 20 let fundamentálně nezměnila — všechny sady mají smart hub, motory, senzory. Rozdíl je v softwarové zkušenosti, kterou lze obnovit.
## Odkazy
- [[source-lego-mindstorms-continued-use]] — zdroj o Mindstorms a Pybricks
- [[concept-software-preservation]] — softwarová stránka zachování produktů

View File

@@ -0,0 +1,38 @@
---
type: concept
title: "Goal-driven agent loop"
tags: [coding-agent, agent-loop, evaluation, autonomy, goal]
sources: [source-claude-code-goal-command]
created: 2026-06-22
updated: 2026-06-22
graph:
node_id: concept-goal-driven-agent-loop
canonical: true
---
# Goal-driven agent loop
Koncept autonomního agenta, který pracuje dokud není splněna verifikovatelná koncová podmínka. Po každém turnu nezávislý evaluátor (menší model) posoudí, zda cíl byl dosažen.
## Klíčové vlastnosti
- **Verifikovatelná podmínka** — cíl musí být měřitelný z výstupu agenta (test result, build exit code, file count)
- **Separátní evaluátor** — jiný model než agent sám posuzuje dokončení, čímž se eliminuje konflikt zájmů
- **Autonomní iterace** — agent pokračuje bez dalšího promptu uživatele, evaluátor poskytuje guidance pro další turn
- **Omezení běhu** — turn/time klauzule (např. "or stop after 20 turns") brání nekonečnému běhu
## Implementace v [[product-claude-code]]
Claude Code `/goal` příkaz: podmínka až 4000 znaků, evaluátor defaultně Haiku, funguje v interaktivním i non-interactive režimu. Komplementární s auto mode (schvaluje tool calls) — dohromady umožňují plně autonomní běh.
## Porovnání s jinými přístupy
- **`/loop`** — časový interval místo podmínky; vhodné pro opakující se úlohy
- **Stop hook** — vlastní skript/prompt pro evaluaci; flexibilnější ale složitější
- **Auto mode** — schvaluje tool calls v rámci turnu, ale nezačíná další turn
## Související
- [[source-claude-code-goal-command]] — zdroj (oficiální dokumentace)
- [[product-claude-code]] — implementace /goal příkazu
- [[coding-agent]] — obecný koncept

View File

@@ -0,0 +1,48 @@
---
type: concept
title: "Local vs. cloud models"
tags: [llm, local-models, cloud-models, cost, privacy]
sources: [claude-code-local-cloud-models, claude-code-ollama-workflow, claude-code-openrouter-beast-mode]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: concept:local-vs-cloud-models
canonical: true
relationships:
- predicate: depends_on
object: concept:coding-agent
source: claude-code-local-cloud-models
evidence: "Lokální vs. cloud modely jsou relevantní primárně v kontextu coding agentů"
confidence: medium
status: current
---
# Local vs. cloud models
Koncept volby mezi lokální inference (Ollama, llama.cpp) a cloud API (OpenRouter, nativní API) pro běh LLM modelů, zejména v kontextu coding agentů.
## Trade-offy
| Aspekt | Lokální (Ollama) | Cloud (OpenRouter) |
|--------|-------------------|-------------------|
| Náklady | Nulové (vlastní HW) | Pay-per-token |
| Soukromí | Plné | Omezené |
| Kvalita | Nižší (menší modely) | Vyšší (nejlepší modely) |
| Latence | Nízká (lokální) | Vyšší (síť) |
| Dostupnost | Závislá na HW | Vždy dostupné |
| Flexibilita | Omezená na lokální modely | Široký výběr |
## Praktické poznatky
- Pro jednoduché úkoly stačí lokální modely (3B8B parametrů)
- Pro komplexní úkoly je cloud s výkonnými modely nezbytný
- OpenRouter umožňuje hybridní přístup — snadné přepínání mezi lokálními a cloud modely
- Beast mode = cloud s nejvýkonnějšími modely za nízkonákladový proxy
## Související
- [[product-ollama]] — lokální inference server
- [[product-openrouter]] — cloud proxy
- [[product-claude-code]] — coding agent podporující oba přístupy
- [[coding-agent-setup]] — koncept nastavení coding agentů
- [[cost-optimization]] — optimalizace nákladů

View File

@@ -0,0 +1,23 @@
---
type: concept
title: "MicroPython"
tags: [python, firmware, embedded, robotics]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: concept-micropython
canonical: true
---
# MicroPython
Lehká implementace Pythonu 3 optimalizovaná pro mikrokontroléry a embedded zařízení. Používá [[product-pybricks]] jako programovací jazyk pro LEGO robotiku — nahrazuje proprietární LEGO software otevřenou alternativou s plnohodnotným Python API.
## V kontextu LEGO robotiky
Pybricks běží MicroPython přímo na LEGO hubech (EV3, Robot Inventor, SPIKE Prime). Uživatelé píší standardní Python kód, který se spouští na bricku v reálném čase — žádná závislost na cloudových službách nebo proprietárních aplikacích.
## Odkazy
- [[product-pybricks]] — implementace MicroPython pro LEGO huby

View File

@@ -0,0 +1,33 @@
---
type: concept
title: "Software preservation"
tags: [preservation, software, e-waste, longevity]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: concept-software-preservation
canonical: true
edges:
- predicate: improves_on
object: concept-e-waste-reduction
---
# Software preservation
Koncept zachování softwaru a jeho funkčnosti po ukončení oficiální podpory. Kritický pro produkty, které závisí na aplikacích nebo serverech — bez softwaru se hardware stává e-waste.
## Problém
Jakýkoli gadget vyžadující počítač nebo telefon se rychle stává zastaralým, když původní aplikace přestanou fungovat na nových zařízeních. To platí i pro elektronické LEGO — Mindstorms aplikace mizí z app store a in-app content (tutoriály, build instrukce) je uložen v privátním app storage, který nelze zálohovat bez root přístupu.
## Řešení
- **Archivace instalátorů i app dat** — samotný APK/exe nestačí, potřebné jsou i in-app resources
- **Komunitní firmware** — [[product-pybricks]] nahrazuje oficiální aplikace open-source alternativou
- **Root přístup** — na Androidu nutný pro obnovu privátních app dat (blog robotmak3rs.com dokumentuje postupy)
## Odkazy
- [[source-lego-mindstorms-continued-use]] — případová studie Mindstorms
- [[concept-e-waste-reduction]] — širší kontext snižování e-waste

View File

@@ -0,0 +1,44 @@
---
type: concept
title: "Terminal limitation"
tags: [coding-agent, terminal, ide, ux, limitation]
sources: [pi-dev-terminal-limitation]
created: 2026-06-16
updated: 2026-06-16
graph:
node_id: concept:terminal-limitation
canonical: true
relationships:
- predicate: depends_on
object: concept:coding-agent
source: pi-dev-terminal-limitation
evidence: "Terminal limitation je problém specifický pro coding agenty"
confidence: high
status: current
---
# Terminal limitation
Koncept omezení coding agentů, kteří fungují pouze v terminálovém prostředí (terminal-only), bez plnohodnotné IDE integrace.
## Problém
Terminal-only přístup u coding agentů:
- **Ztrácí výhodné vlastnosti** — bez IDE chybí vizuální kontext, navigace v kódu, integrace s debuggerem atd.
- **Omezuje UX a produktivitu** — terminál není dostatečný pro komplexní interakci s kódem.
- **Je společný pro více agentů** — např. [[product-pi|Pi]] i OpenCode sdílejí tuto limitaci.
## Srovnání
| Aspekt | Terminal-only | IDE integrovaný |
|--------|--------------|-----------------|
| Vizuální kontext | Omezený | Plný |
| Navigace v kódu | Textová | Grafická |
| Debugging | Omezený | Plný |
| Rozšiřitelnost UI | Minimální | Plná |
## Související
- [[product-pi]] — Pi coding agent (terminal-only)
- [[coding-agent]] — obecný koncept
- [[pi-dev-terminal-limitation]] — zdroj (poznámka)

View File

@@ -0,0 +1,41 @@
---
type: concept
title: "Tree-structured sessions"
tags: [coding-agent, agent-architecture, context-management]
sources: [pi-coding-agent-mario-zechner]
created: 2026-06-16
updated: 2026-06-16
graph:
node_id: concept:tree-structured-sessions
relationships:
- predicate: depends_on
object: concept:coding-agent
source: pi-coding-agent-mario-zechner
evidence: "Tree-structured sessions jsou designový vzor pro coding agenty"
confidence: high
status: current
---
# Tree-structured sessions
Designový vzor pro správu kontextu v coding agentech, zavedený v [[product-pi|Pi]]. Místo lineární chat historie (kde se kontext komprimuje a ztrácí) se session větví jako strom — sub-agenti mohou nezávisle číst soubory a pracovat, přičemž zachovávají lineage a kontext rodičovské session.
## Problém, který řeší
Lineární chat historie v coding agentech vede k:
- Ztrátě důležitého kontextu při compaction
- Nemožnosti paralelně zkoumat různé větve řešení
- Nepružnému řízení — buď vše v jedné session, nebo nová session od nuly
## Princip
- Session je strom (tree), ne seznam (list).
- Sub-agent se může odvětvit od libovolného bodu v konverzaci.
- Každý uzel má přístup k souborům a může číst nezávisle.
- Lineage (původ) je zachována — lze sledovat, odkud sub-agent vznikl.
## Související
- [[coding-agent]] — obecný koncept
- [[product-pi]] — agent, který tento vzor implementuje
- [[pi-coding-agent-mario-zechner]] — zdroj (talk)

View File

@@ -0,0 +1,29 @@
---
type: entity
kind: person
title: "Mario Zechner"
tags: [person, developer, coding-agent, game-dev]
sources: [pi-coding-agent-mario-zechner]
created: 2026-06-16
updated: 2026-06-16
graph:
node_id: person:mario-zechner
canonical: true
relationships:
- predicate: works_on
object: product:pi
source: pi-coding-agent-mario-zechner
evidence: "Mario Zechner je tvůrce Pi coding agenta"
confidence: high
status: current
---
# Mario Zechner
Mario Zechner (aka badlogic) je vývojář a tvůrce Pi coding agenta. Je také autorem libGDX, populárního Java frameworku pro vývoj her.
## Související
- [[product-pi]] — coding agent, který vytvořil
- [[coding-agent]] — obecný koncept
- [[pi-coding-agent-mario-zechner]] — zdroj (talk)

View File

@@ -0,0 +1,42 @@
---
type: entity
kind: product
title: "Claude Code"
tags: [coding-agent, llm, tool, anthropic]
sources: [pi-coding-agent-mario-zechner, claude-code-local-cloud-models, claude-code-ollama-workflow, claude-code-openrouter-beast-mode, claude-code-goal-command]
created: 2026-06-17
updated: 2026-06-22
graph:
node_id: product:claude-code
canonical: true
---
# Claude Code
Coding agent od Anthropic, běžící v terminálu. Podporuje lokální modely (Ollama, llama.cpp) i cloud proxy (OpenRouter) pro cost optimization. Nabízí `/goal` příkaz pro autonomní práci s verifikovatelnou koncovou podmínkou.
## Klíčové funkce
- **`/goal` příkaz** — nastaví verifikovatelnou koncovou podmínku, agent pracuje autonomně dokud není splněna; evaluátor (defaultně Haiku) posuzuje dokončení po každém turnu
- **Auto mode** — automatické schvalování tool calls v rámci turnu
- **`/loop`** — opakované spouštění promptu v časovém intervalu
- **Non-interactive** — běh s `-p` flagou, desktop app, Remote Control
## Konfigurace modelů
- **Ollama** — lokální inference, nulové náklady, `OPENAI_API_BASE=http://localhost:11434/v1`
- **OpenRouter** — cloud proxy, pay-per-token, beast mode, `OPENAI_API_BASE=https://openrouter.ai/api/v1`
- **Nativní API** — defaultní, nejvyšší kvalita, nejvyšší náklady
## Související
- [[product-pi]] — konkurenční coding agent
- [[product-ollama]] — lokální inference server
- [[product-openrouter]] — cloud proxy
- [[product-cline]] — konkurenční VS Code agent
- [[coding-agent]] — obecný koncept
- [[local-vs-cloud-models]] — trade-offy
- [[coding-agent-setup]] — konfigurace
- [[cost-optimization]] — optimalizace nákladů
- [[goal-driven-agent-loop]] — koncept autonomního agenta s koncovou podmínkou
- [[claude-code-goal-command]] — zdroj (/goal dokumentace)

View File

@@ -0,0 +1,40 @@
---
type: entity
kind: product
title: "Cline"
tags: [coding-agent, llm, tool, vscode-extension]
sources: [claude-code-openrouter-beast-mode]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: product:cline
canonical: true
relationships:
- predicate: competes_with
object: product:claude-code
source: claude-code-openrouter-beast-mode
evidence: "Autor srovnává Claude Code s Cline — 'like Cline' v titulku článku"
confidence: medium
status: current
---
# Cline
VS Code rozšíření fungující jako coding agent. Podobný koncept jako Claude Code, ale integrovaný přímo do IDE (VS Code).
## Klíčové vlastnosti
- **VS Code integrace** — běží přímo v editoru, ne v terminálu
- **Multi-model** — podporuje různé LLM backendy přes API
- **Autonomní akce** — čte, píše a spouští kód v kontextu projektu
## Srovnání s Claude Code
- Cline = IDE integrovaný, Claude Code = terminálový
- Cline má vizuální kontext editoru, Claude Code má větší flexibilitu modelů
- Oba podporují OpenRouter pro cost optimization
## Související
- [[product-claude-code]] — konkurenční coding agent
- [[source-claude-code-openrouter-beast-mode]] — zdroj srovnání

View File

@@ -0,0 +1,43 @@
---
type: entity
title: "LEGO Mindstorms"
kind: product
tags: [lego, mindstorms, robotics, education, discontinued]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: product-lego-mindstorms
canonical: true
edges:
- predicate: competes_with
object: product-spike-prime
- predicate: extended_by
object: product-pybricks
---
# LEGO Mindstorms
Sada robotických stavebnic od LEGO, oficiálně ukončená v říjnu 2022. Existuje ve verzích RCX (1998), NXT (2006), EV3 (2013) a Robot Inventor (2020). Celkem prodáno stovky tisíc až miliony sad po celém světě.
## Ukončení a důsledky
LEGO Group přesunul zdroje na SPIKE Prime a další produkty LEGO Education. Robot Inventor app měl zůstat dostupný do konce 2024, ale postupně přestává fungovat na novějších zařízeních. Oficiální aplikace mizí z app store.
Problém: elektronické LEGO má mnohem kratší životnost než klasické cihly, protože závisí na softwaru. Mnoho škol a FLL týmů stále závisí na EV3 — asi 60 % týmů v roce 2023.
## Nadále použitelné s [[product-pybricks]]
Pybricks nahrazuje oficiální aplikace a umožňuje nadále používat Mindstorms hardware moderním způsobem — sjednocuje programování napříč všemi generacemi.
## Hardware kompatibilita
- Motory a senzory jsou cross-kompatibilní mezi Mindstorms a SPIKE Prime
- Robot Inventor hub má stejný tvar jako SPIKE hub, ale SPIKE3 firmware na něj nejde nainstalovat
- EV3 brick s Pybricks bootuje okamžitě (místo desítek sekund s původním Linuxem)
## Odkazy
- [[source-lego-mindstorms-continued-use]] — zdroj o pokračování používání po ukončení
- [[product-pybricks]] — open-source firmware alternativa
- [[product-spike-prime]] — nástupce od LEGO Education

View File

@@ -0,0 +1,43 @@
---
type: entity
kind: product
title: "Ollama"
tags: [llm, inference, local-models, open-source]
sources: [claude-code-local-cloud-models, claude-code-ollama-workflow]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: product:ollama
canonical: true
relationships:
- predicate: competes_with
object: product:openrouter
source: claude-code-local-cloud-models
evidence: "Ollama a OpenRouter jsou alternativní způsoby připojení modelů k Claude Code"
confidence: medium
status: current
---
# Ollama
Lokální inference server pro běh LLM modelů. Podporuje širokou škálu modelů (Llama, Qwen, Mistral, Gemma aj.) a poskytuje OpenAI-compatible API endpoint.
## Klíčové vlastnosti
- **Lokální běh** — modely běží na vlastním hardware, žádné API náklady
- **OpenAI-compatible API** — snadné připojení z Claude Code a dalších nástrojů
- **Model management** — `ollama pull`, `ollama list`, `ollama run`
- **Široká podpora modelů** — Llama, Qwen, Mistral, Gemma, Phi a další
## Použití s Claude Code
- Nastav `OPENAI_API_BASE=http://localhost:11434/v1` a `OPENAI_API_KEY=ollama`
- Vyber model v `.claude/settings.json` nebo přes env var `ANTHROPIC_MODEL`
- Výhoda: nulové náklady, soukromí. Nevýhoda: nižší kvalita než cloud modely.
## Související
- [[product-claude-code]] — coding agent, který se připojuje k Ollama
- [[product-openrouter]] — cloud alternativa
- [[source-claude-code-local-cloud-models]] — přehledový článek
- [[source-claude-code-ollama-workflow]] — Ollama workflow návod

View File

@@ -0,0 +1,43 @@
---
type: entity
kind: product
title: "OpenRouter"
tags: [llm, api-proxy, cloud-models, cost-optimization]
sources: [claude-code-local-cloud-models, claude-code-openrouter-beast-mode]
created: 2026-06-18
updated: 2026-06-18
graph:
node_id: product:openrouter
canonical: true
relationships:
- predicate: competes_with
object: product:ollama
source: claude-code-local-cloud-models
evidence: "OpenRouter a Ollama jsou alternativní způsoby připojení modelů k Claude Code"
confidence: medium
status: current
---
# OpenRouter
Cloudový API proxy poskytující přístup k mnoha LLM modelům přes jednotné API. Umožňuje snadné přepínání mezi modely bez změny kódu.
## Klíčové vlastnosti
- **Jednotné API** — jeden endpoint pro Claude, GPT-4, Gemini, Mistral, Qwen a další
- **Pay-per-token** — platíš jen za spotřebované tokeny, žádné měsíční poplatky
- **Model switching** — snadné přepínání modelů v konfiguraci
- **Beast mode** — přístup k nejvýkonnějším modelům za zlomek ceny nativního API
## Použití s Claude Code
- Nastav `OPENAI_API_BASE=https://openrouter.ai/api/v1` a `OPENAI_API_KEY=<klíč>`
- Vyber model přes `model` v settings
- Výhoda: nízké náklady, široký výběr modelů. Nevýhoda: vyšší latence, rate limity.
## Související
- [[product-claude-code]] — coding agent, který se připojuje přes OpenRouter
- [[product-ollama]] — lokální alternativa
- [[source-claude-code-local-cloud-models]] — přehledový článek
- [[source-claude-code-openrouter-beast-mode]] — beast mode návod

View File

@@ -0,0 +1,49 @@
---
type: entity
kind: product
title: "Pi (coding agent)"
tags: [coding-agent, llm, tool, open-source]
sources: [pi-coding-agent-mario-zechner, pi-dev-terminal-limitation]
created: 2026-06-16
updated: 2026-06-16
graph:
node_id: product:pi
canonical: true
relationships:
- predicate: competes_with
object: product:claude-code
source: pi-coding-agent-mario-zechner
evidence: "Mario byl frustrován Claude Code a dalšími agenty"
confidence: medium
status: current
---
# Pi (coding agent)
Pi je minimalistický coding agent vytvořený Mariem Zechnerem (badlogic). Součást ekosystému OpenClaw.
## Design
- **4 nástroje**: read file, write file, edit file, bash — minimální jádro.
- **Malý system prompt** — frontier modely nepotřebují masivní prompty.
- **[[tree-structured-sessions]]** — větvení místo lineární historie; sub-agenti se mohou větvit a číst soubory nezávisle.
- **Full cost tracking** — vestavěný.
- **Hot-reloadable TypeScript extensions** — vlastní nástroje, UI, multi-agent setupy bez forku.
- **Žádná skrytá kontextová injekce** — transparentní.
- **Terminal-only** — limitace na terminálové prostředí bez IDE integrace; viz [[terminal-limitation]].
## Výkon
Na TerminalBench dosáhlo Pi (s Claude Opus 4.5) blízko Terminus i před pokročilými optimalizacemi.
## Odkazy
- Web: https://pi.dev/
- GitHub: https://github.com/earendil-works/pi
## Související
- [[person-mario-zechner]] — tvůrce
- [[coding-agent]] — obecný koncept
- [[pi-coding-agent-mario-zechner]] — zdroj (talk)
- [[pi-dev-terminal-limitation]] — zdroj (poznámka o terminálové limitaci)

View File

@@ -0,0 +1,49 @@
---
type: entity
title: "Pybricks"
kind: product
tags: [lego, mindstorms, firmware, open-source, robotics, python]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: product-pybricks
canonical: true
edges:
- predicate: competes_with
object: product-spike-prime
- predicate: improves_on
object: concept-lego-mindstorms
- predicate: depends_on
object: concept-micropython
---
# Pybricks
Open-source firmware a vývojové prostředí pro LEGO robotiku — nahrazuje oficiální LEGO aplikace stabilnějším a lepším API. Podporuje všechny generace Mindstorms (NXT, EV3, Robot Inventor), SPIKE Prime, SPIKE Essential, BOOST, Powered Up a další LEGO huby.
## Klíčové vlastnosti
- **MicroPython + blokové programování** v prohlížeči — žádné instalace
- **Okamžitý boot** — na rozdíl od původního EV3 Linuxu (desítky sekund)
- **Univerzální API** napříč všemi LEGO huby
- **Bezplatný firmware**, volitelné placené doplňky (blokové programování)
- **Konverze bloků → Python** — na rozdíl od LEGO aplikace
- Běží na Chromeboocích, nepotřebuje instalaci
## Stav projektu EV3 (prosinec 2025)
Pybricks pro EV3 je v aktivním vývoji. Dosud implementováno: instant power on/off, MicroPython firmware bez microSD karty, program storage, download přes Pybricksdev, všechny EV3 motory a senzory, NXT senzory na EV3, custom UART/I2C/analog zařízení. Zbývá: USB/Bluetooth konektivita, browser-based firmware instalace.
## Vztah k [[product-lego-mindstorms]]
Pybricks je hlavní komunitní alternativa k ukončenému Mindstorms softwaru. Umožňuje nadále používat Mindstorms hardware moderním způsobem — sjednocuje programování napříč generacemi a eliminuje závislost na oficiálních aplikacích, které mizí z app store.
## Vztah k [[product-spike-prime]]
SPIKE3 firmware nelze nainstalovat na Mindstorms hub. Pybricks naopak funguje na obou — je to univerzální alternativa, která sjednocuje ekosystém LEGO robotiky.
## Odkazy
- [[source-lego-mindstorms-continued-use]] — zdroj o pokračování používání Mindstorms po ukončení
- [[concept-software-preservation]] — obecný koncept zachování softwaru

View File

@@ -0,0 +1,33 @@
---
type: entity
title: "SPIKE Prime"
kind: product
tags: [lego, spike, education, robotics]
sources: [source-lego-mindstorms-continued-use]
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: product-spike-prime
canonical: true
edges:
- predicate: competes_with
object: product-lego-mindstorms
- predicate: extended_by
object: product-pybricks
---
# SPIKE Prime
Robotická vzdělávací sada od LEGO Education — oficiální nástupce [[product-lego-mindstorms]]. LEGO přesunulo zdroje z Mindstorms na SPIKE Prime po ukončení Mindstorms v říjnu 2022.
## Vztah k Mindstorms
- SPIKE Prime hub má stejný tvar jako Mindstorms Robot Inventor hub
- SPIKE2 firmware fungoval na Mindstorms hubu, ale SPIKE3 už ne — chyba při připojení
- Motory a senzory jsou cross-kompatibilní
- [[product-pybricks]] funguje na obou platformách a sjednocuje ekosystém
## Odkazy
- [[source-lego-mindstorms-continued-use]] — zdroj o ukončení Mindstorms a alternativách
- [[product-pybricks]] — univerzální alternativa pro obě platformy

2
cml/wiki/graph/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
graph.sqlite
graph.graphml

32
cml/wiki/graph/README.md Normal file
View File

@@ -0,0 +1,32 @@
# Wiki Graph Layer
This directory holds the compiled knowledge graph derived from the markdown
wiki. **Markdown is canonical.** Everything here can be deleted and rebuilt
without losing knowledge:
```bash
python scripts/wiki_graph_extract.py wiki/ --out wiki/graph
```
## Files
| File | Purpose | Tracking |
|------|---------|----------|
| `ontology.yaml` | Declares node types and predicates the graph recognises. The contract `wiki_graph_lint.py` validates against. | **Tracked. Edit by hand.** |
| `nodes.jsonl` | One JSON object per node, sorted by id. | Generated. Track if you want graph diffs in PRs; otherwise gitignore. |
| `edges.jsonl` | One JSON object per edge, sorted by id. Includes typed semantic edges, `mentions`, `sourced_from`, and `summarizes_raw`. | Generated. Same trade-off as `nodes.jsonl`. |
| `graph.sqlite` | Queryable index used by `wiki_graph_query.py`. Schema: `nodes`, `aliases`, `edges`. | Generated. **Gitignored** — rebuild on demand. |
| `graph.graphml` | GraphML export for tools like Gephi or yEd. | Generated. Gitignored by default. |
## Workflow
1. Author or edit a wiki page. Add typed `graph.relationships` only when an explicit source supports them.
2. Run `python scripts/wiki_graph_lint.py wiki/` — catches unknown predicates, broken object references, missing evidence, alias collisions.
3. Run `python scripts/wiki_graph_extract.py wiki/ --out wiki/graph` — regenerates the artifacts above.
4. Query with `python scripts/wiki_graph_query.py wiki/ neighbors --node product:konvy` (or `edges`, `path`, `facts`).
## Anti-patterns
- **Hand-editing `nodes.jsonl` / `edges.jsonl` / `graph.sqlite`.** Edit the markdown; regenerate.
- **Treating graph rows as evidence.** They accelerate navigation. For high-stakes claims, follow the edge's `source` and `evidence` fields back to the wiki page and the raw source.
- **Adding typed edges the source doesn't support.** Use a normal `[[wikilink]]` instead — the `mentions` edge captures the connection without overclaiming.

148
cml/wiki/graph/edges.jsonl Normal file
View File

@@ -0,0 +1,148 @@
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "005b7b4456e37a361b1b4806", "object": "source:claude-code-openrouter-beast-mode", "page": "concepts/coding-agent-setup.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "02295972088c9f5c8e30b3a8", "object": "source:claude-code-openrouter-beast-mode", "page": "entities/product-claude-code.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "Článek testuje nový Ollama workflow v Claude Code", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "03072619e5187b95b6ea91f5", "object": "product:claude-code", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "claude-code-ollama-workflow", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "0473b080e02853af2e5d89c0", "object": "source:claude-code-ollama-workflow", "page": "entities/product-ollama.md", "predicate": "sourced_from", "source": "claude-code-ollama-workflow", "status": "current", "subject": "product:ollama"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "08037ca34f81ca2ac93364f8", "object": "concept:coding-agent", "page": "concepts/terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "09031c5b37673cdcf3f3bc1e", "object": "concept:local-vs-cloud-models", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "09ba44d58a77188279ed87f3", "object": "concept:local-vs-cloud-models", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "124b065e1f070573c072f0ee", "object": "product:ollama", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "12db9977d67a261ecacec3af", "object": "product:ollama", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "135e60cb41acf2f7be01a1f7", "object": "product-pybricks", "page": "concepts/micropython.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept-micropython"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "13aa325a2d4c93894e4b92cd", "object": "product:pi", "page": "sources/pi-coding-agent-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "14d0badac17898a4cbddc9c2", "object": "source:pi-coding-agent", "page": "concepts/tree-structured-sessions.md", "predicate": "sourced_from", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "concept:tree-structured-sessions"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "159a0776ce947905f7c1f90b", "object": "product:claude-code", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "18d439bccd8f98e6ad73391d", "object": "product:ollama", "page": "concepts/cost-optimization.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "191cc6717313156474e2f7a7", "object": "concept:coding-agent", "page": "concepts/tree-structured-sessions.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:tree-structured-sessions"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "1e1d0ddc4cfe11ff12dc3b8a", "object": "product:cline", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "high", "evidence": "Coding agenti využívají LLM jako jádro", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "2400d909b4dd0cb5a5e3276c", "object": "concept:llm", "page": "concepts/coding-agent.md", "predicate": "depends_on", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "25260d522577cdaea172cdba", "object": "source:claude-code-local-cloud-models", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "275303ea8901a8aaff1af046", "object": "concept-goal-driven-agent-loop", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "2a7d8a0b7acdf510dfb3dbba", "object": "source:claude-code-local-cloud-models", "page": "entities/product-ollama.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "product:ollama"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "2a94474900b255b7a29e7b15", "object": "concept:tree-structured-sessions", "page": "sources/pi-coding-agent-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "2ac884ca271d51e826665a25", "object": "raw:raw/claude-code-openrouter-beast-mode-low-cost.md", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "2c2accb65865d17b083a3a21", "object": "product:ollama", "page": "entities/product-openrouter.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:openrouter"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "2cd26a265d0666b7a0b9de36", "object": "source-claude-code-goal-command", "page": "entities/product-claude-code.md", "predicate": "sourced_from", "source": "claude-code-goal-command", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "2ee54ce8c92556a5f73655c2", "object": "source:pi-dev-terminal-limitation", "page": "entities/product-pi.md", "predicate": "sourced_from", "source": "pi-dev-terminal-limitation", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "327579315c7c5f6284938e40", "object": "source:claude-code-local-cloud-models", "page": "concepts/local-vs-cloud-models.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "32c73de25bd306c2f1dcf0d9", "object": "concept:cost-optimization", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "362b7dc12de188b16d6e5e3e", "object": "concept:coding-agent", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "3a43f524911111085adf6f60", "object": "source:claude-code-openrouter-beast-mode", "page": "concepts/cost-optimization.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "3cd0d9cc13e931d9ed3e0d20", "object": "source:pi-coding-agent", "page": "entities/person-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "person:mario-zechner"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "3d4aac4a18a108906501f410", "object": "product:pi", "page": "concepts/terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:terminal-limitation"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "42302f758d8d7576e768e918", "object": "source:claude-code-openrouter-beast-mode", "page": "entities/product-openrouter.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "product:openrouter"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "42a621e62f258ae38c837785", "object": "concept:coding-agent-setup", "page": "concepts/local-vs-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "43612f5e8cdbd96c9eeeb93e", "object": "product:claude-code", "page": "entities/product-openrouter.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:openrouter"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "4513d0bea30cb68c9934bfbf", "object": "concept:cost-optimization", "page": "concepts/coding-agent-setup.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "49984558b8c8dcf6b3fff7ab", "object": "concept:local-vs-cloud-models", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "high", "evidence": "Mario Zechner je tvůrce Pi coding agenta", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "4a0a06df47d6853455a2c8d8", "object": "product:pi", "page": "entities/person-mario-zechner.md", "predicate": "works_on", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "person:mario-zechner"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "4a209994f6e70117bfbf4db9", "object": "concept:local-vs-cloud-models", "page": "concepts/cost-optimization.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "4d07a788abafd2fcea1494a6", "object": "concept:coding-agent-setup", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "4f17d5255cac0b991f04036d", "object": "source-claude-code-goal-command", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "claude-code-goal-command", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "4fd3af685ec3b1e84dd2ae6f", "object": "source:claude-code-ollama-workflow", "page": "concepts/local-vs-cloud-models.md", "predicate": "sourced_from", "source": "claude-code-ollama-workflow", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "50d6477ee285ded1cd0fa6be", "object": "product-pybricks", "page": "entities/product-lego-mindstorms.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-lego-mindstorms"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "50e622a2c2bc2520041fc009", "object": "source:pi-dev-terminal-limitation", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "pi-dev-terminal-limitation", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "512096fc452b6bc938440709", "object": "concept:coding-agent-setup", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "5190e9d269ce879b1abf1b07", "object": "product:openrouter", "page": "concepts/cost-optimization.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "52003666339d725a209b15c8", "object": "concept-goal-driven-agent-loop", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "52eb9ba9326643e195b2957d", "object": "source:claude-code-openrouter-beast-mode", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "531e12fbb0a73a0af2ec0373", "object": "product-pybricks", "page": "concepts/e-waste-reduction.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept-e-waste-reduction"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "546b7227bad05cd9b89c6cef", "object": "product:openrouter", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "5646bcd4c869d872ea59aac0", "object": "source:claude-code-local-cloud-models", "page": "entities/product-claude-code.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "567275b4ad011c88209bf785", "object": "source:pi-dev-terminal-limitation", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "57e637043e0ada5ff5f1e9f5", "object": "raw:raw/pi-coding-agent-mario-zechner.md", "page": "sources/pi-coding-agent-mario-zechner.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source:pi-coding-agent"}
{"confidence": "medium", "evidence": "OpenRouter a Ollama jsou alternativní způsoby připojení modelů k Claude Code", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "58e0d7ebed1a03b6a6dce2bb", "object": "product:ollama", "page": "entities/product-openrouter.md", "predicate": "competes_with", "source": "claude-code-local-cloud-models", "status": "current", "subject": "product:openrouter"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "592eb6b0c67596b642c57391", "object": "product:claude-code", "page": "concepts/local-vs-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "59ab4f4f0311802e87ee8c0b", "object": "concept:local-vs-cloud-models", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "high", "evidence": "Autor srovnává Claude Code s Cline — 'like Cline' v titulku", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "5aac916c2af1e38f2886d48a", "object": "product:cline", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "medium", "evidence": "Mario byl frustrován Claude Code a dalšími agenty", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "5b91a8575682860e61f221bc", "object": "product:claude-code", "page": "entities/product-pi.md", "predicate": "competes_with", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "5e6aba6ee6e7c8a7dc775df5", "object": "raw:raw/claude-code-local-cloud-models-ollama-openrouter.md", "page": "sources/claude-code-local-cloud-models.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "5ec9acf9e195faa93736e322", "object": "source:claude-code-local-cloud-models", "page": "concepts/coding-agent-setup.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "5edd59d4acd4bcdd28e6a22a", "object": "product:openrouter", "page": "concepts/coding-agent-setup.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "5f368dafb427845520bda202", "object": "concept:coding-agent-setup", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "5f4eb5459b1557f8f36ac2d6", "object": "product:pi", "page": "concepts/tree-structured-sessions.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:tree-structured-sessions"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "60b30be978df0475543ca366", "object": "source:claude-code-ollama-workflow", "page": "concepts/coding-agent-setup.md", "predicate": "sourced_from", "source": "claude-code-ollama-workflow", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "60d34ac81a92bc21875c6542", "object": "concept:coding-agent", "page": "entities/person-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "person:mario-zechner"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "6264a1240c1076a953e7cf24", "object": "concept:cost-optimization", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "high", "evidence": "Setup je krok před použitím coding agenta", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "645122ef8f8d9f56b40faab0", "object": "concept:coding-agent", "page": "concepts/coding-agent-setup.md", "predicate": "depends_on", "source": "claude-code-local-cloud-models", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "6fc0769cff7ba42e1168ae4a", "object": "product-pybricks", "page": "entities/product-spike-prime.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-spike-prime"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "729c525e2e1e09f87bf24848", "object": "concept:coding-agent-setup", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "72f5d24df5a450de6a318cd8", "object": "concept:coding-agent-setup", "page": "concepts/cost-optimization.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "7360fca40798521a714c42fc", "object": "source:claude-code-ollama-workflow", "page": "entities/product-claude-code.md", "predicate": "sourced_from", "source": "claude-code-ollama-workflow", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "7566d21d3ccc128d61c5cc1b", "object": "concept:terminal-limitation", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "75fb4ae1c4b16e4c4ee0ee78", "object": "product-lego-mindstorms", "page": "entities/product-spike-prime.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-spike-prime"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "76237e017f821d894b1a6116", "object": "concept:cost-optimization", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "787e5c76a93cbc50d6484511", "object": "product-spike-prime", "page": "entities/product-lego-mindstorms.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-lego-mindstorms"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "79a2cb96dacb70b421660a8c", "object": "product:openrouter", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "OpenRouter jako cloud provider pro Claude Code", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "7c89b56db95a048b011a0547", "object": "product:openrouter", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "claude-code-local-cloud-models", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "809e0e0d9a89f244543c2bca", "object": "concept:local-vs-cloud-models", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "high", "evidence": "OpenRouter jako klíčový enabler nízkonákladového beast mode", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "82e79892095d86a8d18987b8", "object": "product:openrouter", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "83320df3257a802400610e54", "object": "product:claude-code", "page": "concepts/coding-agent-setup.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "85635f92c9f1da522a6d9b59", "object": "raw:claude-code-goal-command.md", "page": "sources/claude-code-goal-command.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source-claude-code-goal-command"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "86cf09b124c3e57966d68a65", "object": "person:mario-zechner", "page": "sources/pi-coding-agent-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "87f30dbadb049e7e9b3d0d0c", "object": "concept:coding-agent", "page": "sources/pi-coding-agent-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "89aa3247f6a7f12a65d9bd18", "object": "source:claude-code-openrouter-beast-mode", "page": "entities/product-cline.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "product:cline"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "8b9cfec70b91547fd914badb", "object": "product:claude-code", "page": "entities/product-ollama.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:ollama"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "8ff7ad666e9f79012252dd6d", "object": "concept:tree-structured-sessions", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "medium", "evidence": "Cost optimization je relevantní v kontextu coding agentů", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "932df23980dd2aee2e1a7fb6", "object": "concept:coding-agent", "page": "concepts/cost-optimization.md", "predicate": "depends_on", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "concept:cost-optimization"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "9659093034cbdbc62aba0b5a", "object": "product:pi", "page": "sources/pi-dev-terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-dev-terminal-limitation"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "97505665bd7fc6ba98aca3fd", "object": "raw:raw/claude-code-ollama-workflow-free.md", "page": "sources/claude-code-ollama-workflow.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "979dedf44033e061301b9348", "object": "product:ollama", "page": "concepts/coding-agent-setup.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "98114d8ce66ff65616642270", "object": "source:pi-coding-agent", "page": "entities/product-pi.md", "predicate": "sourced_from", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "product:pi"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "993e772405af6fb11991025b", "object": "product:ollama", "page": "concepts/local-vs-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "high", "evidence": "Ollama jako lokální backend pro Claude Code", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "9998b438a162a6984d497e42", "object": "product:ollama", "page": "sources/claude-code-ollama-workflow.md", "predicate": "mentions", "source": "claude-code-ollama-workflow", "status": "current", "subject": "source:claude-code-ollama-workflow"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "9ae5839b2d57e5c1fe7d6af9", "object": "source:pi-dev-terminal-limitation", "page": "concepts/terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "9b50c578bae478c95541f820", "object": "product-spike-prime", "page": "entities/product-pybricks.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-pybricks"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "9ba7613061a708db9dbe8014", "object": "source:claude-code-local-cloud-models", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "9d7aafb4c5d0e759c353e8ca", "object": "concept:coding-agent-setup", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "9fd872a4975bc78d8c415957", "object": "product-pybricks", "page": "sources/lego-mindstorms-continued-use.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source-lego-mindstorms-continued-use"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "a2b050146f72b027db4d4bdd", "object": "source:claude-code-local-cloud-models", "page": "entities/product-openrouter.md", "predicate": "sourced_from", "source": "claude-code-local-cloud-models", "status": "current", "subject": "product:openrouter"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "a573cd42f850a2f3cef5e6be", "object": "source:claude-code-openrouter-beast-mode", "page": "concepts/local-vs-cloud-models.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "a6fbf9102cefbeb68aa8c00b", "object": "raw:lego-mindstorms-continued-use.md", "page": "sources/lego-mindstorms-continued-use.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source-lego-mindstorms-continued-use"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "a76d8980968571164c707072", "object": "product:openrouter", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ad08b7552f80104c5ab23689", "object": "source:pi-dev-terminal-limitation", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "high", "evidence": "Článek popisuje konfiguraci Claude Code s lokálními a cloud modely", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "ad4b7b7470e8707aca5cfccd", "object": "product:claude-code", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "claude-code-local-cloud-models", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ae31e15a7ae5193a2ba72275", "object": "product-lego-mindstorms", "page": "entities/product-pybricks.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product-pybricks"}
{"confidence": "medium", "evidence": "Lokální vs. cloud modely jsou relevantní primárně v kontextu coding agentů", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "ae629e701056053be56434e6", "object": "concept:coding-agent", "page": "concepts/local-vs-cloud-models.md", "predicate": "depends_on", "source": "claude-code-local-cloud-models", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "afb0d7f03ddbd4fd8d06f3b8", "object": "source:pi-coding-agent", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "b26a3d7ad08193493ae62a44", "object": "source:claude-code-ollama-workflow", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "b79dcf9de688c772d9dba6af", "object": "product:openrouter", "page": "entities/product-ollama.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:ollama"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "b7c72e20f108ecd9ec441ae3", "object": "product:pi", "page": "entities/person-mario-zechner.md", "predicate": "mentions", "source": "", "status": "current", "subject": "person:mario-zechner"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "bba333169c20cbea02f15d17", "object": "product:openrouter", "page": "concepts/local-vs-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:local-vs-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c06d1064205f533cfff2bdf9", "object": "concept:coding-agent-setup", "page": "sources/claude-code-goal-command.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source-claude-code-goal-command"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c1e3fc44723a7cadd70cac90", "object": "product:pi", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c23a69828bcd8f1f997fdf05", "object": "product:claude-code", "page": "entities/product-cline.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:cline"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c314fe03504dd239c8fe4abe", "object": "source:pi-coding-agent", "page": "concepts/tree-structured-sessions.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:tree-structured-sessions"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "c3bf9880f6571955c3d16e40", "object": "source:claude-code-ollama-workflow", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "claude-code-ollama-workflow", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c50987e9426ceca82a18c140", "object": "product:pi", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "c92c0cc40dbb685cc064afe8", "object": "person:mario-zechner", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "d0f04257b2ce534883ae4237", "object": "source:pi-coding-agent", "page": "entities/person-mario-zechner.md", "predicate": "sourced_from", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "person:mario-zechner"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "d1b0835488e15a18e90fa40e", "object": "source:pi-dev-terminal-limitation", "page": "concepts/terminal-limitation.md", "predicate": "sourced_from", "source": "pi-dev-terminal-limitation", "status": "current", "subject": "concept:terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "d5ca6775fe73d816cd1c77eb", "object": "source-claude-code-goal-command", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "d6e6f6572fb2bcad75fc0ecf", "object": "source:claude-code-openrouter-beast-mode", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "medium", "evidence": "Ollama a OpenRouter jsou alternativní způsoby připojení modelů k Claude Code", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "d7cc7dac9bfc2d347b8ca3b8", "object": "product:openrouter", "page": "entities/product-ollama.md", "predicate": "competes_with", "source": "claude-code-local-cloud-models", "status": "current", "subject": "product:ollama"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "d92cde592d3e830e65055ca4", "object": "product:claude-code", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "da1043334a481222e994ecde", "object": "concept:coding-agent", "page": "sources/pi-dev-terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-dev-terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "db84f36f891a321aa001d16d", "object": "product-pybricks", "page": "concepts/software-preservation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept-software-preservation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "dcbb7d15a5ceceeb312b3acd", "object": "source:pi-coding-agent", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "de0c3489258daf8043e93a66", "object": "product:claude-code", "page": "sources/claude-code-goal-command.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source-claude-code-goal-command"}
{"confidence": "high", "evidence": "Tree-structured sessions jsou designový vzor pro coding agenty", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "df1c02ee6d035b348e0214e6", "object": "concept:coding-agent", "page": "concepts/tree-structured-sessions.md", "predicate": "depends_on", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "concept:tree-structured-sessions"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_raw", "extras": {}, "id": "e026f2c43224691cf89df5a5", "object": "raw:raw/pi-dev-terminal-limitation.md", "page": "sources/pi-dev-terminal-limitation.md", "predicate": "summarizes_raw", "source": "", "status": "current", "subject": "source:pi-dev-terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "e09eeb3421649feadf4e683e", "object": "concept:coding-agent", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "Terminal limitation je problém specifický pro coding agenty", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "e0ad6fc772543c636dfc1d61", "object": "concept:coding-agent", "page": "concepts/terminal-limitation.md", "predicate": "depends_on", "source": "pi-dev-terminal-limitation", "status": "current", "subject": "concept:terminal-limitation"}
{"confidence": "medium", "evidence": "Autor srovnává Claude Code s Cline — 'like Cline' v titulku článku", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "e1608a8914da09512210b3c3", "object": "product:claude-code", "page": "entities/product-cline.md", "predicate": "competes_with", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "product:cline"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "e203de988033d0c526a205e5", "object": "concept:terminal-limitation", "page": "sources/pi-dev-terminal-limitation.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:pi-dev-terminal-limitation"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "e2f1bef6c7e27adb0a77c153", "object": "concept:terminal-limitation", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "e61be465dee933fa6a894d05", "object": "source:pi-coding-agent", "page": "entities/product-claude-code.md", "predicate": "sourced_from", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "product:claude-code"}
{"confidence": "high", "evidence": "Ollama jako jeden ze tří způsobů spuštění lokálních modelů", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "e999dfe34129fd0647dbeee0", "object": "product:ollama", "page": "sources/claude-code-local-cloud-models.md", "predicate": "mentions", "source": "claude-code-local-cloud-models", "status": "current", "subject": "source:claude-code-local-cloud-models"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ea0867af72d27dba5b072a44", "object": "product:cline", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ea4a8353699665fea1dafca2", "object": "product:ollama", "page": "entities/product-claude-code.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:claude-code"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "eb6860e090815adfd902fccd", "object": "concept:coding-agent", "page": "sources/claude-code-goal-command.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source-claude-code-goal-command"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ec168c80d7ba7908d52ff348", "object": "source-claude-code-goal-command", "page": "concepts/coding-agent.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "high", "evidence": "", "extraction_method": "frontmatter_sources", "extras": {}, "id": "ed6693155ca18076d2f5a1ad", "object": "source:pi-coding-agent", "page": "concepts/coding-agent.md", "predicate": "sourced_from", "source": "pi-coding-agent-mario-zechner", "status": "current", "subject": "concept:coding-agent"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "f06ef238e753bec11f28a0ea", "object": "concept:coding-agent", "page": "concepts/goal-driven-agent-loop.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept-goal-driven-agent-loop"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "f0755eba6ae33e45cdf9959e", "object": "concept:tree-structured-sessions", "page": "entities/product-pi.md", "predicate": "mentions", "source": "", "status": "current", "subject": "product:pi"}
{"confidence": "high", "evidence": "Článek popisuje konfiguraci Claude Code s OpenRouter pro nízkonákladový beast mode", "extraction_method": "explicit_graph_frontmatter", "extras": {}, "id": "f30fc26cb5073c8e9ad3191d", "object": "product:claude-code", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "claude-code-openrouter-beast-mode", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "f33992aec3bc47e87845af67", "object": "concept:local-vs-cloud-models", "page": "concepts/coding-agent-setup.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:coding-agent-setup"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "f773bf3fcae8749d1c8576f4", "object": "product:claude-code", "page": "sources/claude-code-openrouter-beast-mode.md", "predicate": "mentions", "source": "", "status": "current", "subject": "source:claude-code-openrouter-beast-mode"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "fc8418c79e357b10ea793919", "object": "product:claude-code", "page": "concepts/goal-driven-agent-loop.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept-goal-driven-agent-loop"}
{"confidence": "low", "evidence": "", "extraction_method": "body_wikilink", "extras": {}, "id": "ff771180caa2dc1b3c163c1a", "object": "concept:cost-optimization", "page": "concepts/local-vs-cloud-models.md", "predicate": "mentions", "source": "", "status": "current", "subject": "concept:local-vs-cloud-models"}

View File

@@ -0,0 +1,26 @@
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "concept-e-waste-reduction", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/e-waste-reduction.md", "slug": "e-waste-reduction", "tags": ["e-waste", "sustainability", "longevity", "hardware"], "title": "E-waste reduction", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-22", "id": "concept-goal-driven-agent-loop", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/goal-driven-agent-loop.md", "slug": "goal-driven-agent-loop", "tags": ["coding-agent", "agent-loop", "evaluation", "autonomy", "goal"], "title": "Goal-driven agent loop", "updated": "2026-06-22"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "concept-micropython", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/micropython.md", "slug": "micropython", "tags": ["python", "firmware", "embedded", "robotics"], "title": "MicroPython", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "concept-software-preservation", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/software-preservation.md", "slug": "software-preservation", "tags": ["preservation", "software", "e-waste", "longevity"], "title": "Software preservation", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "concept:coding-agent", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/coding-agent.md", "slug": "coding-agent", "tags": ["coding-agent", "llm", "tool-design", "agent-architecture"], "title": "Coding agent", "updated": "2026-06-22"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "concept:coding-agent-setup", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/coding-agent-setup.md", "slug": "coding-agent-setup", "tags": ["coding-agent", "setup", "configuration", "workflow"], "title": "Coding agent setup", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "concept:cost-optimization", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/cost-optimization.md", "slug": "cost-optimization", "tags": ["llm", "cost", "api", "coding-agent"], "title": "Cost optimization", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "concept:local-vs-cloud-models", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/local-vs-cloud-models.md", "slug": "local-vs-cloud-models", "tags": ["llm", "local-models", "cloud-models", "cost", "privacy"], "title": "Local vs. cloud models", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "concept:terminal-limitation", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/terminal-limitation.md", "slug": "terminal-limitation", "tags": ["coding-agent", "terminal", "ide", "ux", "limitation"], "title": "Terminal limitation", "updated": "2026-06-16"}
{"aliases": [], "canonical": false, "created": "2026-06-16", "id": "concept:tree-structured-sessions", "kind": "", "node_type": "concept", "page_type": "concept", "path": "concepts/tree-structured-sessions.md", "slug": "tree-structured-sessions", "tags": ["coding-agent", "agent-architecture", "context-management"], "title": "Tree-structured sessions", "updated": "2026-06-16"}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "person:mario-zechner", "kind": "person", "node_type": "person", "page_type": "entity", "path": "entities/person-mario-zechner.md", "slug": "person-mario-zechner", "tags": ["person", "developer", "coding-agent", "game-dev"], "title": "Mario Zechner", "updated": "2026-06-16"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "product-lego-mindstorms", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-lego-mindstorms.md", "slug": "product-lego-mindstorms", "tags": ["lego", "mindstorms", "robotics", "education", "discontinued"], "title": "LEGO Mindstorms", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "product-pybricks", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-pybricks.md", "slug": "product-pybricks", "tags": ["lego", "mindstorms", "firmware", "open-source", "robotics", "python"], "title": "Pybricks", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "product-spike-prime", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-spike-prime.md", "slug": "product-spike-prime", "tags": ["lego", "spike", "education", "robotics"], "title": "SPIKE Prime", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "2026-06-17", "id": "product:claude-code", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-claude-code.md", "slug": "product-claude-code", "tags": ["coding-agent", "llm", "tool", "anthropic"], "title": "Claude Code", "updated": "2026-06-22"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "product:cline", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-cline.md", "slug": "product-cline", "tags": ["coding-agent", "llm", "tool", "vscode-extension"], "title": "Cline", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "product:ollama", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-ollama.md", "slug": "product-ollama", "tags": ["llm", "inference", "local-models", "open-source"], "title": "Ollama", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-18", "id": "product:openrouter", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-openrouter.md", "slug": "product-openrouter", "tags": ["llm", "api-proxy", "cloud-models", "cost-optimization"], "title": "OpenRouter", "updated": "2026-06-18"}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "product:pi", "kind": "product", "node_type": "product", "page_type": "entity", "path": "entities/product-pi.md", "slug": "product-pi", "tags": ["coding-agent", "llm", "tool", "open-source"], "title": "Pi (coding agent)", "updated": "2026-06-16"}
{"aliases": [], "canonical": true, "created": "2026-06-22", "id": "source-claude-code-goal-command", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/claude-code-goal-command.md", "slug": "claude-code-goal-command", "tags": ["claude-code", "coding-agent", "goal", "agent-loop", "evaluation", "anthropic"], "title": "Keep Claude working toward a goal — Claude Code /goal command", "updated": "2026-06-22"}
{"aliases": [], "canonical": true, "created": "2026-06-20", "id": "source-lego-mindstorms-continued-use", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/lego-mindstorms-continued-use.md", "slug": "lego-mindstorms-continued-use", "tags": ["lego", "mindstorms", "robotics", "pybricks", "preservation", "firmware"], "title": "LEGO Mindstorms: continued use after discontinuation", "updated": "2026-06-20"}
{"aliases": [], "canonical": true, "created": "", "id": "source:claude-code-local-cloud-models", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/claude-code-local-cloud-models.md", "slug": "claude-code-local-cloud-models", "tags": ["claude-code", "ollama", "openrouter", "local-models", "coding-agent", "setup"], "title": "Run Claude Code on Local & Cloud Models in 5 Minutes (Ollama, OpenRouter, llama.cpp)", "updated": ""}
{"aliases": [], "canonical": true, "created": "", "id": "source:claude-code-ollama-workflow", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/claude-code-ollama-workflow.md", "slug": "claude-code-ollama-workflow", "tags": ["claude-code", "ollama", "local-models", "coding-agent", "workflow", "free-tier"], "title": "I Tried New Claude Code Ollama Workflow — It's Wild (Free)", "updated": ""}
{"aliases": [], "canonical": true, "created": "", "id": "source:claude-code-openrouter-beast-mode", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/claude-code-openrouter-beast-mode.md", "slug": "claude-code-openrouter-beast-mode", "tags": ["claude-code", "openrouter", "cline", "coding-agent", "cost-optimization", "beast-mode"], "title": "How I'm Using Claude Code Like Cline with OpenRouter (Beast Mode, Low Cost)", "updated": ""}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "source:pi-coding-agent", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/pi-coding-agent-mario-zechner.md", "slug": "pi-coding-agent-mario-zechner", "tags": ["coding-agent", "llm", "tool-design", "agent-architecture", "video"], "title": "I Hated Every Coding Agent, So I Built My Own — Mario Zechner (Pi)", "updated": "2026-06-16"}
{"aliases": [], "canonical": true, "created": "2026-06-16", "id": "source:pi-dev-terminal-limitation", "kind": "", "node_type": "source", "page_type": "source", "path": "sources/pi-dev-terminal-limitation.md", "slug": "pi-dev-terminal-limitation", "tags": ["coding-agent", "terminal", "ide", "ux", "limitation"], "title": "pi.dev — terminálová limitace", "updated": "2026-06-16"}

View File

@@ -0,0 +1,135 @@
# Wiki Graph Ontology
#
# Declares the node types and predicates that the compiled graph layer
# (wiki/graph/) recognises. Edit this file when you introduce a new
# domain-specific predicate or node type — wiki_graph_lint.py reads it
# to validate every typed edge declared in page frontmatter.
#
# Markdown remains canonical. This file is just the contract that makes
# the graph layer machine-checkable.
node_types:
person:
maps_from:
type: entity
kind: person
company:
maps_from:
type: entity
kind: company
product:
maps_from:
type: entity
kind: product
paper:
maps_from:
type: entity
kind: paper
place:
maps_from:
type: entity
kind: place
organization:
maps_from:
type: entity
kind: organization
concept:
maps_from:
type: concept
source:
maps_from:
type: source
synthesis:
maps_from:
type: synthesis
decision:
explicit_only: true
claim:
explicit_only: true
raw:
explicit_only: true
predicates:
# --- Implicit predicates emitted by the extractor. ---
mentions:
subject_types: ["*"]
object_types: ["*"]
requires_evidence: false
description: |
Low-specificity edge derived from body wikilinks. Use it for
navigation, not as evidence of a typed relationship.
sourced_from:
subject_types: ["*"]
object_types: [source]
requires_evidence: false
description: |
Derived from each non-source page's frontmatter `sources:` list.
summarizes_raw:
subject_types: [source]
object_types: ["*"]
requires_evidence: false
description: |
Derived from a source page's frontmatter `raw:` field. Object is
the raw file path string, not a wiki node id.
# --- Typed semantic predicates. Add domain-specific ones below. ---
founded:
subject_types: [person]
object_types: [company, organization]
requires_evidence: true
owns:
subject_types: [person, company, organization]
object_types: [company, product, organization]
requires_evidence: true
contains_product:
subject_types: [company, organization]
object_types: [product]
requires_evidence: true
works_on:
subject_types: [person]
object_types: [product, concept]
requires_evidence: true
chose:
subject_types: [person, company, organization]
object_types: [product, concept]
requires_evidence: true
proposed:
subject_types: [person]
object_types: [decision, claim]
requires_evidence: true
competes_with:
subject_types: [product, company, organization]
object_types: [product, company, organization]
requires_evidence: true
depends_on:
subject_types: [product, concept]
object_types: [product, concept]
requires_evidence: true
authored:
subject_types: [person, organization]
object_types: [paper, source]
requires_evidence: true
cites:
subject_types: [paper, source, synthesis]
object_types: [paper, source]
requires_evidence: true
contradicts:
subject_types: [claim, source, synthesis]
object_types: [claim, source, synthesis]
requires_evidence: true
supersedes:
subject_types: [claim, source, decision]
object_types: [claim, source, decision]
requires_evidence: true
improves_on:
subject_types: [concept, product, claim, paper]
object_types: [concept, product, claim, paper]
requires_evidence: true
extended_by:
subject_types: [concept, product]
object_types: [concept, product]
requires_evidence: true
proposes:
subject_types: [paper, person]
object_types: [concept, product, claim]
requires_evidence: true

48
cml/wiki/index.md Normal file
View File

@@ -0,0 +1,48 @@
# Wiki Index
The catalog of all pages in this wiki. Each entry: a wikilink to the page and a one-line summary. The LLM reads this first when answering queries to identify candidate pages.
Keep summaries tight — one line each. The index is engineered to be cheap to read; a fat index defeats its purpose.
When this file exceeds ~300 lines or the wiki passes ~150 pages, shard into `wiki/indexes/<type>.md` and replace this file with a directory of shards. See the `scaling-playbook.md` reference in the `llm-wiki` skill for the migration procedure.
---
## Sources
- [[pi-coding-agent-mario-zechner]] — talk Maria Zechnera o motivaci a designu Pi coding agenta
- [[pi-dev-terminal-limitation]] — poznámka o terminálové limitaci Pi a podobných agentů
- [[claude-code-local-cloud-models]] — průvodce konfigurací Claude Code s lokálními a cloud modely
- [[claude-code-ollama-workflow]] — test nového Ollama workflow v Claude Code (zdarma)
- [[claude-code-openrouter-beast-mode]] — Claude Code s OpenRouter pro beast mode při nízkých nákladech
- [[claude-code-goal-command]] — dokumentace /goal příkazu v Claude Code pro autonomní práci s koncovou podmínkou
- [[lego-mindstorms-continued-use]] — pokračování používání LEGO Mindstorms po ukončení — alternativy, firmware, zachování aplikací
## Entities
- [[person-mario-zechner]] — tvůrce Pi coding agenta, autor libGDX
- [[product-pi]] — minimalistický coding agent (4 nástroje, tree-structured sessions)
- [[product-claude-code]] — coding agent od Anthropic, podporuje lokální i cloud modely
- [[product-ollama]] — lokální inference server pro LLM modely
- [[product-openrouter]] — cloud API proxy pro přístup k mnoha LLM modelům
- [[product-cline]] — VS Code coding agent rozšíření
- [[product-pybricks]] — open-source firmware a vývojové prostředí pro LEGO robotiku (nahrazuje oficiální aplikace)
- [[product-lego-mindstorms]] — robotická stavebnice od LEGO, ukončená 2022, nadále použitelná s Pybricks
- [[product-spike-prime]] — robotická vzdělávací sada od LEGO Education, nástupce Mindstorms
## Concepts
- [[coding-agent]] — software nástroj využívající LLM k autonomnímu/poloautonomnímu psaní kódu
- [[tree-structured-sessions]] — designový vzor pro správu kontextu v coding agentech (větvení místo lineární historie)
- [[terminal-limitation]] — koncept omezení coding agentů na terminálové prostředí bez IDE integrace
- [[local-vs-cloud-models]] — trade-offy mezi lokálními a cloud LLM modely
- [[coding-agent-setup]] — konfigurace a nastavení coding agentů
- [[cost-optimization]] — optimalizace nákladů na LLM API
- [[goal-driven-agent-loop]] — koncept autonomního agenta s verifikovatelnou koncovou podmínkou
- [[software-preservation]] — zachování softwaru a funkčnosti po ukončení oficiální podpory
- [[e-waste-reduction]] — prodloužení životnosti elektronických produktů snížením e-waste
- [[micropython]] — lehká implementace Pythonu 3 pro mikrokontroléry, používá Pybricks
## Synthesis
(populated as query answers are filed back)

71
cml/wiki/log.md Normal file
View File

@@ -0,0 +1,71 @@
# Wiki Log
## 2026-06-16 — Pi coding agent (talk Mario Zechner)
- Zdroj: `raw/pi-coding-agent-mario-zechner.md` (YouTube talk)
- Vytvořeny stránky: `sources/pi-coding-agent-mario-zechner.md`, `concepts/coding-agent.md`, `concepts/tree-structured-sessions.md`, `entities/person-mario-zechner.md`, `entities/product-pi.md`
## 2026-06-16 — Pi dev: terminal limitation
- Zdroj: `raw/pi-dev-terminal-limitation.md` (poznámka z pi.dev)
- Vytvořeny stránky: `sources/pi-dev-terminal-limitation.md`, `concepts/terminal-limitation.md`
## 2026-06-17 — Claude Code
- Vytvořena stránka: `entities/product-claude-code.md`
## 2026-06-17 — Cleanup
- Smazány testovací data o pozicových embeddingech (RoPE, ALiBi, YaRN, Flash Attention) — 18 souborů, 58 edges, 4 raw zdroje v _done
- Obnoveny nodes.jsonl a edges.jsonl na aktuální stav (8 nodes, 34 edges)
## [2026-06-18] ingest | Claude Code — lokální a cloud modely (3 články)
- Zdroje: `raw/claude-code-local-cloud-models-ollama-openrouter.md`, `raw/claude-code-ollama-workflow-free.md`, `raw/claude-code-openrouter-beast-mode-low-cost.md`
- Vytvořeny source stránky: `sources/claude-code-local-cloud-models.md`, `sources/claude-code-ollama-workflow.md`, `sources/claude-code-openrouter-beast-mode.md`
- Vytvořeny entity stránky: `entities/product-ollama.md`, `entities/product-openrouter.md`, `entities/product-cline.md`
- Vytvořeny concept stránky: `concepts/local-vs-cloud-models.md`, `concepts/coding-agent-setup.md`, `concepts/cost-optimization.md`
- Aktualizovány stránky: `entities/product-claude-code.md` (rozšířeno o modely/konfiguraci), `concepts/coding-agent.md` (přidány zdroje, odkazy)
- Aktualizován `index.md`
- Všechny 3 zdroje přesunuty do `_done/`
## [2026-06-18] lint + graph | After Claude Code sources ingest
Graph regenerated: 17 nodes, 125 edges
Lint report-only (no destructive edits):
- 1 broken object reference: concept:llm (page not yet created)
- No destructive edits applied — report-only per policy
## [2026-06-20] ingest | LEGO Mindstorms — continued use after discontinuation
- Zdroj: `raw/lego-mindstorms-continued-use.md` (blog robotmak3rs.com + Pybricks + Anton's Mindstorms + ToyBrands)
- Vytvořeny source stránky: `sources/lego-mindstorms-continued-use.md`
- Vytvořeny entity stránky: `entities/product-pybricks.md`, `entities/product-lego-mindstorms.md`, `entities/product-spike-prime.md`
- Vytvořeny concept stránky: `concepts/software-preservation.md`, `concepts/e-waste-reduction.md`, `concepts/micropython.md`
- Aktualizován `index.md` (přidány nové entity a koncepty)
- Zdroj přesunut do `_done/`
## [2026-06-22] ingest | Claude Code /goal command
- Zdroj: `raw/claude-code-goal-command.md` (oficiální dokumentace code.claude.com/docs/en/goal)
- Vytvořena source stránka: `sources/claude-code-goal-command.md`
- Vytvořena concept stránka: `concepts/goal-driven-agent-loop.md`
- Aktualizovány stránky: `entities/product-claude-code.md` (přidán /goal příkaz, nový zdroj), `concepts/coding-agent.md` (přidán zdroj, sekce o autonomním běhu)
- Aktualizován `index.md` (přidán zdroj a koncept)
- Zdroj přesunut do `_done/`
## [2026-06-20] graph | After LEGO Mindstorms ingest
Graph regenerated: 24 nodes, 136 edges
Lint report-only (no destructive edits):
- 1 broken object reference: concept:llm (page not yet created) — pre-existing
- 6 orphan typed nodes (new LEGO/Pybricks pages — expected, will gain edges as related sources are added)
- No destructive edits applied — report-only per policy
- No destructive edits applied — report-only per policy
## [2026-06-22] graph | After Claude Code /goal ingest
Graph regenerated: 26 nodes, 148 edges
Lint report-only (no destructive edits):
- 1 broken object reference: concept:llm (pre-existing, page not yet created)
- 7 orphan typed nodes (3 LEGO/Pybricks pages pre-existing, 1 new goal-driven-agent-loop, 3 expected — will gain edges as related sources are added)
- No destructive edits applied — report-only per policy

View File

@@ -0,0 +1,44 @@
---
type: source
title: "Keep Claude working toward a goal — Claude Code /goal command"
slug: source-claude-code-goal-command
tags: [claude-code, coding-agent, goal, agent-loop, evaluation, anthropic]
sources: []
raw: "claude-code-goal-command.md"
url: "https://code.claude.com/docs/en/goal"
created: 2026-06-22
updated: 2026-06-22
graph:
node_id: source-claude-code-goal-command
canonical: true
---
# Keep Claude working toward a goal — Claude Code /goal command
Oficiální dokumentace Claude Code k příkazu `/goal`, který nastavuje dokončovací podmínku a nechá agenta pracovat autonomně, dokud není splněna. Po každém turnu samostatný menší model (defaultně Haiku) vyhodnocuje, zda podmínka platí.
## Klíčové body
- **`/goal` příkaz** — nastaví verifikovatelnou koncovou podmínku; agent pokračuje v práci bez nutnosti dalšího promptu uživatele
- **Separátní evaluátor** — po každém turnu se podmínka a konverzace pošlou menšímu rychlému modelu (default Haiku), který vrací yes/no + krátký důvod. "No" znamená pokračuj, "yes" znamená cíl splněn
- **Efektivní podmínka** — měřitelný koncový stav (test result, build exit code, file count), explicitní způsob ověření, omezení co se nesmí změnit
- **Porovnání přístupů**: `/goal` (podmínka), `/loop` (časový interval), Stop hook (vlastní skript/prompt)
- **Komplementární s auto mode** — auto mode schvaluje tool calls v rámci jednoho turnu, `/goal` odstraňuje nutnost promptovat mezi turny
- **Non-interactive** — funguje s `-p` flagem, v desktop app, přes Remote Control
- **Resume** — aktivní goal se obnoví při `--resume` nebo `--continue`, s resetem turn count/timer/token spend
- **Omezení** — max 4000 znaků pro podmínku, vyžaduje accepted trust dialog, nefunguje s `disableAllHooks` nebo `allowManagedHooksOnly`
## Tři přístupy k udržení session
| Přístup | Další turn začíná když | Zastaví když |
|---------|----------------------|-------------|
| `/goal` | Předchozí turn skončí | Model potvrdí podmínku |
| `/loop` | Uplyne časový interval | Uživatel zastaví nebo agent rozhodne |
| Stop hook | Předchozí turn skončí | Vlastní skript/prompt rozhodne |
## Související
- [[product-claude-code]] — produkt, kde /goal funguje
- [[concept-goal-driven-agent-loop]] — koncept autonomního agenta s verifikovatelnou koncovou podmínkou
- [[coding-agent]] — obecný koncept coding agentů
- [[coding-agent-setup]] — konfigurace coding agentů

View File

@@ -0,0 +1,54 @@
---
type: source
title: "Run Claude Code on Local & Cloud Models in 5 Minutes (Ollama, OpenRouter, llama.cpp)"
authors: ["Luong Nguyen"]
url: "https://medium.com/@luongnv89/run-claude-code-on-local-cloud-models-in-5-minutes-ollama-openrouter-llama-cpp-6dfeaee03cda"
raw: "raw/claude-code-local-cloud-models-ollama-openrouter.md"
ingested: 2026-06-18
tags: [claude-code, ollama, openrouter, local-models, coding-agent, setup]
entities: [product-claude-code, product-ollama, product-openrouter]
concepts: [local-vs-cloud-models, coding-agent-setup]
slug: source-claude-code-local-cloud-models
graph:
node_id: source:claude-code-local-cloud-models
canonical: true
relationships:
- predicate: mentions
object: product:claude-code
source: claude-code-local-cloud-models
evidence: "Článek popisuje konfiguraci Claude Code s lokálními a cloud modely"
confidence: high
status: current
- predicate: mentions
object: product:ollama
source: claude-code-local-cloud-models
evidence: "Ollama jako jeden ze tří způsobů spuštění lokálních modelů"
confidence: high
status: current
- predicate: mentions
object: product:openrouter
source: claude-code-local-cloud-models
evidence: "OpenRouter jako cloud provider pro Claude Code"
confidence: high
status: current
---
# Run Claude Code on Local & Cloud Models in 5 Minutes
Průvodce konfigurací Claude Code s lokálními i cloud modely. Autor popisuje tři cesty: Ollama, OpenRouter a llama.cpp.
## Klíčové body
- **Ollama** — lokální inference server, podporuje širokou škálu modelů. Claude Code se připojí přes OpenAI-compatible API endpoint.
- **OpenRouter** — cloudový proxy poskytující přístup k mnoha modelům (včetně Claude) přes jednotné API. Umožňuje snadné přepínání modelů.
- **llama.cpp** — lightweight lokální inference, vhodná pro jednoduché setupy bez závislostí.
- **Konfigurace** — Claude Code podporuje `model` v `.claude/settings.json` nebo env var `ANTHROPIC_MODEL`. Pro lokální modely se nastavuje `OPENAI_API_BASE` a `OPENAI_API_KEY`.
- **Trade-offy** — lokální modely = soukromí a nulové náklady, ale nižší kvalita; cloud = vyšší kvalita, ale náklady a latence.
## Související
- [[product-claude-code]] — hlavní subjekt článku
- [[product-ollama]] — lokální inference server
- [[product-openrouter]] — cloud proxy
- [[local-vs-cloud-models]] — koncept lokálních vs. cloud modelů
- [[coding-agent-setup]] — koncept nastavení coding agentů

View File

@@ -0,0 +1,48 @@
---
type: source
title: "I Tried New Claude Code Ollama Workflow — It's Wild (Free)"
authors: ["Joe Njenga"]
url: "https://medium.com/@joe.njenga/i-tried-new-claude-code-ollama-workflow-its-wild-free-cb7a12b733b5"
raw: "raw/claude-code-ollama-workflow-free.md"
ingested: 2026-06-18
tags: [claude-code, ollama, local-models, coding-agent, workflow, free-tier]
entities: [product-claude-code, product-ollama]
concepts: [coding-agent-setup, local-vs-cloud-models]
slug: source-claude-code-ollama-workflow
graph:
node_id: source:claude-code-ollama-workflow
canonical: true
relationships:
- predicate: mentions
object: product:claude-code
source: claude-code-ollama-workflow
evidence: "Článek testuje nový Ollama workflow v Claude Code"
confidence: high
status: current
- predicate: mentions
object: product:ollama
source: claude-code-ollama-workflow
evidence: "Ollama jako lokální backend pro Claude Code"
confidence: high
status: current
---
# I Tried New Claude Code Ollama Workflow — It's Wild (Free)
Autor testuje nový Ollama workflow v Claude Code a popisuje, jak lze zdarma spouštět lokální modely přímo z Claude Code terminálu.
## Klíčové body
- **Ollama integration** — Claude Code nově podporuje nativní Ollama workflow. Stačí `ollama serve` a nastavit model.
- **Zdarma** — lokální modely přes Ollama = nulové API náklady. Autor zdůrazňuje "wild" fakt, že jde o plně funkční coding agent zdarma.
- **Workflow** — autor popisuje konkrétní kroky: instalace Ollama, pull modelu, konfigurace Claude Code, spuštění.
- **Omezení** — lokální modely (Qwen, Llama) mají nižší kvalitu než Claude, ale pro jednoduché úkoly dostačující.
- **Praktické tipy** — doporučuje začít s menšími modely (3B8B) pro rychlost, větší (70B+) pro kvalitu.
## Související
- [[product-claude-code]] — hlavní subjekt
- [[product-ollama]] — lokální inference
- [[coding-agent-setup]] — koncept nastavení
- [[local-vs-cloud-models]] — lokální vs. cloud
- [[source-claude-code-local-cloud-models]] — související článek (širší přehled)

View File

@@ -0,0 +1,58 @@
---
type: source
title: "How I'm Using Claude Code Like Cline with OpenRouter (Beast Mode, Low Cost)"
authors: ["Joe Njenga"]
url: "https://medium.com/@joe.njenga/how-im-using-claude-code-like-cline-with-openrouter-to-go-beast-mode-at-low-cost-8c78e0bdcb67"
raw: "raw/claude-code-openrouter-beast-mode-low-cost.md"
ingested: 2026-06-18
tags: [claude-code, openrouter, cline, coding-agent, cost-optimization, beast-mode]
entities: [product-claude-code, product-openrouter, product-cline]
concepts: [coding-agent-setup, cost-optimization, local-vs-cloud-models]
slug: source-claude-code-openrouter-beast-mode
graph:
node_id: source:claude-code-openrouter-beast-mode
canonical: true
relationships:
- predicate: mentions
object: product:claude-code
source: claude-code-openrouter-beast-mode
evidence: "Článek popisuje konfiguraci Claude Code s OpenRouter pro nízkonákladový beast mode"
confidence: high
status: current
- predicate: mentions
object: product:openrouter
source: claude-code-openrouter-beast-mode
evidence: "OpenRouter jako klíčový enabler nízkonákladového beast mode"
confidence: high
status: current
- predicate: mentions
object: product:cline
source: claude-code-openrouter-beast-mode
evidence: "Autor srovnává Claude Code s Cline — 'like Cline' v titulku"
confidence: high
status: current
---
# How I'm Using Claude Code Like Cline with OpenRouter (Beast Mode, Low Cost)
Autor popisuje, jak nakonfigurovat Claude Code s OpenRouter pro "beast mode" — přístup k výkonným modelům za zlomek ceny nativního Claude API. Srovnává přístup s Cline.
## Klíčové body
- **OpenRouter jako proxy** — umožňuje přístup k mnoha modelům (Claude, GPT-4, Gemini, Mistral) přes jednotné API. Klíčové pro cost optimization.
- **Beast mode** — autor volí nejvýkonnější dostupné modely (Claude Opus, GPT-4) přes OpenRouter, ale platí jen za tokeny, které spotřebuje.
- **Cline-like workflow** — Claude Code v terminálu funguje podobně jako Cline (VS Code extension), ale s větší flexibilitou modelů.
- **Cost comparison** — OpenRouter ceny jsou výrazně nižší než přímé API přístupy. Autor uvádí konkrétní úspory.
- **Konfigurace** — nastavení `OPENAI_API_BASE` na OpenRouter endpoint, výběr modelu přes `model` v settings.
- **Trade-offy** — vyšší latence oproti nativnímu API, občasné rate limity, ale výrazně nižší náklady.
## Související
- [[product-claude-code]] — hlavní subjekt
- [[product-openrouter]] — cloud proxy
- [[product-cline]] — srovnávaný nástroj
- [[coding-agent-setup]] — koncept nastavení
- [[cost-optimization]] — optimalizace nákladů
- [[local-vs-cloud-models]] — lokální vs. cloud
- [[source-claude-code-local-cloud-models]] — širší přehled modelů
- [[source-claude-code-ollama-workflow]] — Ollama workflow

View File

@@ -0,0 +1,68 @@
---
type: source
title: "LEGO Mindstorms: continued use after discontinuation"
slug: source-lego-mindstorms-continued-use
tags: [lego, mindstorms, robotics, pybricks, preservation, firmware]
sources: []
raw: "lego-mindstorms-continued-use.md"
created: 2026-06-20
updated: 2026-06-20
graph:
node_id: source-lego-mindstorms-continued-use
canonical: true
---
# LEGO Mindstorms: continued use after discontinuation
Zdrojový materiál o tom, jak nadále používat produkty LEGO Mindstorms po jejich ukončení — včetně komunitních alternativ, firmware obnov a zachování aplikací.
## Kontext ukončení
LEGO Mindstorms byl oficiálně ukončen v říjnu 2022. LEGO Group přesunul zdroje na SPIKE Prime a další produkty LEGO Education. Robot Inventor app měl zůstat dostupný minimálně do konce 2024, ale postupně přestává fungovat na novějších zařízeních a platformách.
Problém je zásadní: existují stovky tisíc až miliony sady Mindstorms po celém světě. Mnoho škol a FIRST LEGO League týmů stále používá EV3 — asi 60 % týmů FLL v roce 2023 podle jednoho průzkumu. Elektronické LEGO má mnohem kratší životnost než klasické plastové cihly, protože závisí na softwaru a aplikacích, které rychle zastarávají.
## Alternativy a pokračování používání
### Pybricks — hlavní komunitní alternativa
[[product-pybricks]] je open-source firmware a vývojové prostředí, které nahrazuje oficiální LEGO aplikace. Klíčové vlastnosti:
- Funguje na všech generacích Mindstorms (NXT, EV3, Robot Inventor) i na SPIKE Prime a dalších Powered Up hubech
- MicroPython a blokové programování v prohlížeči — žádné instalace
- Okamžitý boot (na rozdíl od původního EV3 Linuxu, který startoval desítky sekund)
- Stabilnější a lepší API než oficiální aplikace
- Bezplatný firmware, volitelné placené doplňky (blokové programování)
- Podporuje všechny oficiální EV3 motory a senzory, plus NXT senzory na EV3 bricku
- Uživatelé mohou přispívat na Patreon a dostat své jméno do credits při vypínání EV3
Stav projektu Pybricks pro EV3 (k prosinci 2025): instant power on/off, MicroPython firmware bez microSD karty, program storage, download přes Pybricksdev, podpora všech EV3 motorů a senzorů, NXT senzory na EV3, custom UART/I2C/analog zařízení. Zbývá implementovat USB/Bluetooth konektivitu a browser-based firmware instalaci.
### Zachování oficiálních aplikací
Blog [[source-lego-mindstorms-continued-use]] (robotmak3rs.com) dokumentuje postupy obnovy oficiálních Mindstorms aplikací z archivovaných záloh:
- **Android**: Split APK instalace + obnova privátních app dat (vyžaduje root). Záloha obsahuje jak APK, tak stažený in-app content. ARM64 only.
- **macOS** a **Windows**: Obnova z archivovaných instalátorů (samostatné články na blog.robotmak3rs.com).
Klíčové poznání: samotný instalátor nestačí — in-app content (tutoriály, build instrukce) je uložen v privátním app storage a bez jeho zálohy nelze plně obnovit funkční stav aplikace.
### Kompatibilita hardware
- Mindstorms Robot Inventor hub má stejný tvar jako SPIKE Prime hub, ale SPIKE3 firmware na něj nejde nainstalovat (chyba při připojení)
- SPIKE2 firmware fungoval na Mindstorms hubu, ale aktuální SPIKE3 už ne
- Motory a senzory jsou cross-kompatibilní mezi Mindstorms a SPIKE Prime
- Robot Inventor set (51515) má stále dobrou play value — Anton's Mindstorms doporučuje koupit, pokud je dostupný za dobrou cenu
## Důsledky pro uživatele
- Školy a FLL týmy závislé na EV3 potřebují alternativu — Pybricks je nejlepší volba
- Druhový trh: zapečetěné EV3 sety se prodávají za dvojnásobek původní ceny
- Oficiální aplikace postupně mizí z app store — komunitní archivy jsou jediná záchrana
- Pybricks sjednocuje programování napříč všemi generacemi LEGO robotiky
## Where this fits
- [[product-pybricks]] — open-source firmware alternativa
- [[concept-software-preservation]] — obecný koncept zachování softwaru po ukončení podpory
- [[concept-e-waste-reduction]] — prodloužení životnosti elektronických produktů

View File

@@ -0,0 +1,67 @@
---
type: source
title: "I Hated Every Coding Agent, So I Built My Own — Mario Zechner (Pi)"
authors: ["Mario Zechner"]
url: "https://www.youtube.com/watch?v=Dli5slNaJu0"
raw: "raw/pi-coding-agent-mario-zechner.md"
ingested: 2026-06-16
created: 2026-06-16
updated: 2026-06-16
tags: [coding-agent, llm, tool-design, agent-architecture, video]
entities: [person-mario-zechner, product-pi]
concepts: [coding-agent, tree-structured-sessions]
slug: pi-coding-agent
graph:
node_id: source:pi-coding-agent
canonical: true
canonical: true
---
# I Hated Every Coding Agent, So I Built My Own — Mario Zechner (Pi)
Shrnutí talku Maria Zechnera (tvůrce Pi coding agenta, aka badlogic — autor libGDX) o motivaci a designu Pi.
## Klíčové body
### Proč Pi vzniklo
Mario byl frustrován existujícími coding agenty (Claude Code, OpenCode, Codex CLI, AMP) z několika důvodů:
1. **Feature bloat** — agenti nabírají funkce (to-dos, komplexní tool suites), které nejsou potřeba a přidávají skrytou kontextovou injekci.
2. **Skryté chování** — vendoři mění věci pod pokličkou (system prompty, kontextová injekce), což způsobuje nepředvídatelné chování LLM.
3. **Špatná pozorovatelnost** — těžké vidět, co agent dělá, jaký kontext používá, kolik to stojí.
4. **Chybějící rozšiřitelnost** — power user nemůže přidat vlastní nástroje bez forku.
5. **Approval fatigue** — buď plná autonomie, nebo approval pro každou akci; oboje je špatné UX.
6. **Špatná správa kontextu** — agenti jako OpenCode spoléhají na session compaction, ale ztrácí důležitý kontext.
Klíčový citát: *"So obviously they're doing things right, but not for me."*
### Designová filozofie Pi
- **Minimální jádro** — pouze 4 nástroje: read file, write file, edit file, bash. To stačí.
- **Malý system prompt** — frontier RL-trénované modely nepotřebují masivní system prompty.
- **[[tree-structured-sessions]]** — ne lineární chat history; sub-agenti se mohou větvit a číst soubory nezávisle při zachování kontextu/lineage.
- **Full cost tracking** — vestavěný, ne dodatečný.
- **Hot-reloadable TypeScript extensions** — uživatelé mohou definovat vlastní nástroje, UI, multi-agent setupy bez úpravy jádra.
- **Žádná skrytá kontextová injekce** — co vidíš, to model dostává.
### Komunitní rozšíření
- **pi-annotate** — vizuální feedback na živé weby
- **pi-messenger** — multi-agent chatroom s vlastním UI
- Vlastní UI, tool integrace — vše jako hot-reloadable TS moduly
### Výkon
Na TerminalBench dosáhlo Pi (s Claude Opus 4.5) blízko Terminus i před pokročilými optimalizacemi jako compaction.
### Klíčový insight
*"We are in the messing around and finding out stage, and nobody has any idea what the perfect coding agent should look like."* — zjednodušení může vést k efektivnímu výkonu bez zbytečné komplexity.
## Kde to zapadá
- [[person-mario-zechner]] — řečník a tvůrce Pi
- [[product-pi]] — coding agent
- [[coding-agent]] — obecný koncept
- [[tree-structured-sessions]] — Piův designový přístup ke správě kontextu

View File

@@ -0,0 +1,29 @@
---
type: source
title: "pi.dev — terminálová limitace"
authors: []
url: "https://pi.dev/"
raw: "raw/pi-dev-terminal-limitation.md"
ingested: 2026-06-16
created: 2026-06-16
updated: 2026-06-16
tags: [coding-agent, terminal, ide, ux, limitation]
entities: [product-pi]
concepts: [terminal-limitation, coding-agent]
slug: pi-dev-terminal-limitation
graph:
node_id: source:pi-dev-terminal-limitation
canonical: true
---
# pi.dev — terminálová limitace
Osobní poznámka: pi.dev je pěkný projekt, ale limitace na terminal je až moc přísná a omezující. Bez IDE to ztrácí všechny výhodné vlastnosti — podobně jako opencode.
Terminal-only přístup výrazně omezuje uživatelskou zkušenost a produktivitu oproti plnohodnotnému IDE integrovanému řešení.
## Kontext
- [[product-pi]] — Pi coding agent, jehož se tato limitace týká
- [[coding-agent]] — obecný koncept, kde je terminal-only vs. IDE debata relevantní
- [[terminal-limitation]] — koncept terminálové limitace coding agentů