pi

Pi ist ein selbst erweiterbares, terminalbasiertes Coding-Agent-Framework mit einer einheitlichen Multi-Provider-LLM-API.

TypeScriptMITAgent
⭐ GitHubhttps://github.com/earendil-works/pi
91,592
Stars
+0
Star-Wachstum
17. Aug. 2026
Zuletzt aktualisiert
7
Klicks

1. Projektübersicht

Pi ist ein selbst erweiterbares, terminalbasiertes Coding-Agent-Framework, das auf dem Claude Agent SDK aufbaut und Entwicklern eine interaktive CLI bietet, die in einer einzigen, einheitlichen Laufzeitumgebung Code planen und bearbeiten, Tools ausführen und mehrere LLM-Anbieter unterstützen kann.

2. Hintergrund und Positionierung

Pi wurde entwickelt, um Entwicklern einen Coding-Agenten zu bieten, den sie vollständig besitzen und erweitern können, statt eines geschlossenen Assistenten eines einzelnen Anbieters, der fest in eine IDE oder Plattform integriert ist. Seine Kernmission ist es, ein leichtgewichtiges, komponierbares „Agent-Gerüst“ bereitzustellen: eine Laufzeitumgebung, die Tool-Aufrufe und Zustände verwaltet, eine Terminal-UI und eine Modellabstraktionsschicht – alle als separate Pakete verfügbar, damit Teams ihre eigenen Agenten auf denselben Grundbausteinen aufbauen können, die auch Pi selbst verwendet.

Im Vergleich zu ähnlichen Coding-Agent-Projekten unterscheidet sich Pi in drei Punkten:

  • Von Grund auf anbieterunabhängig — Statt einen einzelnen KI-Anbieter fest zu codieren, liefert Pi eine einheitliche LLM-API (pi-ai), die über eine einzige Schnittstelle mit OpenAI, Anthropic, Google und anderen Anbietern kommuniziert.
  • Komponierbare Architektur — Die CLI, die Agent-Laufzeit, die Modellschicht, die Terminal-UI und die Telemetrie sind separate Pakete, sodass Entwickler einzelne Komponenten statt der gesamten Anwendung wiederverwenden können.
  • Bewusstsein für die Lieferkette — Das Projekt fixiert Abhängigkeiten und liefert Shrinkwrap-Dateien aus, was einen bewussten Fokus auf reproduzierbare, überprüfbare Builds für ein Tool widerspiegelt, das mit Berechtigungen auf Host-Ebene ausgeführt wird.

3. Funktionskategorien

🧠 Agent-Laufzeit
Kernpaket zur Handhabung von Tool-Aufrufschleifen sowie Konversations- und Anwendungszuständen.

  • Tool-Aufruf und Ergebnisverarbeitung
  • Zustandsspeicherung über eine Sitzung hinweg
  • Erweiterbare Tool-Registrierung
  • Zweck: Verleiht jeder CLI oder App die nötige „Intelligenz“, um einen autonomen Coding-Agenten auszuführen.

🌐 Multi-Provider-LLM-Schicht
Eine einheitliche Abstraktion über mehrere APIs großer Sprachmodelle.

  • Unterstützung für OpenAI
  • Unterstützung für Anthropic (Claude)
  • Unterstützung für Google
  • Anbieterunabhängige Typisierung für Anfragen und Antworten
  • Zweck: Ermöglicht Entwicklern den Austausch oder die Kombination von Modellanbietern ohne Neuschreiben der Anwendungslogik.

💻 Interaktive CLI
Die Hauptanwendung pi-coding-agent für das Terminal.

  • Interaktive Coding-Sitzungen im Terminal
  • Dateibearbeitung und Befehlsausführung via Tools
  • Sitzungsbezogene Workflows
  • Zweck: Der tägliche Einstiegspunkt für Entwickler, um mit Pi an realen Codebasen zu arbeiten.

🎛️ Terminal-UI-Bibliothek
Ein dediziertes Paket (pi-tui) zum Erstellen umfangreicher Terminalschnittstellen.

  • Differenzielles Rendering für flüssige Aktualisierungen
  • Wiederverwendbare UI-Grundbausteine für die Agent-Ausgabe
  • Zweck: Treibt Pis eigene CLI-Erfahrung an und kann zum Bau anderer terminalbasierter Agent-Tools wiederverwendet werden.

