Konfiguration, Anpassung, Plattform-Einrichtung und API-Referenzen für Pi.

Verwendung von Pi

Auf dieser Seite werden alltägliche Nutzungsdetails erfasst, die nicht auf die Schnellstartseite passen.

Interaktiver Modus

Interactive Mode

Die Schnittstelle besteht aus vier Hauptbereichen:

  • Startup-Header – Verknüpfungen, geladene context files, prompt templates, Fertigkeiten und Erweiterungen
  • Nachrichten – Benutzernachrichten, Assistentenantworten, Toolaufrufe, Toolergebnisse, Benachrichtigungen, Fehler und Erweiterungs-Benutzeroberfläche
  • Editor – wo Sie tippen; Die Randfarbe zeigt die aktuelle Denkebene an
  • Fußzeile – Arbeitsverzeichnis, Sitzungsname, Token-/Cache-Nutzung, Kosten, Kontextnutzung und aktuelles Modell. Die Gesamtwerte umfassen Assistentenantworten, von Tools gemeldete Nutzung und Erstellung von Zusammenfassungen.

Der Editor kann vorübergehend durch eine integrierte Benutzeroberfläche wie /settings oder durch eine benutzerdefinierte Erweiterungs-Benutzeroberfläche ersetzt werden.

Editorfunktionen

Besonderheit Wie
Dateireferenz Geben Sie @ ein, um eine Fuzzy-Suche nach Projektdateien durchzuführen
Pfadvervollständigung Drücken Sie die Tabulatortaste, um Pfade zu vervollständigen
Mehrzeilige Eingabe Umschalt+Eingabetaste oder Strg+Eingabetaste auf dem Windows-Terminal
Antwort kopieren Strg+X kopiert die letzte Assistentennachricht; in /tree kopiert es die ausgewählte Nachricht
Bilder Mit Strg+V bzw. Alt+V unter Windows einfügen oder in das Terminal ziehen
Shell-Befehl !command wird ausgeführt und sendet die Ausgabe an das Modell
Versteckter Shell-Befehl !!command wird ausgeführt, ohne dass eine Ausgabe an das Modell gesendet wird
Externer Redakteur Strg+G öffnet externalEditor, $VISUAL, $EDITOR, Notepad unter Windows oder nano anderswo

Siehe Keybindings für alle Verknüpfungen und Anpassungen.

Slash-Befehle

Geben Sie / in den Editor ein, um die Befehlsvervollständigung zu öffnen. Extensions kann benutzerdefinierte Befehle registrieren, Fähigkeiten sind als /skill:name verfügbar und prompt templates kann über /templatename erweitert werden.

Befehl Beschreibung
/login, /logout Verwalten Sie Anmeldeinformationen mit OAuth- oder API-Schlüsseln
/llama Laden Sie llama.cpp Router-Modelle herunter, laden und entladen Sie sie
/model Modelle wechseln
/scoped-models Modelle für den Strg+P-Wechsel aktivieren/deaktivieren
/settings Denkebene, Thema, Nachrichtenübermittlung, Transport
/resume PiZurück aus früheren Sitzungen
/new Starten Sie eine neue Sitzung
/name <name> Legen Sie den Anzeigenamen der Sitzung fest
/session Sitzungsdatei, ID, Nachrichten, Token und Kosten anzeigen
/tree Springen Sie zu einem beliebigen Punkt in der Sitzung und fahren Sie von dort aus fort
/trust Speichern Sie die Projektvertrauensentscheidung für zukünftige Sitzungen
/fork Erstellen Sie eine neue Sitzung aus einer vorherigen Benutzernachricht
/clone Duplizieren Sie den aktuell aktiven Zweig in eine neue Sitzung
/compact [prompt] Kontext manuell verdichten, optional mit benutzerdefinierten Anweisungen
/copy Kopieren Sie die letzte Assistentennachricht in die Zwischenablage
/export [file] Sitzung nach HTML oder JSONL exportieren
/import <file> Importieren Sie eine Sitzung aus einer JSONL-Datei und setzen Sie sie fort
/share Als privates GitHub Gist mit gemeinsam nutzbarem HTML-Link hochladen
/reload Tastenkombinationen, Erweiterungen, Fertigkeiten, Eingabeaufforderungen, Themen und context files neu laden
/hotkeys Alle Tastaturkürzel anzeigen
/changelog Versionsverlauf anzeigen
/quit Beenden Sie Pi

Nachrichtenwarteschlange

