# Srovnání: pi-coding-agent vs oh-my-pi **Datum:** 2026-06-16 --- ## 1. Základní identita a vztah | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Autor** | Mario Zechner (@badlogic) | Can Bölük (@can1357) | | **Filozofie** | Minimalismus — „harness, ne produkt“ | „Batteries included“ fork pi s agresivními vylepšeními | | **Vztah** | Upstream originál | Fork pi-mono (~1300 commitů navíc) | | **GitHub stars** | ~2.1k (pi-mono) | ~7.2k | | **Balíček npm** | `@earendil-works/pi-coding-agent` | `@oh-my-pi/pi-coding-agent` | | **Web** | https://pi.dev/ | https://omp.sh/ | oh-my-pi vzešel z pi jako „hobby harness“, kde autor experimentoval s inkrementálními vylepšeními. Postupem času se vyvinul v plnohodnotnou alternativu s vlastním ekosystémem. --- ## 2. Architektura a technický stack | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Jazyk** | TypeScript (Node.js/Bun) | TypeScript + Rust (N-API) | | **Monorepo** | Ano — `packages/ai`, `agent`, `coding-agent`, `tui` | Ano, ale Rust komponenty pro výkon | | **TUI engine** | Vlastní diferenciální renderer (`pi-tui`) | Vlastní, pravděpodobně rozšířený | | **LSP integrace** | Nepřítomná nativně | **Nativní LSP wiring** — agent „vidí“ IDE | | **Provider abstrakce** | `@pi-ai` — unified LLM API | Zděděno z pi, rozšířeno | | **Podporované runtime** | Node.js, Bun | Node.js, Bun | Klíčový rozdíl: oh-my-pi embeduje Rust přes N-API pro operace, kde spawning externích procesů (např. `rg`) „cítí špatně“. Pi zůstává čistě TypeScript. --- ## 3. Edit tool — největší technický rozdíl | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Formát editace** | `str_replace` — najdi přesný text, nahraď | **Hash-anchored edits (Hashline)** | | **Princip** | Model musí reprodukovat každý znak včetně whitespace | Každý řádek souboru má 2-3 znakový hash; model referencuje hashe | | **Fail rate (benchmark)** | Závisí na modelu — typicky 20-50% | Výrazně nižší — viz benchmark níže | | **Token efektivita** | Standardní | ~20-60% méně output tokenů (podle modelu) | | **Ochrana integrity** | Žádná — při mismatchi se edit aplikuje chybně nebo selže | Hash mismatch = odmítnutí editu před poškozením souboru | ### Benchmark výsledky (React edit benchmark, 180 úkolů × 3 běhy) | Model | Patch | Replace | Hashline | Hashline v2 | Zlepšení vs Replace | |---|---|---|---|---|---| | Gemini 3 Flash | 73.3% | 70.0% | 78.3% | **81.3%** | +11.3pp | | Claude Haiku 4.5 | 63.3% | 65.0% | 68.3% | **76.3%** | +11.3pp | | Claude Sonnet 4.5 | 65.6% | 76.7% | 78.3% | **80.0%** | +3.3pp | | GPT-5.1 Codex Mini | 57.2% | 73.3% | 60.0% | **77.5%** | +4.2pp | | Grok Code Fast 1 | 6.7% | 66.7% | 68.3% | **71.3%** | +4.6pp | | MiniMax M2.1 | 23.3% | 55.0% | 55.0% | **65.0%** | +10.0pp | | GLM-4.7 | 51.7% | 66.7% | 71.7% | **75.0%** | +8.3pp | | Kimi K2.5 | 66.7% | 71.7% | **76.7%** | — | +5.0pp | **Hashline porazil Patch u 14/16 modelů.** Nejslabší modely profitovaly nejvíc — Grok Code Fast 1 z 6.7% na 68.3% (10× zlepšení). --- ## 4. Vestavěné funkce | Funkce | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Sub-agents** | ❌ (pouze přes extension) | ✅ Nativní | | **Plan mode** | ❌ (pouze přes extension) | ✅ Nativní | | **Permission gates** | ❌ (pouze přes extension) | ✅ Nativní | | **LSP integrace** | ❌ | ✅ | | **Browser tools** | ❌ (pouze přes extension) | ✅ | | **Python REPL** | ❌ | ✅ | | **Commit tool** | ❌ | ✅ (conventional commits) | | **Session management** | ✅ Stromová historie | ✅ + rozšířená | | **Stealth mode** | ❌ | ✅ (impersonuje Claude Code pro rate-limit bypass) | | **MCP integrace** | ✅ Přes extension | ✅ | | **Sandboxing** | Přes extension/Gondolin/Docker | Přes extension | | **SSH execution** | Přes extension | ? | Pi filozofie: „Nepotřebuješ to? Nevidíš to. Potřebuješ to? Nainstaluj extension nebo si to nech postavit.“ oh-my-pi filozofie: „Všechno důležité je tam hned.“ --- ## 5. Provider a model podpora | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Počet providerů** | 15+ | Zděděno z pi, pravděpodobně stejné | | **Seznam** | Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama, … | Stejný základ | | **Mid-session switch** | ✅ `/model` nebo `Ctrl+L` | ✅ | | **Favorites cycling** | ✅ `Ctrl+P` | ? | | **Custom providers** | ✅ Via `models.json` nebo extension | ✅ | --- ## 6. Extensibilita a ekosystém | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Extension systém** | TypeScript moduly — plný přístup k tools, commands, TUI, events | Zděděno z pi, rozšířeno | | **Skills** | ✅ On-demand capability balíčky | Zděděno | | **Prompt templates** | ✅ Markdown soubory, `/name` pro expanzi | Zděděno | | **Themes** | ✅ | Zděděno | | **Package registry** | https://pi.dev/packages — npm i git | ? | | **Příklady extensions** | 50+ oficiálních (subagent, plan-mode, permission-gate, SSH, sandbox, MCP, …) | Vlastní sada | | **Self-modifikace** | ✅ „Ask Pi to build it for you“ | ✅ | Pi má robustnější dokumentovaný ekosystém. oh-my-pi je spíše „one-man show“ s forkem, kde autor přidává co potřebuje. --- ## 7. Context engineering | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **System prompt** | Minimální — token efficient | Zděděno, možná rozšířeno | | **AGENTS.md** | ✅ Načítá z `~/.pi/agent/`, parent dirs, cwd | ✅ | | **SYSTEM.md** | ✅ Per-project override/append | ✅ | | **Compaction** | ✅ Auto-summarize, plně customizable via extension | Zděděno | | **Progressive disclosure** | ✅ Skills se loadují on-demand | Zděděno | | **Dynamic context** | ✅ Extensions mohou injectovat zprávy, filtrovat historii, RAG | Zděděno | | **Prompt cache friendly** | ✅ Minimal system prompt + on-demand skills | Zděděno | --- ## 8. UX a interakce | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Steering** | `Enter` — interrupt current tool, `Alt+Enter` — queue follow-up | Zděděno | | **Módy** | Interactive, Print/JSON, RPC, SDK | Primárně interactive | | **Historie** | Stromová — `/tree` pro navigaci, branching | Zděděno | | **Export** | ✅ HTML (`/export`), GitHub gist (`/share`) | ? | | **Reload** | ✅ `/reload` po self-modifikaci | ? | | **IDE integrace** | ❌ Pure terminal | ✅ Editor-drivable agent (Zed, …) | --- ## 9. Bezpečnost a izolace | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Built-in permissions** | ❌ Žádné — běží jako uživatel | ❌ Žádné | | **Containerization docs** | ✅ Gondolin (micro-VM), Docker, OpenShell | ? | | **Path protection** | Přes extension | ? | | **Sandboxing** | Přes extension | Přes extension | Obě nástroje vyžadují externí sandboxing pro bezpečné použití s nedůvěryhodným kódem. --- ## 10. Výkon a benchmarky | Metrika | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **Edit success rate** | Závisí na modelu a formátu | **+3-41pp vyšší** díky Hashline | | **Output token usage** | Standardní | **-17-61%** méně (podle modelu) | | **Retry loops** | Časté při Patch/Replace selhání | Výrazně méně | | **Speed (harness overhead)** | Čistý TS | TS + Rust N-API pro heavy ops | Klíčové zjištění z benchmarku: **+8% u Gemini 3 Flash je větší zlepšení než většina model upgrades** — a stálo to nulu tréninkového compute. --- ## 11. Komunita a governance | | **pi-coding-agent** | **oh-my-pi** | |---|---|---| | **License** | MIT | MIT | | **Contributing** | Auto-close nových issues/PRs — maintainer review denně | Otevřenější? | | **Discord** | ✅ Aktivní | ? | | **Session sharing** | ✅ Hugging Face dataset (`pi-share-hf`) | ? | | **Supply-chain** | Aggressive pinning, audit, shrinkwrap | ? | | **Auto-updates** | `pi update --self` | ? | Pi má rigidnější governance model — nové PRs se automaticky zavírají. oh-my-pi je osobní projekt jednoho autora. --- ## 12. Kdy použít co ### pi-coding-agent - Chceš **minimalistický harness**, který se přizpůsobí tvému workflow - Potřebuješ **maximální customizaci** — vlastní extensions, skills, prompts - Pracuješ s **více projekty** a chceš sdílet konfiguraci via AGENTS.md - Chceš **čistý TypeScript** stack bez nativních závislostí - Potřebuješ **SDK/RPC** pro embedding do vlastních aplikací - Ceníš si **dobře dokumentovaného ekosystému** a package registry ### oh-my-pi - Chceš **„batteries included“** — LSP, subagents, browser, Python hned po instalaci - Hledáš **nejvyšší edit success rate** — Hashline je měřitelně lepší - Chceš **nižší token consumption** (levnější API bills) - Potřebuješ **IDE integraci** — editor-drivable agent - Preferuješ **agresivní optimalizace** nad minimalistickou čistotou - Nevadí ti **Rust N-API dependency** a potenciálně rychlejší breaking changes --- ## 13. Filozofický rozdíl **Pi:** „Model je důležitý, ale harness je most. My ti dáme most, postav si po něm co chceš.“ **oh-my-pi:** „Most je polovina problému. Druhá polovina je, že most musí být tak dobrý, že i slabý model přejde.“ Autor oh-my-pi argumentuje, že vendor-lock harnessů (Claude Code, Codex) je škodlivý — žádný vendor neoptimalizuje pro konkurenční modely. Open-source harness může tunovat pro všechny. Pi poskytuje platformu pro tuto filosofii; oh-my-pi ji realizuje konkrétními technickými inovacemi. --- ## Zdroje - https://pi.dev/ - https://github.com/earendil-works/pi - https://github.com/can1357/oh-my-pi - https://blog.can.ac/2026/02/12/the-harness-problem/ - https://pyshine.com/Oh-My-Pi-AI-Coding-Agent-Terminal/ - https://www.implicator.ai/pi-is-not-a-claude-code-rival-it-is-a-harness-rebellion/