15. August 2026 · Von YasKad
earendil-works/pi

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.md weist 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.

Ein kleiner leuchtender Würfel, der einen minimalen Kern darstellt, mit Neonlinien, die sich zu schwebenden Modulen verzweigen.

  • 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.

Ein holografisches Terminal, eingeschlossen in einem durchscheinenden Neon-Container, an dessen Barriere nicht vertrauenswürdige Prozesse abprallen.

  • Code- und Abhängigkeitsprüfung. Das Repository fixiert direkte Versionen, verwendet --ignore-scripts bei 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

Ein futuristisches Kommandozentrum mit Panels für Dateibaum, Code-Diffs und Bash-Ausgaben, mit aktiven Werkzeugen read, write, edit und bash.

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.

Ein Konversationsbaum, der sich in einem dunklen Raum verzweigt, mit leuchtenden Knoten, die JSONL-Sitzungen darstellen, die verzweigt und geklont werden können.

Die Anpassung ist nach Dateien und Modulen organisiert:

  • AGENTS.md, CLAUDE.md und AGENTS.override.md liefern Kontext aus dem aktuellen Verzeichnis und seinen übergeordneten Ordnern.
  • ~/.pi/agent/settings.json und .pi/settings.json speichern 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:name installiert oder automatisch geladen werden.

Eine schwebende holografische Werkzeugkiste mit Symbolen modularer Skills, die in ein transparentes Terminal 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.

Ein leuchtender Terminal-Cursor, der Lichtstrahlen zu holografischen Logos von Claude, ChatGPT und GitHub Copilot sendet.

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-hf und die Sammlung badlogic/pi-mono auf 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-pi wird vom Nutzer theturtletalks als 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-brains wurde von sdesol als 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-again verö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.

KennzahlSichtbarer Wert
Sterne84,2 Tausend
Forks10,4 Tausend
Commits5.488
Branches50
Tags308
Sichtbare offene Issues65
Sichtbare offene Pull Requests16
LizenzMIT
Neueste Versionv0.83.0, in der Vorwoche veröffentlicht
npm-Downloads der letzten Woche1.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.

Ein futuristisches Neon-Tor, das einen Strom von Code-Einreichungen filtert; einige grüne Blöcke bestehen die lgtm-Prüfung, andere werden abgelenkt.

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

  1. Ein Projekt untersuchen und korrigieren. Starten Sie pi, geben Sie eine Aufgabe ein und lassen Sie es read, write, edit und bash nutzen. Um innerhalb der Sitzung eine konkrete Prüfung anzufordern, verwenden Sie !npm run lint; !!npm run lint führt den Befehl aus, ohne seine Ausgabe in den Kontext des Modells aufzunehmen.
  2. Bestimmte Dateien überprüfen. Verwenden Sie pi @README.md "Fasse diese Datei zusammen" oder pi @src/app.ts @src/app.test.ts "Prüfe beide". Im interaktiven Editor öffnet @ eine unscharfe Dateisuche.

Ein dunkles Terminal, in dem der Nutzer eine unscharfe Suche mit @ eingibt, um README.md und app.ts auszuwählen, mit holografischen Hervorhebungen.

  1. Eine Recherche fortsetzen oder verzweigen. pi -c setzt die letzte Sitzung fort, pi -r erlaubt die Auswahl einer früheren, und pi --session <pfad|id> öffnet eine bestimmte. Innerhalb der Oberfläche bewahren /tree, /fork und /clone Zweige der Historie.
  2. Einen Aufruf automatisieren. pi -p "Fasse diese Codebasis zusammen" erzeugt einen einmaligen Lauf; pi --mode json liefert JSON-Ereignisse, und pi --mode rpc bindet 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.md oder CLAUDE.md: Projektanweisungen, die Pi beim Start lädt; AGENTS.override.md ersetzt jene aus diesem Ordner.
  • ~/.pi/agent/skills/ oder .pi/skills/: lokale Skills mit SKILL.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 .pi nicht aktiviert. Prüfen Sie den Code und bestätigen Sie mit /trust, oder passen Sie defaultProjectTrust gemäß 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, etwa pi 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 /compact und /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-pi zu 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

AnsatzVerifizierbare ÜbereinstimmungDokumentierter Unterschied
Claude CodeBeide 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 CLIBeide 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.
OpenCodeEin 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-piEin 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 und llama.cpp nutzen, 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.md oder CLAUDE.md festlegen, 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


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