Schnellstart
Quelldateien
Diese Seite wurde aus den folgenden Quelldateien erstellt:
- README.md
- CONTRIBUTING.md
- packages/coding-agent/README.md
- package.json
- packages/ai/src/providers/google-gemini-cli.ts
- packages/ai/src/providers/google.ts
- packages/ai/src/providers/mistral.ts
- packages/ai/src/providers/anthropic.ts
- packages/ai/src/providers/google-shared.ts
- packages/ai/src/providers/google-vertex.ts
Pi ist ein minimalistisches Terminal-Coding-Harness, das sich an individuelle Workflows anpassen lässt, ohne dass ein Fork der Internals erforderlich ist. Das Projekt bietet eine einheitliche Multi-Provider-LLM-API, Agent-Runtime mit Tool-Calling und State-Management sowie eine interaktive Coding-Agent-CLI.
Systemanforderungen
Das Projekt benötigt Node.js Version 20.0.0 oder höher (package.json:43-45). Diese Anforderung ist in der engines-Konfiguration des Root-Package.json definiert und gilt für alle Pakete im Monorepo.
Unterstützte Plattformen:
| Plattform | Hinweise |
|---|---|
| Linux | Primärplattform |
| macOS | Primärplattform |
| Windows | Siehe docs/windows.md |
| Android (Termux) | Siehe docs/termux.md |
| tmux | Siehe docs/tmux.md |
Plattformspezifische Dokumentation ist unter packages/coding-agent/README.md:81 referenziert.
Installation
Empfohlene Installation (Global via npm)
Die schnellste Methode zur Inbetriebnahme ist die globale Installation des Coding-Agent-Pakets:
bash1npm install -g @mariozechner/pi-coding-agent
(packages/coding-agent/README.md:61-63)
Nach der Installation steht der Befehl pi systemweit zur Verfügung.
Installation aus dem Quellcode
Für Entwickler, die am Projekt mitwirken möchten oder Zugriff auf die neuesten Änderungen benötigen:
bash1# Repository klonen 2git clone https://github.com/badlogic/pi-mono.git 3cd pi-mono 4 5# Alle Abhängigkeiten installieren 6npm install 7 8# Alle Pakete bauen 9npm run build
Hinweis: Der Befehl npm run check erfordert eine vorherige Ausführung von npm run build, da das web-ui-Paket tsc verwendet, welches kompilierte .d.ts-Dateien von Abhängigkeiten benötigt (README.md:58).
Alternative Installationsmethoden
| Methode | Befehl | Anwendungsfall |
|---|---|---|
| Lokaler Testlauf | ./pi-test.sh | Pi aus Quellen ausführen (muss vom Repo-Root ausgeführt werden) |
| Entwicklung | npm run dev | Hot-Reload für alle Pakete |
(README.md:55, package.json:16)
Authentifizierung
Pi unterstützt zwei Authentifizierungsmethoden: API-Key-basierte Authentifizierung und OAuth-Login über bestehende Subscriptions.
API-Key Authentifizierung
Die direkte Methode verwendet Umgebungsvariablen für den API-Key:
bash1export ANTHROPIC_API_KEY=sk-ant-... 2pi
(packages/coding-agent/README.md:67-70)
OAuth Subscription Login
Alternativ kann eine bestehende Subscription verwendet werden:
bash1pi 2/login # Provider auswählen
(packages/coding-agent/README.md:74-77)
Unterstützte Provider
Subscriptions:
- Anthropic Claude Pro/Max
- OpenAI ChatGPT Plus/Pro (Codex)
- GitHub Copilot
- Google Gemini CLI
- Google Antigravity
API-Keys:
- Anthropic, OpenAI, Azure OpenAI
- Google Gemini, Google Vertex
- Amazon Bedrock, Mistral, Groq
- Cerebras, xAI, OpenRouter
- Vercel AI Gateway, ZAI
- OpenCode Zen, OpenCode Go
- Hugging Face, Kimi For Coding, MiniMax
(packages/coding-agent/README.md:89-115)
Detaillierte Einrichtungsanleitungen für einzelne Provider sind in docs/providers.md verfügbar (packages/coding-agent/README.md:116).
Erste Schritte
Interaktiven Modus starten
Nach erfolgreicher Authentifizierung startet der interaktive Modus durch einfaches Ausführen von pi. Die Benutzeroberfläche besteht aus vier Hauptbereichen:
- Startup Header - Zeigt Shortcuts, geladene AGENTS.md-Dateien, Prompt-Templates, Skills und Extensions
- Messages - Benutzer-Nachrichten, Assistant-Antworten, Tool-Calls und -Ergebnisse, Benachrichtigungen
- Editor - Eingabebereich; Rahmenfarbe indiziert Thinking-Level
- Footer - Arbeitsverzeichnis, Session-Name, Token/Cache-Verbrauch, Kosten, Context-Auslastung, aktuelles Modell
(packages/coding-agent/README.md:126-132)
Standard-Tools
Standardmäßig stellt Pi dem Modell vier Tools zur Verfügung:
| Tool | Funktion |
|---|---|
read | Dateien lesen |
write | Dateien schreiben |
edit | Dateien bearbeiten |
bash | Shell-Befehle ausführen |
(packages/coding-agent/README.md:78-79)
Das Modell nutzt diese Tools, um Benutzeranfragen zu erfüllen. Zusätzliche Fähigkeiten können via Skills, Prompt-Templates, Extensions oder Pi-Packages hinzugefügt werden.
Editor-Funktionen
| Funktion | Bedienung |
|---|---|
| Dateireferenz | @ tippen für Fuzzy-Suche |
| Pfad-Vervollständigung | Tab |
| Mehrzeilig | Shift+Enter (Ctrl+Enter in Windows Terminal) |
| Bilder einfügen | Ctrl+V (Alt+V auf Windows), oder Drag & Drop |
| Bash-Befehle | !command sendet Output an LLM, !!command ohne Senden |
(packages/coding-agent/README.md:137-144)
Entwicklung Tests
Build-Prozess
Das Monorepo verwendet npm Workspaces mit einer spezifischen Build-Reihenfolge:
bash1npm run build
Die Build-Reihenfolge ist in package.json:15 definiert: tui → ai → agent → coding-agent → mom → web-ui → pods.
Linting und Type-Checking
Vor der Einreichung von Pull Requests müssen folgende Checks bestanden werden:
bash1npm run check # Lint, Format und Type-Check 2./test.sh # Tests ausführen
Wichtig: npm run check setzt voraus, dass npm run build zuvor ausgeführt wurde (README.md:58).
Tests ausführen
bash1./test.sh # Überspringt LLM-abhängige Tests ohne API-Keys
Tests, die LLM-API-Aufrufe erfordern, werden automatisch übersprungen, wenn die entsprechenden API-Keys nicht gesetzt sind.
Häufige Probleme und Lösungen
Problem: npm run check schlägt fehl
Ursache: Der Check-Befehl benötigt kompilierte .d.ts-Dateien von Abhängigkeiten.
Lösung:
bash1npm run build 2npm run check
Problem: Node.js Version inkompatibel
Ursache: Das Projekt benötigt Node.js ≥ 20.0.0.
Lösung: Node.js Version überprüfen und ggf. aktualisieren:
bash1node --version # Sollte >= 20.0.0 anzeigen
Problem: API-Key wird nicht erkannt
Ursache: Umgebungsvariable nicht korrekt gesetzt oder falscher Provider.
Lösung:
- Umgebungsvariable überprüfen:
echo $ANTHROPIC_API_KEY - Alternativ
/loginim interaktiven Modus verwenden - Provider-spezifische Dokumentation unter docs/providers.md konsultieren
(packages/coding-agent/README.md:67-77)
Problem: Alt+Enter funktioniert nicht unter Windows Terminal
Ursache: Windows Terminal verwendet Alt+Enter standardmäßig für Vollbild.
Lösung: Terminal-Einstellungen anpassen gemäß docs/terminal-setup.md.
(packages/coding-agent/README.md:199)
Nächste Schritte
Nach erfolgreicher Einrichtung empfiehlt sich die Erkundung folgender Bereiche:
- Sessions: Verwaltung, Branching und Compaction von Konversationen
- Customization: Prompt-Templates, Skills, Extensions und Themes
- CLI Reference: Vollständige Befehlsreferenz
- Providers & Models: Detaillierte Provider-Konfiguration
Für Mitwirkende: Die CONTRIBUTING.md enthält Richtlinien für Pull Requests und die Projektphilosophie (README.md:44-46).
