Pi Agent Konfigurationsreferenzhandbuch

Das Folgende ist eine Schnellreferenztabelle für die Konfigurationselemente von Pi Agent in settings.json.

Diese Tabelle enthält gängige Konfigurationselemente; einige JSON-spezifische erweiterte Schlüssel (wie tuiMode, Fullscreen-Serie, terminal.hyperlinks, markdown.mermaid usw.) sind nicht einzeln aufgeführt.


Speicherort der Konfigurationsdatei

Die Konfiguration ist in zwei Ebenen unterteilt: global und projektbezogen. Die Projektkonfiguration wird erst geladen, nachdem das Projekt als vertrauenswürdig eingestuft wurde.

DateipfadGeltungsbereichBeschreibung
~/.pi/agent/settings.jsonGlobal (alle Projekte)Gemeinsame Konfiguration, die für alle Projekte gilt
.pi/settings.jsonProjektebeneWird erst geladen, nachdem das Projekt als vertrauenswürdig eingestuft wurde; überschreibt Schlüssel mit demselben Namen in der globalen Konfiguration.

Modell und Reasoning

Die Konfiguration in diesem Abschnitt bestimmt den Standardanbieter, das Standardmodell und den Reasoning-Aufwand.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
defaultProviderstringOptionalKeine (wird bei der ersten Verwendung über /login oder /model festgelegt)Standardanbieter, z. B. "anthropic", "openai"
defaultModelstringOptionalKeine (wird bei der ersten Verwendung über /login oder /model festgelegt)Standardmodell-ID, z. B. "claude-sonnet-4-20250514"
defaultThinkingLevelstringOptionalKeine (nicht von der Dokumentation bereitgestellt)Standardmäßiger Denkaufwand: off/minimal/low/medium/high/xhigh/max
modelThinkingLevelsObjektOptionalKeineStart-Denkaufwand für jedes Modell über "provider/modelId" festlegen
hideThinkingBlockbooleschOptionalfalseDenkprozess ausblenden
showCacheMissNoticesbooleschOptionalfalseCache-Miss-Benachrichtigungen anzeigen
thinkingBudgetsObjektOptionalKeine (benutzerdefiniertes Budget nicht aktiviert)Token-Budget für jede Stufe anpassen
warnings.anthropicExtraUsagebooleschOptionalwahrErinnern, wenn beim Anthropic-Abonnement kostenpflichtige Zusatznutzung anfallen kann

UI und Anzeige

Die Konfiguration in diesem Abschnitt steuert das Erscheinungsbild der Oberfläche, den externen Editor und die Anzeigedichte.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
themestringOptional"dark"Theme-Name
externalEditorstringOptionalVerwendet $VISUAL, dann $EDITOR; andernfalls wird Notepad unter Windows und nano auf anderen Systemen verwendetBefehl für externen Editor (explizite Konfiguration hat Vorrang vor Umgebungsvariablen)
quietStartupbooleschOptionalfalseStartup-Header ausblenden
defaultProjectTruststringOptional"ask"Standardverhalten für Projektvertrauen: "ask" (Abfrage), "always" (automatisch vertrauen), "never" (automatisch ablehnen); nur in der globalen Konfiguration wirksam
collapseChangelogbooleschOptionalfalseChangelog einklappen
enableInstallTelemetrybooleschOptionalwahrAnonyme Installationsstatistiken
enableAnalyticsbooleschOptionalfalseAnalyse des Nutzerverhaltens (erfordert Opt-in)
doubleEscapeActionstringOptional"tree"Aktion, die durch doppeltes Drücken von Escape ausgelöst wird; standardmäßig wird der Sitzungsbaum-Browser geöffnet
treeFilterModestringOptional"default"/tree Standardfiltermodus: default/no-tools/user-only/labeled-only/all
editorPaddingXnumberOptional0Horizontaler Innenabstand des Editors (0-3)
outputPadnumberOptional1Nachrichten-Padding (0 oder 1)
autocompleteMaxVisiblenumberOptional5Maximale Autovervollständigungseinträge (3-20)

Netzwerk

Die Konfiguration in diesem Abschnitt wird für den Proxy-Zugriff in eingeschränkten Netzwerkumgebungen verwendet.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
httpProxystringOptionalKeine (kein Proxy verwendet)HTTP-Proxy (nur global)

httpProxyNur in der globalen Konfiguration wirksam; sie wird ignoriert, wenn sie in der Projektkonfiguration angegeben wird.

Wenn ein Proxy benötigt wird, schreibe ihn in die globale Konfiguration.~/.pi/agent/settings.json。


Komprimierung

Die Konfiguration in diesem Abschnitt steuert die Auslöse- und Aufbewahrungsrichtlinie der automatischen Kontextkomprimierung.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
compaction.enabledbooleschOptionalwahrAutomatische Komprimierung
compaction.reserveTokensnumberOptional16384Reservierte Tokens für LLM-Antwort
compaction.keepRecentTokensnumberOptional20000Aktuelle Tokens, die beibehalten werden