Sie können Nachrichten senden, während der Agent noch arbeitet:

  • Enter stellt eine Steuerungsnachricht in die Warteschlange, die zugestellt wird, nachdem der aktuelle Assistent an der Reihe ist und die Ausführung seiner Tool-Aufrufe abgeschlossen hat.
  • Alt+Enter stellt eine Folgenachricht in die Warteschlange, die zugestellt wird, nachdem der Agent alle Arbeiten abgeschlossen hat.
  • Escape bricht Nachrichten in der Warteschlange ab und stellt sie im Editor wieder her.
  • Alt+Up ruft Nachrichten in der Warteschlange zurück zum Editor.

Auf Windows Terminal ist Alt+Enter standardmäßig im Vollbildmodus. Ordnen Sie es wie in Terminal setup beschrieben neu zu, wenn Sie möchten, dass Pi die Verknüpfung erhält.

Konfigurieren Sie die Lieferung in Settings mit steeringMode und followUpMode.

Sitzungen

Sitzungen werden automatisch unter ~/.pi/agent/sessions/ gespeichert und nach Arbeitsverzeichnis geordnet.

pi -c                  # Continue most recent session
pi -r                  # Browse and select a session
pi --no-session        # Ephemeral mode; do not save
pi --name "my task"    # Set session display name at startup
pi --session <path|id> # Use a specific session file or session ID
pi --fork <path|id>    # Fork a session into a new session file

Nützliche Sitzungsbefehle:

  • /session zeigt die aktuelle Sitzungsdatei und ID an.
  • /tree navigiert durch die In-Datei session tree und kann verlassene Zweige zusammenfassen.
  • /fork erstellt eine neue Sitzung aus einer früheren Benutzernachricht.
  • /clone dupliziert den aktuell aktiven Zweig in eine neue Sitzungsdatei.
  • /compact fasst ältere Nachrichten im freien Kontext zusammen.

Einzelheiten finden Sie unter Sessions und Compaction.

Kontextdateien

Pi lädt AGENTS.md oder CLAUDE.md beim Start von:

  • ~/.pi/agent/AGENTS.md für globale Anweisungen
  • übergeordnete Verzeichnisse, ausgehend vom aktuellen Arbeitsverzeichnis
  • das aktuelle Verzeichnis

Wenn ein Verzeichnis AGENTS.override.md enthält, lädt Pi es anstelle von AGENTS.md oder CLAUDE.md aus diesem Verzeichnis. Kontextdateien aus anderen Verzeichnissen überlagern sich weiterhin normal.

Verwenden Sie context files für Projektkonventionen, Befehle, Sicherheitsregeln und Präferenzen. Deaktivieren Sie das Laden mit --no-context-files oder -nc.

System-Eingabeaufforderungsdateien

Ersetzen Sie die Standard-Systemaufforderung durch:

  • .pi/SYSTEM.md für ein Projekt
  • ~/.pi/agent/SYSTEM.md weltweit

An die Standardeingabeaufforderung anhängen, ohne sie an einer der Stellen durch APPEND_SYSTEM.md zu ersetzen.

Projektvertrauen

Beim interaktiven Start fragt pi nach, bevor es einem Projektordner vertraut, der projektlokale Einstellungen, Ressourcen oder Projekt .agents/skills enthält und keine gespeicherte Entscheidung für den Ordner oder einen übergeordneten Ordner in ~/.pi/agent/trust.json hat. Durch das Vertrauen in ein Projekt kann Pi .pi/settings.json- und .pi-Ressourcen laden, fehlende Projektpakete installieren und Projekterweiterungen ausführen.

Vor der Vertrauensentscheidung lädt pi nur context files, Benutzer-/globale Erweiterungen und CLI -e-Erweiterungen, damit sie das project_trust-Ereignis verarbeiten können. Projektlokale Erweiterungen, vom Projektpaket verwaltete Erweiterungen und Projekteinstellungen werden erst geladen, nachdem das Projekt vertrauenswürdig ist. Diese Aufteilung gilt auch beim Wechsel zu einer Sitzung von einem anderen CWD, dessen Vertrauen im aktuellen Prozess nicht aufgelöst wurde.

In den nicht interaktiven Modi (-p, --mode json und --mode rpc) wird keine Vertrauensaufforderung angezeigt. Ohne eine anwendbare gespeicherte Vertrauensentscheidung verwenden sie defaultProjectTrust aus den globalen Einstellungen: ask (Standard) und never ignorieren diese Projektressourcen, während always ihnen vertraut. Übergeben Sie --approve/-a oder --no-approve/-na, um die Projektvertrauenswürdigkeit für einen Lauf zu überschreiben.

