Pi: ein minimales, erweiterbares Grundgerüst für Coding-Agenten
earendil-works/pi · 109.302★ · 13.892 forks
Alles Wissenswerte über earendil-works/pi: ein MIT-lizenziertes Monorepo mit einer interaktiven Coding-CLI, einer Agenten-Schleife, einer Modell-API und einer erweiterbaren Terminal-Oberfläche.
Was Pi ist
Pi ist ein Terminal-Grundgerüst für Programmierung. Sein Hauptpaket, @earendil-works/pi-coding-agent, bietet eine interaktive Konversation mit Werkzeugen zum Lesen, Schreiben, Bearbeiten und Ausführen von Befehlen; dasselbe Repository veröffentlicht die Laufzeitumgebung pi-agent-core, die Multi-Provider-API pi-ai, die Oberflächenbibliothek pi-tui und Telemetrie-Verträge.
Es will keine geschlossene Umgebung sein, die eine Methodik erzwingt. Die offizielle Dokumentation beschreibt es als kleinen Kern, der mit TypeScript-Erweiterungen, Skills, Prompt-Vorlagen, Themes und über npm oder Git teilbaren Pi-Paketen erweitert wird. Sie zeigt außerdem vier Nutzungsformen: interaktive Oberfläche, Print- oder JSON-Ausgabe, RPC und ein SDK zur Einbettung in eine andere Anwendung.
Der Ursprung: der bewusste Minimalismus von Mario Zechner
Die Paketdokumentation verlinkt den Essay von Mario Zechner, „What if you don’t need MCP?”, und seinen Beitrag „Pi Coding Agent” vom 30. November 2025. Dieses Material erklärt die grundlegende Spannung: Statt Funktionen, die andere Agenten standardmäßig mitbringen, in die CLI zu häufen, behält Pi einen schlanken Kern und überlässt es den Nutzenden, zu bauen oder zu installieren, was sie brauchen.
Diese Haltung zeigt sich darin, was das Projekt bewusst nicht in den Kern aufnimmt: MCP, Subagenten, Berechtigungsdialoge, Planungsmodus, Aufgabenlisten und Hintergrundbefehle. Das bedeutet nicht, dass diese Fähigkeiten unmöglich sind: Das README nennt explizite Alternativen wie Erweiterungen, externe Pakete, tmux, TODO.md-Dateien und Container. Es ist eine Architektur- und Governance-Entscheidung, keine Behauptung, dass solche Funktionen nutzlos wären.
Philosophie und Prinzipien
- Minimaler Kern, maximale Erweiterung.
CONTRIBUTING.mdweist darauf hin, dass eine Funktion, die nicht in den Kern gehört, eine Erweiterung sein sollte, und dass Anfragen, die ihn aufblähen, wahrscheinlich abgelehnt werden.

- Das Werkzeug an den Arbeitsablauf anpassen. Der offizielle Ansatz ist, Pi an bestehende Prozesse anzupassen, mittels TypeScript-Modulen, Skills und Paketen, statt das Team zu einer vorgegebenen Abfolge zu zwingen.
- Verantwortung der Betreiber. Pi bringt keine Berechtigungen mit, um Dateien, Prozesse, Netzwerk oder Zugangsdaten zu begrenzen: Es läuft mit den Rechten des Prozesses, der es startet. Die Dokumentation empfiehlt einen Container, OpenShell oder die Gondolin-Erweiterung, wenn stärkere Grenzen nötig sind.

- Code- und Abhängigkeitsprüfung. Das Repository fixiert direkte Versionen, verwendet
--ignore-scriptsbei kompatiblen Installationen und prüft die Abhängigkeits-Sperrdatei; außerdem wird verlangt, dass Beitragende den Code verstehen, auch wenn sie ihn mit KI geschrieben haben.
Wie es funktioniert