Branch-Zusammenfassung

Die Konfiguration in diesem Abschnitt steuert, ob beim Wechseln zwischen Sitzungsbäumen eine Zusammenfassung aufgegebener Branches erstellt wird.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
branchSummary.reserveTokensnumberOptional16384Reservierte Token für die Zusammenfassung
branchSummary.skipPromptbooleschOptionalfalseZusammenfassungs-Prompt überspringen

Wiederholen

Die Konfiguration in diesem Abschnitt steuert das automatische Wiederholungsverhalten nach fehlgeschlagenen Anfragen.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
retry.enabledbooleschOptionalwahrAutomatische Wiederholung
retry.maxRetriesnumberOptional3Maximale Anzahl der Wiederholungsversuche
retry.baseDelayMsnumberOptional2000Basisverzögerung (ms)
retry.provider.timeoutMsnumberOptionalSDK-StandardAnfrage-Timeout
retry.provider.maxRetriesnumberOptional0Anzahl der Wiederholungsversuche auf Provider-Ebene
retry.provider.maxRetryDelayMsnumberOptional60000Maximale Wiederholungsverzögerung

Nachrichtenübermittlung

Die Konfiguration in diesem Abschnitt bestimmt, wie Direktiven- und Folge-Nachrichten eingefügt werden, sowie das verwendete Transportprotokoll.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
steeringModestringOptional"one-at-a-time"Richtlinie für Direktivennachrichten: "all" (alle Direktivennachrichten sofort einfügen) oder "one-at-a-time" (einzeln nacheinander einfügen)
followUpModestringOptional"one-at-a-time"Richtlinie für Follow-up-Nachrichten
transportstringOptional"auto"Transportprotokoll: sse / websocket / websocket-cached / auto
httpIdleTimeoutMsnumberOptional300000HTTP-Leerlaufzeitüberschreitung
websocketConnectTimeoutMsnumberOptional15000WebSocket-Verbindungszeitüberschreitung

Terminal und Bilder

Die Konfiguration in diesem Abschnitt steuert die Anzeigegröße und das Sendeverhalten von Bildern im Terminal.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
terminal.showImagesbooleschOptionalwahrBilder im Terminal anzeigen
terminal.imageWidthCellsnumberOptional60Bildbreite (Zellen)
terminal.clearOnShrinkbooleschOptionalfalseLeere Zeilen entfernen, wenn der Inhalt schrumpft
images.autoResizebooleschOptionalwahrAutomatische Bildskalierung
images.blockImagesbooleschOptionalfalseVerhindern, dass Bilder an LLM gesendet werden

Shell

Die Konfiguration in diesem Abschnitt wird verwendet, um die Shell und den npm-Wrapper beim Ausführen von Befehlen anzupassen.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
shellPathstringOptionalKeine (Standard-Shell des Systems verwenden)Benutzerdefinierter Shell-Pfad
shellCommandPrefixstringOptionalKeiner (kein Präfix hinzugefügt)Befehlspräfix
npmCommandstring[]OptionalKeine (npm direkt aufrufen)npm-Befehlswrapper

Integrierte Tools

Die Konfiguration in diesem Abschnitt steuert die Menge der integrierten Tools, die beim Start standardmäßig aktiviert sind.

KonfigurationselementTypeErforderlichStandardwertBeschreibung
defaultToolsstring[]OptionalKeine (das integrierte Standard-Toolset verwenden)Anfänglich aktivierte integrierte Tools, optionale Werte: read/bash/powershell/edit/write/grep/find/ls, wobei powershell nur unter Windows verfügbar ist

Diese Konfiguration betrifft nur integrierte Tools; benutzerdefinierte Tools, die von Erweiterungen und dem SDK registriert werden, sind nicht betroffen.

Das defaultTools-Array auf Projektebene ersetzt das globale Array vollständig.


Modellschleife und Ressourcen

Dieser Abschnitt konfiguriert den Geltungsbereich der Ctrl+P-Modellschleife sowie die Ladepfade für Ressourcen wie Erweiterungen und Skills.

KonfigurationseintragTypeErforderlichStandardwertBeschreibung
enabledModelsstring[]OptionalKeine (alle verfügbaren Modelle)Verfügbare Modelle mit Ctrl+P
packagesArray (gemischte Strings oder Objekte)Optional[]Paketquelle; String-Form lädt alle Ressourcen, Objekt-Form filtert anhand von Feldern wie {source, skills, extensions}
extensionsstring[]Optional[]Erweiterungspfad
skillsstring[]Optional[]Skill-Pfad
promptsstring[]Optional[]Vorlagenpfad
Themesstring[]Optional[]Theme-Pfad
enableSkillCommandsbooleschOptionalwahrBefehl /skill:name registrieren
sessionDirstringOptionalKeine (verwendet ~/.pi/agent/sessions/)Sitzungsspeicherverzeichnis
Weitere Erweiterungen