Wenn keine Erweiterung oder gespeicherte Entscheidung gilt, steuert defaultProjectTrust das Fallback-Verhalten. Stellen Sie es auf "ask", "always" oder "never" in ~/.pi/agent/settings.json ein oder ändern Sie es mit /settings.

pi config- ​​und Paketbefehle verwenden denselben Projekt-Vertrauensfluss, mit der Ausnahme, dass pi update nie dazu auffordert. Übergeben Sie --approve, um projektlokalen Einstellungen für einen Befehl zu vertrauen, oder --no-approve, um sie zu ignorieren.

Verwenden Sie /trust im interaktiven Modus, um eine Projektvertrauensentscheidung für zukünftige Sitzungen zu speichern, einschließlich der Vertrauenswürdigkeit für den unmittelbar übergeordneten Ordner. Es schreibt nur ~/.pi/agent/trust.json; Die aktuelle Sitzung wird nicht neu geladen. Starten Sie daher pi neu, damit die Änderungen wirksam werden.

Sitzungen exportieren und teilen

Verwenden Sie /export [file], um eine Sitzung in HTML zu schreiben.

Verwenden Sie /share, um einen privaten GitHub-Inhalt mit einem gemeinsam nutzbaren HTML-Link hochzuladen.

Wenn Sie Pi für Open-Source-Arbeiten verwenden und Sitzungen für Modell-, Eingabeaufforderungs-, Tool- und Evaluierungsforschung veröffentlichen möchten, lesen Sie badlogic/pi-share-hf. Es veröffentlicht Sitzungen für Hugging Face Datensätze.

CLI Referenz

pi [options] [@files...] [messages...]

Paketbefehle

pi install <source> [-l]     # Install package, -l for project-local
pi remove <source> [-l]      # Remove package
pi uninstall <source> [-l]   # Alias for remove
pi update [source|self|pi]   # Update pi only, or one package source
pi update --all              # Update pi and packages; reconcile pinned git refs
pi update --extensions       # Update packages only; reconcile pinned git refs
pi update --models           # Refresh model catalogs only
pi update --self             # Update pi only
pi update --extension <src>  # Update one package
pi list                      # List installed packages
pi config                    # Enable/disable package resources

Diese Befehle verwalten Pi-Pakete und pi update kann die Pi CLI-Installation aktualisieren. Informationen zur Deinstallation von Pi selbst finden Sie unter Quickstart. pi config und Projektpaketbefehle akzeptieren --approve/--no-approve, um projektlokalen Einstellungen für einen Befehl zu vertrauen oder sie zu ignorieren. pi update fordert niemals zur Projektvertrauensstellung auf.

Siehe Pi Packages für Paketquellen und Sicherheitshinweise.

Modi

Flagge Beschreibung
Standard Interaktiver Modus
-p, --print Antwort drucken und beenden
--mode json Alle Ereignisse als JSON Zeilen ausgeben; siehe JSON mode
--mode rpc RPC Modus über stdin/stdout; siehe RPC mode
--export <in> [out] Exportieren Sie eine Sitzung nach HTML

Im Druckmodus liest pi auch die weitergeleitete stdin und fügt sie in die anfängliche Eingabeaufforderung ein:

cat README.md | pi -p "Summarize this text"

Modelloptionen

Option Beschreibung
--provider <name> Anbieter, z. B. anthropic, openai oder google
--model <pattern> Modellmuster oder ID; unterstützt provider/id und optional :<thinking>
--api-key <key> API key, überschreibt Umgebungsvariablen
--thinking <level> off, minimal, low, medium, high, xhigh, max
--models <patterns> Durch Kommas getrennte Muster für den Strg+P-Wechsel
--list-models [search] Verfügbare Modelle auflisten

Sitzungsoptionen

Option Beschreibung
-c, --continue Setzen Sie die letzte Sitzung fort
-r, --resume Durchsuchen Sie eine Sitzung und wählen Sie sie aus
`--session <Pfad\ id>`
`--fork <Pfad\ id>`
--session-dir <dir> Benutzerdefiniertes Sitzungsspeicherverzeichnis
--no-session Ephemerer Modus; nicht speichern
--name <name>, -n <name> Legen Sie den Anzeigenamen der Sitzung beim Start fest

Werkzeugoptionen

Option Beschreibung
--tools <list>, -t <list> Bestimmte integrierte Tools, Erweiterungen und benutzerdefinierte Tools werden auf die Zulassungsliste gesetzt
--exclude-tools <list>, -xt <list> Deaktivieren Sie bestimmte integrierte Tools, Erweiterungen und benutzerdefinierte Tools
--no-builtin-tools, -nbt Deaktivieren Sie integrierte Tools, lassen Sie jedoch Erweiterungs-/benutzerdefinierte Tools aktiviert
--no-tools, -nt Deaktivieren Sie alle Tools