📊 Telemetrie-Framework
Anbieterneutrale Telemetrieverträge und typisierte Schemata (pi-telemetry).

  • Strukturierte, typisierte Ereignisschemata
  • Anbieterneutrales Design (nicht an ein einzelnes Analyse-Backend gebunden)
  • Zweck: Ermöglicht Teams die Beobachtung und Verbesserung des Agentenverhaltens ohne Bindung an einen bestimmten Telemetrieanbieter.

4. Wichtige Highlights

  • Selbst erweiterbares Gerüst — Pi ist so konzipiert, dass Entwickler den Agenten selbst erweitern und umgestalten können, statt auf einen festen Funktionsumfang beschränkt zu sein.
  • Multi-Provider-Flexibilität — Wechsel zwischen OpenAI, Anthropic, Google und anderen LLM-Anbietern über eine konsistente API-Oberfläche.
  • Modulares Paketdesign — Fünf fokussierte Pakete (CLI, Agent-Kern, KI-Schicht, Telemetrie, TUI) können unabhängig voneinander oder gemeinsam genutzt werden.
  • Terminal-first UX — Eine Terminal-UI mit differenziellem Rendering hält interaktive Sitzungen schnell und reaktionsschnell, ohne die Befehlszeile zu verlassen.
  • Transparenz bei der Sicherheit — Das Projekt dokumentiert ausdrücklich, dass es kein integriertes Berechtigungssystem für Dateisystem-, Prozess-, Netzwerk- oder Zugangsdaten-Zugriffe gibt, und veröffentlicht stattdessen Containerisierungsmuster (Gondolin, Standard-Docker, OpenShell) für Teams, die Isolation benötigen.
  • Reproduzierbare Builds — Fixierte Abhängigkeiten und Shrinkwrap-Dateien unterstützen die Integrität der Lieferkette für ein Tool, das standardmäßig mit vollständigen Host-Berechtigungen ausgeführt wird.

5. Anwendungsfälle nach Rolle

  • Allgemeine Entwickler: Nutzen Sie die pi-coding-agent-CLI als täglichen Pair-Programming-Assistenten zum Schreiben, Bearbeiten und Debuggen von Code direkt im Terminal.
  • Plattform-/Tooling-Ingenieure: Bauen Sie benutzerdefinierte Coding-Agenten oder interne Entwicklertools auf Basis von pi-agent-core, pi-ai und pi-tui, statt bei Null anzufangen.
  • Sicherheitsbewusste Teams: Führen Sie Pi innerhalb eines der dokumentierten Containerisierungsmuster (Gondolin, Docker, OpenShell) aus, um Dateisystem-, Netzwerk- und Zugangsdaten-Zugriffe einzuschränken, bevor Sie Aufgaben auf Host-Ebene gewähren.
  • DevOps/SRE: Integrieren Sie die anbieterneutralen pi-telemetry-Schemata in bestehende Observability-Pipelines, um Agentennutzung und Zuverlässigkeit zu überwachen.

6. Erste Schritte

Finden Sie, was Sie brauchen — starten Sie mit der offiziellen Dokumentationsseite:

https://pi.dev/docs/latest

Installieren und ausführen:

npm install --ignore-scripts
npm run build

Für einen vollständig Offline-Rebuild unter Verwendung zwischengespeicherter Modelldaten:

npm run build:offline

Führen Sie die CLI aus dem Quellcode für lokale Tests aus:

./pi-test.sh

Beitragen:

npm run check   # Linting, Formatierung und Typvalidierung
./test.sh        # Test-Suite ausführen

Siehe CONTRIBUTING.md und AGENTS.md im Repository für Beitragsrichtlinien.

7. Projektstruktur

pi/
├── packages/
│   ├── pi-coding-agent/   # Interaktive CLI (Haupteinstiegspunkt)
│   ├── pi-agent-core/     # Agent-Laufzeit: Tool-Aufrufe & Zustandsverwaltung
│   ├── pi-ai/             # Vereinheitlichte Multi-Provider-LLM-API
│   ├── pi-telemetry/      # Anbieterneutrale Telemetrieverträge/-schemata
│   └── pi-tui/            # Terminal-UI-Bibliothek (differenzielles Rendering)
├── CONTRIBUTING.md        # Beitragsrichtlinien
├── AGENTS.md              # Entwicklungsnotizen zu Agenten
├── test.sh                # Runner für die vollständige Test-Suite
└── pi-test.sh              # CLI direkt aus dem Quellcode ausführen

