Bitdoze-Logo

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.

Dragos

Aktualisiert Veröffentlicht 12 Min. Lesezeit

OpenCode 2 vs Pi Agent: zwei Terminal-Coding-Agents im Vergleich

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/cli v2 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 49374 auf Linux/macOS/WSL, 45278 auf 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 unter earendil-works/pi und 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

bash
curl -fsSL https://opencode.ai/v2/install | bash

Wenn 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:

bash
docker run -it --rm ghcr.io/anomalyco/opencode:2.0.0

Pi 1.0 & Pi Durable

Die empfohlene Installation für die Pi-1.0-CLI ist das offizielle Script:

bash
curl -fsSL https://pi.dev/install.sh | sh

Oder via npm, Bun oder Nix:

bash
# npm (requires Node.js 22.19+)
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

# Nix
nix profile add github:earendil-works/pi/stable

Wenn du mit Pi Durable einen crash-sicheren Background-Service oder eine eigene Agent-App baust, installiere die SDK-Packages in dein TypeScript-Projekt:

bash
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord

Architektur: 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 pair aus, 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/client und @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-adapter nö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, /redo und 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 →