OpenCode 2 vs Pi Agent (1.0 & Durable): Welcher Coding-Agent gewinnt?
Praxisvergleich von OpenCode 2 und Pi 1.0 (+ Pi Durable): Background-Daemon, Sub-Agents und Desktop-App vs Codemode, natives MCP und crash-sicherer State.
Aktualisiert Veröffentlicht 12 Min. Lesezeit

Hinweis: Dieser Artikel enthält Referral-/Affiliate-Links. Wenn du darüber kaufst, erhalte ich möglicherweise eine Provision – ohne zusätzliche Kosten für dich.
Ich fahre OpenCode und Pi seit Monaten nebeneinander. Beide sind Open-Source-Terminal-Coding-Agents, beide hängen an günstigen Open-Weight-Modellen, und beide laufen zufrieden auf einem 6-Dollar-VPS. Anfang des Jahres war der Vergleich einfach: OpenCode war die TUI mit allem drum und dran, Pi das minimalistische Vier-Tool-Harness.
Dann haben beide Projekte massive Rewrites geschifft. OpenCode 2.0 wurde zu einem persistenten Background-Daemon mit eingebauten Sub-Agents, Git-Worktrees und einem Desktop-/Web-Client. Pi 1.0 (jetzt unter Earendil, gebaut von Mario Zechner und Armin Ronacher) hat seine langjährige „kein MCP”-Haltung mit einer QuickJS-Sandbox namens Codemode umgedreht und Pi Durable für crash-sichere, always-on Background-Agents geschifft.
Ich habe weiterhin beide installiert, und die Trennlinie zwischen ihnen ist jetzt schärfer als zum Launch. Hier ist, was sich geändert hat und wie sie heute dastehen.
Was dieser Artikel abdeckt
- Was sich in OpenCode 2.0 geändert hat (Daemon, Sub-Agents, Code Mode, Desktop-/Web-Pairing) und in Pi 1.0 + Pi Durable
- Daemon-Architektur vs Pi Durables SQLite-/JSONL-Crash-Recovery
- Aktualisierte Install-Befehle (
@opencode/cliv2 und@earendil-works/pi-coding-agent) - Wie beide das MCP-Kontext-Bloat mit programmierbaren Sandboxes gelöst haben
- Pricing mit GLM-5.3, MiniMax M3.1 Flash, DeepSeek V4.1 und OpenCode Go (31 Modelle)
Für das Step-by-Step-Setup siehe den OpenCode-Setup-Guide und den Pi-Coding-Agent-Setup-Guide.
Was sich Ende 2026 geändert hat: OpenCode 2.0 und Pi 1.0
Wenn du ältere Vergleiche dieser beiden Tools gelesen hast: Die Hälfte der Bulletpoints stimmt nicht mehr.
- OpenCode 2.0 wurde ein Background-Daemon. Neu geschrieben in TypeScript und Effect fährt OpenCode 2 einen lokalen Daemon (Port
49374auf Linux/macOS/WSL,45278auf Windows). Deine Terminal-TUI, die Beta-Desktop-App, die Web-UI (opencode pair) und@opencode/sdk-Scripts hängen alle am selben laufenden Service. - OpenCode 2 bekam Sub-Agents und Git-Worktrees. Version 1 hatte keine Sub-Agents. Version 2 liefert
@general-,@explore- und@scout-Sub-Agents, die asynchron im Hintergrund laufen, plus Git-Worktree-Isolation, damit parallele Tasks dein aktuelles Checkout nicht zerlegen. - Pi 1.0 bekam natives MCP via Codemode. Über ein Jahr lang weigerte sich Pi, MCP in den Core zu bauen, weil rohe JSON-Tool-Schemas den Prompt aufblähten. Am 1. Oktober 2026 löste Pi 1.0 das mit Codemode: einer QuickJS-Sandbox, in der das Modell kurze JavaScript-Snippets schreibt, um MCP-Tools aufzurufen, zu filtern und zu parallelisieren – ohne rohe Outputs in den Chat-Transcript zu kippen.
- Pi Durable (
@earendil-works/pi-durable) erschien zusammen mit Pi 1.0. Es checkpointet jeden Model-Turn, jeden Tool-Call und jeden Compaction-Step nach SQLite, JSONL oder Cloudflare Durable Objects. Wenn ein Container neu startet oder dein VPS mitten im Task rebootet, nimmt der Prozess am exakten Speicherpunkt wieder auf – mit Idempotenz-Checks beim Tool-Replay. - Pi ist umgezogen zu
@earendil-works/pi-coding-agent. Das Repo lebt unterearendil-works/piund braucht Node.js 22.19+.
Philosophie: Shared-Daemon-Workspace vs programmierbares Harness
Auch nach beiden Updates hält die Kern-Trennlinie.
OpenCode 2 will deine komplette Coding-Umgebung über Terminal, Browser und Desktop hinweg sein. Du installierst es, fährst /connect, und hast sofort build- und plan-Agents (Toggle mit Tab), @explore-Sub-Agents, /init, /undo, Image-Drag-and-Drop und Remote-Pairing (opencode pair --remote). Du schreibst kein TypeScript, damit es nützlich wird.
Pi 1.0 startet weiterhin klein – read, write, edit, bash, eine Fullscreen-TUI und Codemode – und erwartet, dass du es formst. Persistentes Markdown-Memory, eigene Bash-Guards oder ein spezialisierter Review-Loop gefällig? Du legst .ts-Dateien in ~/.pi/agent/extensions/ ab. Und wenn du statt einer fertigen UI deinen eigenen Background-Agent-Daemon oder Multi-Tenant-Bot baust, gibt dir Pi Durable die State-Machine- und Crash-Recovery-Primitive als npm-Library.
Installation
Beachte die neuen v2-URLs für OpenCode und den neuen @earendil-works-Package-Scope für Pi 1.0 (das jetzt Node.js 22.19+ braucht).
OpenCode 2
curl -fsSL https://opencode.ai/v2/install | bashWenn du eine bestehende v1-Installation upgradest, führe opencode upgrade --major aus (v1 und v2 teilen sich den Binary-Namen opencode). Du kannst auch über npm (npm i -g @opencode/cli@latest), Homebrew (brew install anomalyco/tap/opencode-v2) oder Docker installieren:
docker run -it --rm ghcr.io/anomalyco/opencode:2.0.0Pi 1.0 & Pi Durable
Die empfohlene Installation für die Pi-1.0-CLI ist das offizielle Script:
curl -fsSL https://pi.dev/install.sh | shOder via npm, Bun oder Nix:
# npm (requires Node.js 22.19+)
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# Nix
nix profile add github:earendil-works/pi/stableWenn du mit Pi Durable einen crash-sicheren Background-Service oder eine eigene Agent-App baust, installiere die SDK-Packages in dein TypeScript-Projekt:
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chordArchitektur: OpenCode-2-Daemon vs Pi Durable
Das ist der interessanteste technische Unterschied zwischen den beiden Ende 2026. Beide Teams haben erkannt, dass ein Coding-Agent, der an ein einzelnes interaktives TTY gebunden ist, stirbt, sobald deine SSH-Verbindung abreißt oder dein Laptop schläft – aber sie haben es von entgegengesetzten Enden gelöst.
Wie OpenCode 2s Daemon funktioniert
Wenn du opencode startest, fährt es einen Background-Daemon hoch, der lokal auf Port 49374 lauscht (oder 45278 auf Windows). Jedes Interface ist nur ein Client, der mit diesem Service redet:
- Starte ein Refactoring in der Terminal-TUI
- Führe
opencode pairaus, um dieselbe Live-Session in der Web-UI oder der Beta-Desktop-App (macOS, Windows, Linux) zu öffnen - Nutze
opencode pair --remote, um einen Ende-zu-Ende-verschlüsselten Tunnel zu bauen, der durch ein Server-Passwort geschützt ist – so checkst du eine Homeserver- oder VPS-Session von einer anderen Maschine aus - Steuere den Daemon programmatisch mit
@opencode/clientund@opencode/sdk
Wie Pi Durable funktioniert
Pi hat die pi-CLI als sauberen interaktiven Terminal-Runner behalten und langlebigen State in @earendil-works/pi-durable ausgelagert.
Statt eines einzelnen lokalen Desktop-Daemons ist Pi Durable eine Execution-Engine für Agents, die Prozess-Crashes, Container-Redeploys oder Server-Reboots überleben müssen:
- Checkpointing auf Task-Ebene: Jeder LLM-Call, jede Tool-Ausführung und jede Kontext-Compaction wird als diskreter Schritt nach SQLite, JSONL oder Cloudflare Durable Objects committed.
- Exakte Crash-Recovery: Wenn dein Worker-Prozess mitten im Turn gekillt wird, öffnet ein neuer Prozess den SQLite-/JSONL-Store und macht genau da weiter, wo der unterbrochene Schritt aufgehört hat.
- Replay-Sicherheit (Idempotenz): Bei der Recovery nach einem Crash willst du nicht, dass ein Agent blind ein
git push, eine Datenbank-Migration oder einen Stripe-Charge erneut ausführt. Pi Durable lässt Tools deklarieren, ob sie sicher auto-replay-bar sind. Idempotente Read-Tools laufen automatisch erneut; nicht-idempotente Tools spiegeln den unterbrochenen State zurück an das Modell, damit es inspizieren kann, was passiert ist, bevor es handelt.
Wenn du eine fertige Multi-Client-App willst, die du heute mit deinem Browser paaren kannst, gewinnt OpenCode 2s Daemon. Wenn du deine eigenen Always-on-DevOps- oder Coding-Bots in TypeScript schreibst und transaktionale State-Recovery brauchst, ist Pi Durable für genau den Job gebaut.
Modell-Support
Beide Agents hängen an denselben günstigen Open-Weight-Modellen.
OpenCode 2
OpenCode unterstützt 75+ Provider über Models.dev und lokale Engines wie Ollama und LM Studio. Setze deine Keys in .env oder führe /connect in der TUI aus.
Provider-API-Keys in lokalen Env-Vars halten
Am 17. Oktober 2026 hat OpenCode eine Breach seines Legacy-Console-Systems offengelegt, die gespeicherte Drittanbieter-API-Keys (OpenAI, Anthropic, Google) von ~1,4 % der Console-Nutzer exponierte. Lagere deine Provider-Keys lokal in ~/.config/opencode/.env oder Umgebungsvariablen statt rohe Production-Keys in Third-Party-Web-Dashboards zu speichern.
Pi 1.0
Pi unterstützt 20+ eingebaute Provider plus Custom-Endpoints in ~/.pi/agent/models.json (das hot-reloadet, wenn du /model öffnest). Pi 1.0 führte außerdem virtuelle Modelle für Router-artiges Modell-Switching und verzögertes Tool-Loading ein.
Beide Agents funktionieren out of the box mit OpenRouter und OpenCode Go. Der OpenCode-Go-Plan enthält jetzt 31 Modelle für 10 $/Monat (plus einen Go-Plus-Tier für 40 $/Monat mit 2–4x höheren Limits), darunter GPT 6 Luna, GLM-5.3, DeepSeek V4.1 Flash, Kimi K3, MiniMax M3 und Qwen 3.8. Siehe den Guide zu günstigen Modellen und das OpenCode-Go-Review für die exakten 5-Stunden-Request-Caps.
Modelle, die ich mit beiden Agents fahre (Ende 2026)
| Aufgabe | Modell | Typische API-Kosten |
|---|---|---|
| Alltags-Edits in hohem Volumen | GLM-5.3-Flash / MiniMax M3.1-Flash | 0,15 $/M Input |
| Schnelles agentisches Coding & Tools | DeepSeek V4.1 Flash | In Go enthalten (80-$-Cap) |
| Harte Multi-File-Refactorings | GLM-5.3 | 1,40 $/M Input |
| Long-Context-Repo-Chirurgie | DeepSeek V4 Pro / Kimi K3.1 Pro | 0,435–2,00 $/M Input |
Workflow-Vergleich
Plan-Modus
OpenCode 2 hat plan und build als primäre Agents. Drück Tab, um zwischen Read-only-Planung und aktivem Dateieditieren zu wechseln.
Pi hält Planung weiterhin modular über die pi-plan-Extension (oder LazyPi) – Read-only-Planung und Approval-Gates, sobald installiert.
Code Mode vs Codemode: Wie beide das MCP-Bloat gefixt haben
Das ist eine lustige Konvergenz: Beide Projekte haben fast exakt dieselbe Lösung für MCPs größten Makel geschifft – und ihr fast identische Namen gegeben.
30 MCP-Tools auf dem klassischen Weg anzuschließen kippt tausende Zeilen JSON-Schema in deinen System-Prompt, bevor du ein Wort getippt hast. Beide Agents umgehen das jetzt:
- OpenCode 2 „Code Mode”: Stellt verbundene MCP-Server und -Tools als programmierbare JavaScript-Funktionen bereit, damit der Agent mehrere Operationen in einem Durchgang verketten und komponieren kann, statt Tokens auf Tool-Turn-Ping-Pong zu verbrennen.
- Pi 1.0 „Codemode”: Fährt eine harness-seitige QuickJS-Sandbox. Natives MCP ist jetzt in Pi-1.0-Core eingebaut (kein
pi-mcp-adapternötig), und das Modell schreibt kurze JS-Scripts innerhalb der Sandbox, um MCP-Tools parallel aufzurufen, die Daten lokal zu filtern und nur das kompakte Ergebnis an die Konversation zurückzugeben.
Sub-Agents und parallele Arbeit
OpenCode 2 hat die Lücke hier geschlossen. Du bekommst eingebaute Sub-Agents – @general, @explore und @scout – an die der primäre Agent automatisch delegiert oder die du mit @mentions aufrufst. In Kombination mit OpenCode 2s Git-Worktree-Support laufen Background-Tasks und Builds asynchron, ohne dein Terminal zu blockieren.
Pi handhabt parallele Agents über pi-subagents und seine Extension-API – oder auf Infrastruktur-Ebene via @earendil-works/pi-durable und @earendil-works/chord, wenn du Multi-Agent-Graphen in Code orchestrierst.
Memory
OpenCode 2 verlässt sich weiterhin auf AGENTS.md für statische Projektregeln und auf MCP-Memory-Server (wie Hindsight oder Cognee), wenn du sessionsübergreifendes Recall willst.
Pi nutzt die pi-memory-md-Extension, um persistente Markdown-Notizen über dein Repo automatisch sessionübergreifend zu lesen und zu schreiben, während Pi Durable komplette Execution-Checkpoints nach SQLite oder JSONL persistiert.
Sessions und CLI-Automatisierung
OpenCode 2 gibt dir /undo, /redo, /share, Session-Syncing über TUI/Web/Desktop via dem lokalen Daemon und opencode pair.
Pi gibt dir /resume, /new, /tree, /fork und /clone, um Konversationen wie eine Git-History zu branchen, plus pi -p "prompt" mit --mode json oder --mode rpc für CI-Pipelines und Shell-Scripts.
Extensions und SDKs
OpenCode 2 (@opencode/sdk)
OpenCode 2 führte offizielle programmatische Packages ein – @opencode/client und @opencode/sdk –, die über die lokale HTTP-/WebSocket-API mit dem v2-Daemon reden. Beachte: Weil v2 ein Ground-up-Rewrite in Effect war, hatten Legacy-v1-Plugins Breaking Changes.
Pi 1.0 (~/.pi/agent/extensions/ + pi-durable)
Pis TypeScript-Extension-System bleibt der einfachste Weg, an deinem eigenen interaktiven Agent zu hacken: Leg eine .ts-Datei in ~/.pi/agent/extensions/ ab, intercepte Tool-Calls, füge Slash-Commands oder eigene TUI-Widgets hinzu und führe /reload aus. LazyPi installiert weiterhin 60+ Skills und 76 Themes in einem Rutsch, und pi-config liefert fertige Bash-Guards und Web-Tools.
Pricing
Beide Agents sind kostenlose, MIT-/Open-Source-Software. Du zahlst nur für Modell-Tokens.
| Setup | Monatliche Kosten |
|---|---|
| GLM-5.3-Flash / MiniMax M3.1-Flash (API) | 2–8 $/Monat bei typischer Nutzung |
| OpenCode Go (31 Modelle, läuft in beiden) | 10 $/Monat (40 $/Monat Go Plus) |
| GLM-5.3 / DeepSeek V4 Pro (direkt oder OpenRouter) | 10–25 $/Monat |
| Claude Sonnet / Opus via Anthropic API | 20–60+ $/Monat |
Ein OpenCode-Go-Key funktioniert in OpenCode 2 und Pi 1.0 (export OPENCODE_API_KEY=your-key).
Side-by-Side-Zusammenfassung (OpenCode 2 vs Pi 1.0)
| Feature | OpenCode 2.0 | Pi 1.0 (+ Pi Durable) |
|---|---|---|
| Kern-Architektur | Persistenter lokaler Daemon (Port 49374) |
Minimales CLI-Harness + optional @earendil-works/pi-durable |
| Install-Package | @opencode/cli (opencode.ai/v2/install) |
@earendil-works/pi-coding-agent (pi.dev/install.sh) |
| UI-Flächen | Fullscreen-TUI, Web-UI, Desktop-App (Beta) | Fullscreen-TUI, JSON-/RPC-Headless-Modi |
| Plan-Modus | Eingebaut (Tab zwischen plan und build) |
Via pi-plan-Extension |
| MCP-Support | Eingebaut mit JS Code Mode | Eingebautes natives MCP mit QuickJS Codemode |
| Sub-Agents | Eingebaut (@general, @explore, @scout) + Git-Worktrees |
Via pi-subagents-Extension oder @earendil-works/chord |
| Crash-sicherer State | Daemon-Session-Persistenz | Pi Durable (SQLite / JSONL / Cloudflare DO + Replay-Safety) |
| Modell-Provider | 75+ eingebaut | 20+ eingebaut + hot-reloadendes models.json + virtuelle Modelle |
/init-Bootstrap |
Eingebaut (AGENTS.md) |
Manuelles AGENTS.md oder pi-config |
| Customizing | Config, MCP, @opencode/sdk |
Hot-Reload-.ts-Extensions + 76 Themes |
| OpenCode-Go-Support | Ja (31 Modelle) | Ja (31 Modelle) |
Wann OpenCode 2
- Du willst direkt nach dem Install ein komplettes System ohne Extension-Suche
- Du startest Tasks gern im Terminal und checkst sie in einem Browser- oder Desktop-Fenster via
opencode pair - Du willst eingebaute
@explore- und@general-Sub-Agents mit Git-Worktree-Isolation - Du willst
/init,/undo,/redound 75+ vorverdrahtete Provider out of the box
Wann Pi 1.0 (und Pi Durable)
- Du willst einen schnellen, minimalen Terminal-Agent, bei dem jedes Zusatzverhalten eine lesbare
.ts-Datei ist, die du kontrollierst - Du magst Pi 1.0s QuickJS-Codemode zum Verketten von MCP-Tools ohne Kontext-Bloat
- Du nutzt Conversation-Branching (
/tree,/fork,/clone) und Headless-pi -p-Scripting - Du baust eigene langlebige Background-Agents oder Multi-User-Bots und brauchst Pi Durables SQLite-Checkpointing und idempotente Tool-Recovery
Wann beide
Ich fahre weiterhin beide auf demselben VPS. OpenCode 2 ist mein Default, wenn ich den plan-→-build-Loop, @explore-Sub-Agents im Hintergrund oder opencode pair --remote in einen Browser-Tab will. Zu Pi 1.0 greife ich, wenn ich eine abgespeckte Terminal-Session mit eigenen .ts-Extensions will – oder wenn ich einen durable Background-Workflow verdrahte, der es sich nicht leisten kann, bei einem Restart State zu verlieren. Beide teilen sich denselben OPENCODE_API_KEY und OPENROUTER_API_KEY.
Kann ich denselben API-Key für OpenCode 2 und Pi 1.0 nutzen?
Ja. Beide lesen OPENROUTER_API_KEY und OPENCODE_API_KEY aus deiner Umgebung. Ein 10-$-OpenCode-Go-Abo pro Monat funktioniert in beiden Tools und teilt sich dasselbe 5-Stunden- und Wochenkontingent.
Was ist Pi Durable – und brauche ich es für normales CLI-Coding?
Nein – wenn du pi einfach interaktiv in deinem Terminal fährst, speichert und resumed die Standard-@earendil-works/pi-coding-agent-CLI deine Chat-Transcripts schon. Pi Durable (@earendil-works/pi-durable) ist für Entwickler, die langlebige Background-Agents, Daemons oder Web-Apps bauen, wo der Agent Prozess-Crashes oder Server-Reboots überleben und unterbrochene Tool-Calls sicher replayen oder überspringen muss.
Wie upgrade ich von OpenCode v1 auf OpenCode 2?
Führe opencode upgrade --major aus oder installiere direkt mit curl -fsSL https://opencode.ai/v2/install | bash. Da v1 und v2 beide den Binary-Namen opencode nutzen, ersetzt v2 v1 in deinem PATH. Falls du Custom-v1-Plugins hattest, prüfe sie nach dem Upgrade – der v2-Effect-Rewrite brachte Breaking-API-Changes mit sich.
Hat Pi 1.0 wirklich nativen MCP-Support bekommen?
Ja. Nach über einem Jahr MCP-Verweigerung wegen Schema-Token-Bloat hat Pi 1.0 am 1. Oktober 2026 nativen MCP-Support via Codemode eingeführt. Statt jedes MCP-Schema in den Prompt zu kippen, schreibt das Modell JavaScript in einer QuickJS-Sandbox, um MCP-Tools lokal aufzurufen und zu filtern.
Kann ich beide auf demselben VPS fahren?
Ja. OpenCode 2 fährt seinen Background-Daemon standardmäßig auf Port 49374, während Pi als Standalone-Prozess in deinem Verzeichnis läuft. Sie kommen sich nicht in die Quere.
Für weitere Agent-Guides siehe den Hermes-Agent-Setup-Guide, den Artikel zu GitHub-Copilot-Alternativen und den Guide zu den besten Open-Source-Modellen für OpenClaw. Für den breiteren Tooling-Katalog siehe 60+ Top-AI-GitHub-Repos.
Hat diese Anleitung bei dir funktioniert?
Brauchst du Hilfe bei Astro, VPS oder einer Self-hosted-App? Services ansehen →