Die Paketaufteilung spiegelt Pis Designphilosophie wider: Die CLI ist nur ein Konsument der zugrundeliegenden Agent-Laufzeit, Modellschicht und des UI-Toolkits, die alle unabhängig wiederverwendbar sind.

8. Verwandtes Ökosystem

  • Claude Agent SDK — das zugrundeliegende SDK, auf dem Pis Agent-Gerüst basiert.
  • LLM-Anbieter — APIs von OpenAI, Anthropic und Google, zugänglich durch die Abstraktionsschicht pi-ai.
  • Containerisierungstools — Gondolin, Docker und OpenShell sind als ergänzende Isolationsschichten für den sicheren Betrieb von Pi dokumentiert.
  • npm-Registry — Pi wird als @earendil-works/pi-coding-agent und zugehörige Scoped-Pakete verteilt.

9. Lizenz

Pi wird unter der MIT-Lizenz veröffentlicht.

  • ✅ Frei nutzbar, kopierbar, modifizierbar und verteilbar, auch für kommerzielle Zwecke
  • ✅ Frei zum Aufbau abgeleiteter Tools auf Basis von pi-agent-core, pi-ai und pi-tui
  • ❌ Wird ohne Gewährleistung bereitgestellt; die Autoren haften nicht für Schäden, die aus der Nutzung entstehen
  • ℹ️ Der ursprüngliche Urheberrechts- und Lizenzhinweis muss in Kopien oder wesentlichen Teilen der Software erhalten bleiben
  • ℹ️ Pi läuft standardmäßig mit Host-Prozessberechtigungen und verfügt über keine integrierte Zugriffskontrolle – prüfen Sie die Hinweise zur Containerisierung, bevor Sie Zugriff auf sensible Umgebungen gewähren

10. FAQ

F: Welche LLM-Anbieter unterstützt Pi?
A: Über sein pi-ai-Paket unterstützt Pi OpenAI, Anthropic, Google und andere Anbieter hinter einer einzigen, einheitlichen API.

F: Ist es sicher, Pi Befehle auf meinem Rechner ausführen zu lassen?
A: Pi hat kein integriertes Berechtigungssystem, das Dateisystem-, Prozess-, Netzwerk- oder Zugangsdaten-Zugriffe einschränkt – es läuft standardmäßig mit Host-Prozessberechtigungen. Für Isolation verwenden Sie eines der dokumentierten Containerisierungsmuster (Gondolin, Docker oder OpenShell).

F: Wie installiere und baue ich Pi aus dem Quellcode?
A: Führen Sie npm install --ignore-scripts gefolgt von npm run build aus (oder npm run build:offline für einen Offline-Rebuild), und nutzen Sie dann ./pi-test.sh, um es aus dem Quellcode zu starten.

F: Kann ich nur einen Teil von Pi verwenden, wie die Terminal-UI oder die Agent-Laufzeit?
A: Ja. Pi ist in unabhängige Pakete aufgeteilt (pi-coding-agent, pi-agent-core, pi-ai, pi-telemetry, pi-tui), sodass Sie einzelne Komponenten ohne die vollständige CLI übernehmen können.

F: Wie kann ich beitragen?
A: Führen Sie vor dem Einreichen von Änderungen npm run check und ./test.sh aus und befolgen Sie die Richtlinien in CONTRIBUTING.md und AGENTS.md im Repository.

11. Schnellzugriff

12. Zusammenfassung

Pi bietet Entwicklern einen anbieterunabhängigen, selbst erweiterbaren Coding-Agenten, der als fertige Terminal-CLI oder als Satz komponierbarer Bausteine (Agent-Laufzeit, Modellschicht, Terminal-UI, Telemetrie) zum Erstellen benutzerdefinierter Agenten genutzt werden kann. Es eignet sich am besten für Entwickler und Plattformteams, die Kontrolle über ihre KI-Coding-Tools wünschen, statt eines geschlossenen Assistenten eines einzelnen Anbieters – mit dem ausdrücklichen Verständnis, dass Zugriffskontrolle und Isolation in der Verantwortung des Betreibers liegen und keine integrierte Funktion darstellen.