Die CLI nutzt das aktuelle Verzeichnis als Arbeitsbereich und stellt dem Modell die Werkzeuge read, write, edit und bash zur Verfügung; es gibt zusätzliche konfigurierbare Nur-Lese-Werkzeuge. Anbieter authentifizieren sich mit /login oder einem API-Schlüssel, und /model wechselt das Modell. Sitzungen werden als JSONL in ~/.pi/agent/sessions/ gespeichert, mit einem Nachrichtenbaum zum Fortsetzen, Verzweigen oder Klonen von Konversationszweigen.

Die Anpassung ist nach Dateien und Modulen organisiert:
AGENTS.md,CLAUDE.mdundAGENTS.override.mdliefern Kontext aus dem aktuellen Verzeichnis und seinen übergeordneten Ordnern.~/.pi/agent/settings.jsonund.pi/settings.jsonspeichern globale und projektbezogene Konfiguration.- TypeScript-Erweiterungen können Werkzeuge, Befehle, Event-Handler und Oberflächenkomponenten registrieren; damit lassen sich MCP-Integration, Berechtigungsschranken, Subagenten oder Git-Checkpoints hinzufügen.
- Skills folgen dem Agent-Skills-Standard und können als
/skill:nameinstalliert oder automatisch geladen werden.

- Pi-Pakete verteilen Erweiterungen, Skills, Anweisungen und Themes über npm oder Git.
Das Projekt unterstützt Claude-, ChatGPT/Codex- und GitHub-Copilot-Abonnements sowie eine umfangreiche Liste von API-Anbietern und llama.cpp. Die Veröffentlichung v0.83.0 fügte Anmeldedaten-Export mit OAuth-Erneuerung, den Abschluss der OpenRouter-Anmeldung über SSH und Unterstützung für Claude Opus 5 über GitHub Copilot hinzu.