Integrierte Werkzeuge: read, bash, edit, write, grep, find, ls.

Ressourcenoptionen

Option Beschreibung
-e, --extension <source> Laden Sie eine Erweiterung von path, npm oder git; wiederholbar
--no-extensions Deaktivieren Sie die Erweiterungserkennung
--skill <path> Laden Sie eine Fertigkeit; wiederholbar
--no-skills Deaktivieren Sie die Fähigkeitserkennung
--prompt-template <path> Laden Sie eine Eingabeaufforderungsvorlage. wiederholbar
--no-prompt-templates Deaktivieren Sie die Erkennung von Eingabeaufforderungsvorlagen
--theme <path> Laden Sie ein Thema; wiederholbar
--no-themes Deaktivieren Sie die Themenerkennung
--no-context-files, -nc Deaktivieren Sie die Erkennung von AGENTS.md und CLAUDE.md

Kombinieren Sie --no-* mit expliziten Flags, um genau das zu laden, was Sie benötigen, und ignorieren Sie dabei die Einstellungen. Beispiel:

pi --no-extensions -e ./my-extension.ts

Andere Optionen

Option Beschreibung
--system-prompt <text> Standard-Eingabeaufforderung ersetzen; context files und Fähigkeiten werden weiterhin angehängt
--append-system-prompt <text> An Systemaufforderung anhängen
--tui-mode <mode> TUI Modus: regular (Standard) oder experimentell fullscreen
--verbose Erzwingen Sie einen ausführlichen Start
-a, --approve Vertrauen Sie für diese Ausführung projektlokalen Dateien
-na, --no-approve Projektlokale Dateien für diesen Lauf ignorieren
-h, --help Hilfe anzeigen
-v, --version Version anzeigen

Im fullscreen-Modus scrollt das Transkript im Terminal-Ansichtsfenster, während Nachrichten in der Warteschlange, Arbeitsstatus, Erweiterungs-Widgets, Editor und Fußzeile unten fixiert bleiben. Durch die Maus-/Trackpad-Eingabe wird der Bereich unter dem Zeiger gescrollt; Aktionen im Tastatur-Ansichtsfenster bleiben immer verfügbar. Inline-Bilder funktionieren in Terminals, die das Kitty-Grafikprotokoll unterstützen, einschließlich Kitty und Ghostty. In iTerm2 werden sie als Textplatzhalter gerendert, da das Inline-Image-Protokoll Platzierungen während des anwendungseigenen Scrollens nicht löschen oder zuschneiden kann. Im regular-Modus verwendet pi den Hauptbildschirm und den terminaleigenen Scrollback, und iTerm2-Inline-Bilder werden weiterhin normal gerendert.

Stellen Sie den TUI-Modus in /settings ein, um sofort zwischen regular und fullscreen zu wechseln und die Standardeinstellung für zukünftige Sitzungen auszuwählen. Vollbild-Exit-Ausgabe steuert, ob beim Beenden des Vollbildmodus das endgültige Transkript gedruckt wird oder der vorherige Bildschirm wiederhergestellt wird und nur der Hinweis zur Sitzungsfortsetzung gedruckt wird.

Dateiargumente

Stellen Sie den Dateien @ voran, um sie in die Nachricht einzuschließen:

pi @prompt.md "Answer this"
pi -p @screenshot.png "What's in this image?"
pi @code.ts @test.ts "Review these files"

Beispiele

# Interactive with initial prompt
pi "List all .ts files in src/"

# Non-interactive
pi -p "Summarize this codebase"

# Non-interactive with piped stdin
cat README.md | pi -p "Summarize this text"

# Named one-shot session
pi --name "release audit" -p "Audit this repository"

# Different model
pi --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
pi --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
pi --model sonnet:high "Solve this complex problem"

# Limit model cycling
pi --models "claude-*,gpt-4o"

# Read-only mode
pi --tools read,grep,find,ls -p "Review the code"

# Disable one extension or built-in tool while keeping the rest available
pi --exclude-tools ask_question

Designprinzipien

Pi hält den Kern klein und verschiebt Workflow-spezifisches Verhalten in Erweiterungen, Fähigkeiten, prompt templates und Pakete.

Es enthält absichtlich keine integrierten MCP, Subagenten, Berechtigungs-Popups, Planmodus, Aufgaben oder Hintergrund bash. Sie können diese Workflows als Erweiterungen oder Pakete erstellen oder installieren oder externe Tools wie Container und tmux verwenden.

Die vollständige Begründung finden Sie im blog post.