====== Pi Coding Agent ======
//Vytvořeno: **25.4.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://pi.dev/|Pi]] je minimalistický terminálový coding agent / agentický harness pro práci s kódem. Zdrojový kód je v repozitáři [[https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent|badlogic/pi-mono – packages/coding-agent]] a hlavní myšlenka projektu je přizpůsobit agenta vlastním workflow místo toho, aby nástroj diktoval jeden konkrétní způsob práce.
===== Rychlé shrnutí =====
* Pi je vhodný hlavně pro uživatele, kteří chtějí **hackovatelný terminálový coding agent** s minimálním jádrem.
* Přidaná hodnota je v rozšiřitelnosti: TypeScript extensions, skills, prompt templates, themes a balíčky distribuované přes npm nebo git.
* Není nutné používat jen API klíče. Podle [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/providers.md|dokumentace providerů]] podporuje Pi API klíče i OAuth přihlášení k vybraným předplatným.
* Pi podle dokumentace není wrapper nad Claude Code a neuvádí možnost převzít session nebo autentizaci přímo z Claude Code.
* S Claude Code ho ale lze kombinovat provozně: Claude Code může spouštět Pi jako běžný CLI nástroj, případně lze Pi integrovat přes JSON nebo RPC režim.
===== K čemu je Pi dobrý =====
Pi se hodí jako terminálový agent pro práci nad lokálním projektem. Výchozí model dostává nástroje pro čtení, zápis, editaci a shell, ale podstatné je, že Pi nechává velkou část workflow na uživateli.
Typické použití:
* interaktivní coding agent v terminálu,
* neinteraktivní volání ze skriptů přes ''pi -p'',
* event stream přes ''--mode json'',
* RPC režim pro integraci do vlastních aplikací nebo UI,
* SDK pro embedding do vlastních aplikací,
* experimentování s providery, modely, systémovým promptem a správou kontextu.
Instalace podle homepage:
npm install -g @mariozechner/pi-coding-agent
===== Přidaná hodnota =====
==== 1. Minimalistické jádro místo hotového workflow ====
Pi záměrně neobsahuje některé funkce, které jiné nástroje dávají přímo do jádra: sub-agenty, plan mode, permission popups, interní todo systém nebo background bash. Autor projektu to bere jako designové rozhodnutí: tyto věci se mají doplnit pomocí extensions, skills nebo balíčků.
Prakticky to znamená:
* méně vestavěných názorů na správné workflow,
* větší prostor pro vlastní orchestrace,
* víc práce při prvním nastavení, pokud chceš chování podobné Claude Code nebo OpenCode.
==== 2. Rozšiřitelnost přes TypeScript extensions ====
Extensions jsou asi nejdůležitější část projektu. Podle README mohou přidávat vlastní nástroje, příkazy, klávesové zkratky, UI prvky, status bary, vlastní kompakci kontextu, permission gate, sandbox, SSH execution nebo MCP integraci.
To je hlavní rozdíl proti nástrojům, které dávají hotové funkce přímo do produktu. V Pi se dá hodně věcí dostavět bez forku interního kódu.
==== 3. Context engineering ====
Pi zdůrazňuje práci s kontextem. Podporuje:
* ''AGENTS.md'' a ''CLAUDE.md'' načítané z domovského adresáře, rodičovských adresářů a aktuálního projektu,
* ''SYSTEM.md'' pro nahrazení nebo rozšíření systémového promptu,
* automatickou a ruční compaction starších zpráv,
* skills načítané on-demand,
* prompt templates,
* dynamický kontext přes extensions.
To dává smysl hlavně u dlouhodobých projektů, kde je potřeba řídit, co se dostane do kontextového okna a co ne.
==== 4. Stromové sessiony ====
Sessiony jsou uložené jako strom. Příkaz ''/tree'' umožňuje vrátit se do předchozího bodu konverzace a pokračovat jinou větví. Všechny větve zůstávají v jednom souboru. To je užitečné při experimentování s variantami řešení nebo při návratu před špatnou odbočku.
==== 5. Režimy pro integraci ====
Pi má čtyři režimy použití:
* **interactive** – běžné terminálové TUI,
* **print / JSON** – jednorázové nebo skriptovatelné volání,
* **RPC** – JSON protokol přes stdin/stdout podle [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/rpc.md|RPC dokumentace]],
* **SDK** – použití jako knihovna ve vlastních aplikacích.
JSON režim je popsaný v [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/json.md|dokumentaci JSON event streamu]]. Pro integrace mimo Node.js je podstatný hlavně RPC režim.
===== Autentizace a modely =====
Pi podporuje více providerů: Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi For Coding, MiniMax, OpenRouter, Ollama a další.
==== API klíče ====
Klasický způsob je přes environment proměnné nebo uložený auth soubor:
export ANTHROPIC_API_KEY=sk-ant-...
pi
Případně se klíč uloží do ''~/.pi/agent/auth.json''. Dokumentace uvádí i možnost, aby hodnota klíče byla získaná přes shell příkaz nebo z jiné environment proměnné.
==== OAuth / předplatná ====
API klíče nejsou jediná možnost. Pi přes ''/login'' podporuje i přihlášení k některým subscription providerům:
* Claude Pro/Max,
* ChatGPT Plus/Pro pro Codex,
* GitHub Copilot,
* Google Gemini CLI,
* Google Antigravity.
Základní postup:
pi
/login
Tokeny se ukládají do ''~/.pi/agent/auth.json'' a podle dokumentace se automaticky obnovují po expiraci.
==== Vlastní providery ====
Pro specifické endpointy existují dvě cesty:
* ''models.json'' pro providery kompatibilní s podporovanými API,
* extensions pro vlastní implementaci provideru, OAuth nebo custom streaming API podle [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/custom-provider.md|dokumentace custom providerů]].
===== Vztah ke Claude Code =====
Pi a Claude Code je potřeba brát jako dva samostatné nástroje.
Co z dokumentace plyne:
* Pi umí použít Claude modely přes Anthropic API klíč.
* Pi umí OAuth přihlášení pro Claude Pro/Max.
* Pi nepopisuje Claude Code jako backend, provider ani zdroj autentizace.
* Pi neuvádí, že by uměl převzít existující Claude Code session, login nebo interní nástroje.
Praktická kombinace s Claude Code tedy dává smysl spíš takto:
* **Claude Code jako orchestrátor:** z Claude Code lze spustit ''pi -p'' jako běžný příkaz v shellu, pokud je Pi nainstalované a autentizované.
* **Pi jako samostatný agent vedle Claude Code:** oba nástroje běží odděleně, každý se svými sessionami, konfigurací a přístupem k modelům.
* **Integrace přes JSON/RPC:** pokud je potřeba strojově čitelný výstup, je lepší použít ''--mode json'' nebo ''--mode rpc'' než parsovat text z interaktivního TUI.
Co bych od toho nečekal:
* že Pi automaticky použije přihlášení z Claude Code,
* že Pi převezme permission systém Claude Code,
* že Claude Code a Pi budou sdílet kontext nebo historii bez vlastní integrační vrstvy.
===== Limity a rizika =====
* **Méně hotových funkcí v základu:** absence built-in sub-agentů, plan mode nebo permission popupů je záměr, ale nemusí vyhovovat každému.
* **Bez vestavěného MCP:** projekt uvádí, že MCP není součástí jádra; lze ho řešit vlastním CLI/README přístupem nebo extension.
* **Vyšší nároky na vlastní konfiguraci:** pokud chceš hotový produkt, Pi může působit jako stavebnice.
* **Bezpečnost balíčků:** Pi packages mohou obsahovat extensions a skills s plným přístupem k systému. Před instalací třetích stran je potřeba kontrolovat zdrojový kód.
===== Kdy dává smysl Pi vyzkoušet =====
Pi dává smysl, pokud chceš:
* terminálového coding agenta, kterého si můžeš silně přizpůsobit,
* experimentovat s vlastními agenty, tools, prompt templates a providery,
* mít agentický runtime použitelný i z vlastních aplikací přes SDK nebo RPC,
* stavět vlastní workflow místo používání hotového produktu.
Naopak pokud chceš hlavně hotový nástroj s předpřipraveným permission systémem, plánovacím módem, sub-agenty a minimem vlastního ladění, pravděpodobně bude jednodušší zůstat u Claude Code nebo podobného nástroje.
===== Závěr =====
Pi je zajímavý hlavně jako **rozšiřitelný agentický runtime pro terminál**, ne jako přímá náhrada Claude Code. Jeho přidaná hodnota je v tom, že core zůstává malé a workflow se dá dostavět pomocí extensions, skills, šablon a balíčků. Pro praktické použití není nutné spoléhat jen na API klíče, protože Pi podporuje i OAuth přihlášení k vybraným předplatným. Kombinace s Claude Code je možná na úrovni CLI/JSON/RPC integrace, ale nejde o sdílený backend ani sdílenou autentizaci.
===== Zdroje =====
* [[https://pi.dev/|Pi – homepage]]
* [[https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent|Pi Coding Agent – GitHub README]]
* [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/providers.md|Pi – Providers]]
* [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/rpc.md|Pi – RPC mode]]
* [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/json.md|Pi – JSON event stream]]
* [[https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/custom-provider.md|Pi – Custom Providers]]