9.8 KiB
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.