Offizieller und halboffizieller Status
Pi ist ein von Earendil Inc. gepflegtes Projekt mit offizieller Website und Dokumentation unter pi.dev, offiziellem npm-Paket und offizieller Discord-Community. Es wurden keine Belege dafür gefunden, dass es ein offizielles Produkt von Anthropic, OpenAI, GitHub oder eines Marktplatzes dieser Anbieter ist: Abonnements dieser Dienste sind unterstützte Authentifizierungsoptionen, keine Zertifizierung des Produkts.
Seine Nutzung als erweiterbares Grundgerüst zeigt sich in den von der Dokumentation selbst aufgeführten verwandten Paketen und Projekten sowie in externen Diskussionen, aber es wurde keine formale Bezeichnung als De-facto-Standard gefunden. Diese offene Verbreitung sollte von einer Befürwortung durch einen Modellanbieter unterschieden werden.
Das Ökosystem
Komponenten und Projekte im selben Umfeld
earendil-works/pi-chat: Das Haupt-README verlinkt es für Slack-Automatisierung, Chat und Arbeitsabläufe.- Gondolin: eine im README genannte Erweiterung, um Pi und die Authentifizierung auf dem Host zu belassen und Werkzeuge sowie
!-Befehle an eine lokale Linux-Mikro-VM zu senden. Ein Hacker-News-Kommentar schreibt Gondolin demselben Ersteller wie Pi zu. earendil-works/absurd: ein verwandtes Projekt, das in Hacker-News-Kommentaren als weitere Entwicklung des Teams erwähnt wird; der Kommentar beschreibt es als minimalistisch und kontrollierbar, aber diese Einschätzung ist die Meinung seines Autors, kein unabhängiger Beleg.badlogic/pi-share-hfund die Sammlungbadlogic/pi-monoauf Hugging Face: offizielle, vom README verlinkte Kanäle, um offene Coding-Sitzungen zu veröffentlichen und Daten zu Aufgaben, Werkzeugen, Fehlern und Korrekturen zu sammeln.
Community-Erweiterungen und wiedergefundene Ableger
can1357/oh-my-piwird vom Nutzertheturtletalksals Alternative verlinkt, die er parallel zu Pi ausprobierte. Die Quelle reicht nicht aus, um vollständige Kompatibilität oder offizielle Pflege zu behaupten.gitsense/pi-brainswurde vonsdesolals Routing- und Kontext-Erweiterung für Pi vorgestellt. Es handelt sich um ein Community-Projekt, keine Komponente von Earendil.- Der Thread „I Built a Telegram Client for Pi” belegt mindestens eine von
atharva-againveröffentlichte Telegram-Client-Erweiterung; das Gespräch erlaubte es nicht, ihr Repository zuverlässig zu ermitteln, weshalb kein Name und keine Kennzahlen erfunden werden.
Die Suche nach Forks wurde über die GitHub-API abgefragt, aber das öffentliche Kontingent wurde bei diesem Durchlauf abgelehnt. Deshalb wird keine Fork- oder Übersetzungsliste angeboten, als wäre sie vollständig. Ebenso wurde keine verifizierbare nicht-englische Übersetzung gefunden.
Zahlen zum Repository
Messung: 5. August 2026, öffentliche GitHub- und npm-Seiten.
| Kennzahl | Sichtbarer Wert |
|---|---|
| Sterne | 84,2 Tausend |
| Forks | 10,4 Tausend |
| Commits | 5.488 |
| Branches | 50 |
| Tags | 308 |
| Sichtbare offene Issues | 65 |
| Sichtbare offene Pull Requests | 16 |
| Lizenz | MIT |
| Neueste Version | v0.83.0, in der Vorwoche veröffentlicht |
| npm-Downloads der letzten Woche | 1.613.282 |
GitHub zeigte als letzten Commit 6b461b7 von badlogic, zwei Stunden vor der Abfrage. Die Versionsseite führt v0.83.0 als aktuellste; die offizielle Ankündigung datiert sie auf den 29. Juli 2026. Die GitHub-API meldete ein Ratenlimit, sodass reale Abonnenten, Hauptsprache, exakte Daten und eine Rangliste der Beitragenden nicht verifiziert werden konnten. Die 65 Issues und 16 Pull Requests sind separate Seitenzähler, nicht das aggregierte Feld open_issues_count der API.
Wie man beiträgt
Der Prozess ist bewusst selektiv. Issues und Pull Requests von neuen Beitragenden werden automatisch geschlossen, und die Maintainer prüfen sie täglich. Damit künftige Issues offen bleiben können, ist eine Maintainer-Antwort mit lgtmi erforderlich; bei Pull Requests lgtm.

Vor dem Öffnen eines genehmigten Pull Requests verlangt die Anleitung die Ausführung von:
npm run check
./test.sh
CHANGELOG.md darf nicht bearbeitet werden. Issues müssen eine der beiden Vorlagen verwenden, kurz und konkret sein und von der einreichenden Person verfasst werden; die Anleitung warnt, dass massenhafte oder wiederholt nachlässige Einreichungen zu einer Sperre führen können. Die dokumentierte Begründung ist der Schutz der Maintainer-Zeit vor minderwertigen automatisierten Berichten, nicht der Ausschluss begründeter Beiträge.
Kurzanleitung zur Nutzung
Installation und erster Start
Für den Hauptweg werden Node und npm benötigt. Die offizielle Dokumentation empfiehlt:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
cd /pfad/zum/projekt
pi
--ignore-scripts deaktiviert Lifecycle-Skripte von Abhängigkeiten; Pi erklärt, dass es sie für eine normale npm-Installation nicht benötigt. Unter Linux und macOS gibt es auch curl -fsSL https://pi.dev/install.sh | sh. Führen Sie beim Start /login aus und wählen Sie einen Abonnement-Anbieter, oder setzen Sie einen Schlüssel, zum Beispiel export ANTHROPIC_API_KEY=..., bevor Sie pi starten.
Beim ersten Start kann Pi fragen, ob Sie lokalen Projektressourcen vertrauen. Diese Entscheidung steuert, ob .pi/settings.json, Erweiterungen und lokale Pakete geladen werden; sie sollte nicht ohne Prüfung des Repositorys bestätigt werden.
Gängige Arbeitsabläufe
- Ein Projekt untersuchen und korrigieren. Starten Sie
pi, geben Sie eine Aufgabe ein und lassen Sie esread,write,editundbashnutzen. Um innerhalb der Sitzung eine konkrete Prüfung anzufordern, verwenden Sie!npm run lint;!!npm run lintführt den Befehl aus, ohne seine Ausgabe in den Kontext des Modells aufzunehmen. - Bestimmte Dateien überprüfen. Verwenden Sie
pi @README.md "Fasse diese Datei zusammen"oderpi @src/app.ts @src/app.test.ts "Prüfe beide". Im interaktiven Editor öffnet@eine unscharfe Dateisuche.

