Verwendung von Pi
Auf dieser Seite werden alltägliche Nutzungsdetails erfasst, die nicht auf die Schnellstartseite passen.
Interaktiver Modus

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 fileNützliche Sitzungsbefehle:
/sessionzeigt die aktuelle Sitzungsdatei und ID an./treenavigiert durch die In-Datei session tree und kann verlassene Zweige zusammenfassen./forkerstellt eine neue Sitzung aus einer früheren Benutzernachricht./clonedupliziert den aktuell aktiven Zweig in eine neue Sitzungsdatei./compactfasst ä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.mdfü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.mdfür ein Projekt~/.pi/agent/SYSTEM.mdweltweit
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 resourcesDiese 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.tsAndere 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_questionDesignprinzipien
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.