- Pi ist ein terminalbasiertes minimales Coding-Agent-System und bietet eine erweiterbare Struktur, die sich an den Workflow der Nutzer anpassen lässt
- Durch die Kombination aus TypeScript-Erweiterungen, Skills, Prompt-Templates und Themes lässt sich eine eigene Entwicklungsumgebung zusammenstellen und als npm- oder git-Paket teilen
- Unterstützt mehr als 15 AI-Anbieter und Hunderte Modelle; auch während einer Sitzung kann das Modell gewechselt oder ein benutzerdefiniertes Modell hinzugefügt werden
- Sitzungen werden als baumförmige Historie gespeichert, sodass man zu früheren Punkten zurückkehren oder nach HTML bzw. als GitHub Gist exportieren kann
- Mit auf das Nötigste reduzierten Kernfunktionen und einer auf Erweiterbarkeit ausgerichteten Designphilosophie können Entwickler nur die Funktionen selbst implementieren oder als Paket hinzufügen, die sie wirklich brauchen
Überblick über Pi
- Pi ist ein Terminal-Coding-Harness mit einer Struktur, in der Nutzer Tools anpassen können, ohne ihren Workflow zu ändern
- Unterstützt als erweiterbare Bausteine TypeScript-Erweiterungen, Skills, Prompt-Templates und Themes
- Als Pi-Paket gebündelt lassen sich diese über npm oder git installieren und teilen
- Die Standardkonfiguration ist leistungsfähig, enthält aber keine Funktionen wie Sub-Agents oder Plan-Modus
- Bietet vier Modi (interaktiv, Print/JSON, RPC, SDK); ein reales Integrationsbeispiel ist in clawdbot zu sehen
Modelle und Anbieter
- Unterstützt mehr als 15 Anbieter und Hunderte Modelle, darunter Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama
- Authentifizierung per API-Key oder OAuth
- Modellwechsel während der Sitzung über den Befehl
/model oder Ctrl+L, Durchschalten favorisierter Modelle mit Ctrl+P
- Benutzerdefinierte Modelle können über models.json oder Erweiterungen hinzugefügt werden
Sitzungsverwaltung
- Sitzungen werden in einer Baumstruktur gespeichert; mit dem Befehl
/tree kann zu früheren Punkten zurückgesprungen werden
- Alle Verzweigungen werden in einer einzigen Datei gespeichert; unterstützt werden Filter für Nachrichtentypen und Bookmark-Labels
- Mit
/export ist ein HTML-Export möglich, mit /share das Hochladen als GitHub Gist und das Erzeugen einer Freigabe-URL
Context Engineering
- Mit minimalen System-Prompts und Erweiterbarkeit lässt sich das Kontextfenster fein steuern
- AGENTS.md: lädt Projektanweisungen beim Start automatisch
- SYSTEM.md: ersetzt oder ergänzt den standardmäßigen System-Prompt pro Projekt
- Compaction: fasst frühere Nachrichten automatisch zusammen, wenn das Kontextlimit erreicht ist; über Erweiterungen sind themenbasierte Zusammenfassungen oder codebewusste Zusammenfassungen möglich
- Skills: bei Bedarf geladene Funktionspakete, die den Prompt-Cache erhalten und Funktionen schrittweise bereitstellen
- Prompt templates: erweiterbare wiederverwendbare Prompts über den Befehl
/name
- Dynamic context: über Erweiterungen lassen sich Nachrichten einfügen, Historien filtern, RAG implementieren und Langzeitgedächtnis aufbauen
Message Queueing
- Nachrichten können auch dann eingereicht werden, wenn der Agent bereits arbeitet
Enter: eine Steering-Nachricht, die nach der aktuellen Tool-Ausführung übermittelt wird
Alt+Enter: eine Follow-up-Nachricht, die nach Abschluss der Aufgabe übermittelt wird
Erweiterungsstruktur
- Pi ist nicht um Funktionen, sondern um Primitives herum entworfen, sodass Nutzer Funktionen selbst implementieren können
- Erweiterungen liegen als TypeScript-Module vor und haben Zugriff auf Tools, Befehle, Shortcuts, Events und die vollständige TUI
- Beispielerweiterungen: Sub-Agents, Plan-Modus, Permission Gates, Pfadschutz, SSH-Ausführung, Sandboxing, MCP-Integration, benutzerdefinierte Editoren, Overlays usw.
- Wie das Beispiel „Yes, Doom runs.“ zeigt, gibt es sogar eine Game-Overlay-Erweiterung
- Wer nicht selbst implementieren möchte, kann Funktionen durch die Installation von Pi-Paketen hinzufügen
- Mehr als 50 Erweiterungsbeispiele sind auf GitHub veröffentlicht
Paketverwaltung
- Erweiterungen, Skills, Prompts und Themes können als Pakete gebündelt und über npm oder git installiert werden
- Über den npm-Suchbegriff
pi-package oder den Discord-Kanal lassen sich Pakete finden und teilen
Integrationsmodi
- Interactive: vollständige TUI-Umgebung
- Print/JSON:
pi -p "query" für Skripte, --mode json für Event-Streams
- RPC: unterstützt Integration in Nicht-Node-Umgebungen über ein stdin/stdout-basiertes JSON-Protokoll
- SDK: kann in Anwendungen eingebettet werden; ein reales Anwendungsbeispiel gibt es in clawdbot
Designphilosophie
- Pi ist darauf ausgelegt, die Erweiterbarkeit zu maximieren, den Kern minimal zu halten und Nutzern die Definition ihres Workflows selbst zu überlassen
- Funktionen wie MCP, Sub-Agents, Permission-Pop-ups, Plan-Modus, integrierte TODOs, Hintergrund-bash sind nicht enthalten
- Stattdessen lassen sich dieselben Funktionen über Erweiterungen, Skills und Pakete umsetzen oder mit externen Tools koppeln
- Unterstützt parallele Ausführung und Beobachtung über tmux
- Dieser Ansatz ermöglicht eine nutzergetriebene Zusammenstellung der Entwicklungsumgebung
- Die vollständige Philosophie wird in einem zugehörigen Blogpost weiter erläutert
Noch keine Kommentare.