- Eine Recherche fortsetzen oder verzweigen.
pi -csetzt die letzte Sitzung fort,pi -rerlaubt die Auswahl einer früheren, undpi --session <pfad|id>öffnet eine bestimmte. Innerhalb der Oberfläche bewahren/tree,/forkund/cloneZweige der Historie. - Einen Aufruf automatisieren.
pi -p "Fasse diese Codebasis zusammen"erzeugt einen einmaligen Lauf;pi --mode jsonliefert JSON-Ereignisse, undpi --mode rpcbindet einen externen Prozess über JSONL auf Standard-Ein- und -Ausgabe ein.
Wesentliche Konfiguration
~/.pi/agent/settings.json: globale Optionen, einschließlich des standardmäßigen Projektvertrauens und der Telemetrie..pi/settings.json: Optionen, die die globalen in einem vertrauenswürdigen Repository überschreiben.AGENTS.mdoderCLAUDE.md: Projektanweisungen, die Pi beim Start lädt;AGENTS.override.mdersetzt jene aus diesem Ordner.~/.pi/agent/skills/oder.pi/skills/: lokale Skills mitSKILL.md.~/.pi/agent/extensions/oder.pi/extensions/: TypeScript-Erweiterungen für Werkzeuge, Ereignisse und Oberfläche.
Nach dem Ändern von Kontextressourcen führen Sie /reload aus oder starten Sie Pi neu.
Häufige Fallstricke und Lösungen
- Unerwartete Berechtigungen. Pi hat keine eingebauten Berechtigungsdialoge und handelt mit den Rechten des Prozesses. Verwenden Sie für nicht vertrauenswürdige Arbeit Docker, OpenShell oder Gondolin; gehen Sie nicht davon aus, dass die CLI Befehle von sich aus isoliert.
- Lokale Ressourcen werden nicht geladen. Wird dem Projekt nicht vertraut, werden Konfiguration und Erweiterungen aus
.pinicht aktiviert. Prüfen Sie den Code und bestätigen Sie mit/trust, oder passen SiedefaultProjectTrustgemäß Team-Richtlinie an. - Installation von Drittanbieter-Paketen. Erweiterungen können beliebigen Code ausführen, und Skills können gefährliche Aktionen anweisen. Prüfen Sie den Code vor
pi install; fixieren Sie bei Git ein Tag oder einen Commit, etwapi install git:github.com/nutzer/repo@v1. - Automatisch geschlossenes Issue oder Pull Request. Folgen Sie
CONTRIBUTING.md, verwenden Sie eine Vorlage, beschreiben Sie eine kurze Reproduktion und warten Sie auf die Prüfung; für dringende Fälle verweist die Anleitung auf Discord. - Zu lange Sitzung. Die automatische Kompaktierung ist aktiv und bewusst verlustbehaftet; die vollständige Historie bleibt in JSONL erhalten. Verwenden Sie
/compactund/tree, um den Kontext zu steuern und einen früheren Punkt wiederherzustellen.
Integrationen und Migration
Pi lässt sich über ein SDK in Anwendungen integrieren oder über pi --mode rpc mit einem anderen Prozess verbinden. Um die CLI um MCP, Subagenten, Genehmigungen oder Bereitstellungswerkzeuge zu erweitern, ist der dokumentierte Weg eine TypeScript-Erweiterung; es gibt keinen nativen MCP-Server. Pakete werden mit pi install npm:@organisation/paket oder aus Git installiert, und -l installiert sie lokal im Projekt. Wer von einer CLI mit eingebauten Funktionen kommt, muss diese Erwartungen in Erweiterungen, Skills oder Pakete übersetzen, statt nach entsprechenden nativen Schaltern zu suchen.
Wie die Community reagierte
Die verifizierbare Rezeption verbindet Lob für die Einfachheit mit Einwänden zu Umfang und Disziplin des Projekts:
- Auf Hacker News hatte der Thread 49176038, „Pi’s Minimalism Is Its Advantage”, 509 Punkte und 275 Kommentare. Nutzer manoji gab an, auf dem Grundgerüst einen Agenten zu bauen, und lobte dessen Einfachheit. Das ist eine persönliche Erfahrung, kein kontrollierter Vergleich.
- Der Thread 48804801 über einen Telegram-Client für Pi hatte 72 Punkte und 44 Kommentare. tough stellte es „im Geiste” neben Claude Code, Codex und OpenCode und hob hervor, dass es leicht zu erweitern sei; diese Einschätzung ist die Meinung eines Kommentators, keine Empfehlung der genannten Projekte.
- In 48865001, 154 Punkte und 143 Kommentare, gab theturtletalks an, Codex CLI durch Pi ersetzt zu haben und
oh-my-pizu testen. Das ist ein Signal individueller Nutzung und eines Ablegers, kein Beweis für Überlegenheit. - Es gibt auch operative Kritik. In 48259192, mit 196 Punkten und 147 Kommentaren, wies the_mitsuhiko auf ein Pi-Issue hin, das die Vorlage nicht befolgte, und bezeichnete es als minderwertige generierte Analyse. Diese Beschwerde passt zur strikten Beitragsrichtlinie des Repositorys, beweist aber nicht, dass alle Berichte so sind.
Die direkte Abfrage von Reddit in r/programming, r/selfhosted, r/LocalLLaMA, r/devops, r/netsec und r/MachineLearning wurde von der Seite blockiert, weshalb keine Threads oder Meinungen aus diesen Communities zugeordnet werden. Die Dev.to-API lieferte zwar eine Rezension von andrew-ooo und einen Cloudflare-Artikel von harshil1712, aber deren Schlussfolgerungen wurden nicht verwendet, ohne die vollständigen Texte abzurufen. Product Hunt zeigte eine Verifizierungsseite, und die X-Suche erlaubte es nicht, eine verifizierbare öffentliche Konversation abzurufen; das README verlinkt jedoch zwei Beiträge von badlogic auf X über das Teilen von Sitzungen sowie ein Demo-Video aus diesem Beitrag.
Pi im Vergleich zu anderen Ansätzen
| Ansatz | Verifizierbare Übereinstimmung | Dokumentierter Unterschied |
|---|---|---|
| Claude Code | Beide sind Terminal-Coding-Agenten, und Pi erlaubt die Anmeldung mit einem Claude-Abonnement. | Pi integriert standardmäßig keine Berechtigungen, Subagenten oder Planungsmodus; sein README schlägt für diese Funktionen Erweiterungen oder Container vor. |
| Codex CLI | Beide können als Programmierassistenten genutzt werden; Pi akzeptiert die ChatGPT/Codex-Anmeldung. | Pi kann mehrere Anbieter nutzen und bietet Pakete, RPC und ein SDK; es wurde kein Benchmark gefunden, der einen Qualitätsvergleich rechtfertigt. |
| OpenCode | Ein Hacker-News-Kommentar gruppiert sie als Grundgerüste der ersten Reihe. | Die einzige gefundene Quelle ist diese Meinung; es wird keine Gleichwertigkeit von Funktionen oder Leistung behauptet. |
can1357/oh-my-pi | Ein Community-Ableger oder eine Erweiterung, zitiert von einem Hacker-News-Nutzer. | Die gefundene Quelle dokumentiert weder Design noch Kompatibilität, weshalb dies vor einer Migration separat geprüft werden sollte. |
Anwendungsfälle und wem dieses Repository helfen kann
- Entwicklerinnen und Entwickler, die eine an mehrere Anbieter anpassbare CLI wollen, können
/login,/model, API-Schlüssel undllama.cppnutzen, um von derselben Oberfläche aus zu arbeiten, ohne das Grundgerüst für jeden Anbieter zu wechseln. - Teams mit Repository-Konventionen können Prüfungen und Grenzen in
AGENTS.mdoderCLAUDE.mdfestlegen, globalen und projektbezogenen Kontext nutzen und gespeicherte Sitzungen fortsetzen, um die Arbeit an einer Aufgabe zu erhalten. - Wer Entwicklungswerkzeuge baut, kann den Agenten über SDK oder RPC integrieren und TypeScript-Erweiterungen erstellen, um Werkzeuge, UI, Genehmigungen, Telemetrie, Subagenten oder MCP-Konnektoren zu registrieren.
- Organisationen mit Isolationsanforderungen können Pi in Docker oder OpenShell ausführen oder Werkzeuge an Gondolin weiterleiten, immer im Bewusstsein, dass Isolation standardmäßig nicht Teil der CLI ist.
- Maintainer, die wiederverwendbare Automatisierungen teilen möchten, können Skills, Vorlagen, Themes und Erweiterungen als npm- oder Git-Pakete verteilen und dabei Referenzen fixieren, um unerwartete Änderungen zu verringern.
Ressourcen
- Repository: https://github.com/earendil-works/pi
- Dokumentation und Installation: https://pi.dev/docs/latest und https://pi.dev/docs/latest/quickstart
- npm-Paket: https://www.npmjs.com/package/@earendil-works/pi-coding-agent
- Offizielle Neuigkeiten und Änderungen: https://pi.dev/news und https://github.com/earendil-works/pi/releases
- Leitfaden für Beiträge: https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md
- RFCs des Projekts: https://rfc.earendil.com/keyword/pi/
- Discord-Community: https://discord.com/invite/3cU7Bz4UPx
- Diskussionen und Rezensionen: https://news.ycombinator.com/item?id=49176038, https://news.ycombinator.com/item?id=48804801, https://news.ycombinator.com/item?id=48865001, https://news.ycombinator.com/item?id=48259192, https://dev.to/andrew-ooo/pi-coding-agent-review-the-minimal-terminal-harness-5b46, https://dev.to/cloudflare/how-i-run-the-pi-coding-agent-on-cloudflare-ld5
- Vom Projekt verlinktes Video und offene Sitzungen: https://x.com/badlogicgames/status/2041151967695634619, https://github.com/badlogic/pi-share-hf, https://huggingface.co/datasets/badlogic/pi-mono
Hinweis: Dieser Artikel kombiniert das aus dem Repository abgerufene README und CONTRIBUTING.md, die Dokumentation und Nachrichten von pi.dev, die öffentlichen GitHub-Seiten, die npm-API und am 5. August 2026 abgerufene Hacker-News-Ergebnisse. Zahlen ändern sich mit der Zeit; Kennzahlen, die die GitHub-API aufgrund eines Ratenlimits nicht lieferte, wurden entsprechend gekennzeichnet.
Kommentare