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

Sitzungen

Pi speichert Gespräche als Sitzungen, sodass Sie mit der Arbeit fortfahren, von früheren Runden abzweigen und frühere Pfade erneut besuchen können.

Sitzungsspeicher

Sitzungen werden automatisch unter ~/.pi/agent/sessions/ gespeichert, organisiert nach Arbeitsverzeichnis. Jede Sitzung ist eine JSONL-Datei mit einer Baumstruktur.

pi -c                  # Continue most recent session
pi -r                  # Browse and select from past sessions
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 partial session ID
pi --fork <path|id>    # Fork a session file or partial session ID into a new session

Verwenden Sie /session im interaktiven Modus, um die aktuelle Sitzungsdatei, Sitzungs-ID, Nachrichtenanzahl, Token und Kosten anzuzeigen.

Informationen zum Dateiformat JSONL und zum SessionManager API finden Sie unter Session Format.

Sitzungsbefehle

Befehl Beschreibung
/resume Durchsuchen Sie frühere Sitzungen und wählen Sie sie aus
/new Starten Sie eine neue Sitzung
/name <name> Legen Sie den Anzeigenamen der aktuellen Sitzung fest
/session Sitzungsinformationen anzeigen
/tree Navigieren Sie durch die aktuelle session tree
/fork Erstellen Sie eine neue Sitzung aus einer vorherigen Benutzernachricht
/clone Duplizieren Sie den aktuell aktiven Zweig in eine neue Sitzung
/compact [prompt] Älteren Kontext zusammenfassen; siehe Compaction
/export [file] Sitzung nach HTML exportieren
/share Als privates GitHub Gist mit gemeinsam nutzbarem HTML-Link hochladen

Fortsetzen und Löschen von Sitzungen

/resume öffnet eine interaktive Sitzungsauswahl für das aktuelle Projekt. pi -r öffnet den gleichen Picker beim Start.

Im Picker können Sie:

  • Suche durch Eingabe
  • Schalten Sie die Pfadanzeige mit Strg+P um
  • Schalten Sie den Sortiermodus mit Strg+S um
  • Filtern Sie mit Strg+N nach benannten Sitzungen
  • mit Strg+R umbenennen
  • Mit Strg+D löschen, dann bestätigen

Wenn verfügbar, verwendet Pi trash CLI zum Löschen, anstatt Dateien dauerhaft zu entfernen.

Benennung von Sitzungen

Verwenden Sie /name <name>, um einen für Menschen lesbaren Sitzungsnamen festzulegen:

/name Refactor auth module

Legen Sie den Namen beim Start mit --name oder -n fest:

pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"

Benannte Sitzungen sind in /resume und pi -r leichter zu finden.

Verzweigung mit /tree

Sitzungen werden als Bäume gespeichert. Jeder Eintrag hat eine id und parentId, und die aktuelle Position ist der Gangflügel. Mit /tree können Sie zu jedem vorherigen Punkt springen und von dort aus fortfahren, ohne eine neue Datei zu erstellen.

Tree View

Beispielform:

├─ user: "Hello, can you help..."
│  └─ assistant: "Of course! I can..."
│     ├─ user: "Let's try approach A..."
│     │  └─ assistant: "For approach A..."
│     │     └─ user: "That worked..."  ← active
│     └─ user: "Actually, approach B..."
│        └─ assistant: "For approach B..."

Baumkontrollen

Schlüssel Aktion
↑/↓ Navigieren Sie durch sichtbare Einträge
←/→ Seite hoch/runter
Strg+←/Strg+→ oder Alt+←/Alt+→ Falten/entfalten oder zwischen Astsegmenten springen
Umschalt+L Legen Sie eine Beschriftung für den ausgewählten Eintrag fest oder löschen Sie sie
Umschalt+T Label-Zeitstempel umschalten
Eingeben Eintrag auswählen
Escape/Strg+C Stornieren
Strg+O Zyklusfiltermodus

Die Filtermodi sind: Standard, keine Tools, nur Benutzer, nur beschriftet und alle. Konfigurieren Sie die Standardeinstellung mit treeFilterMode in Settings.

Auswahlverhalten

Auswählen eines Benutzers oder einer benutzerdefinierten Nachricht:

  1. Verschiebt das Blatt zum übergeordneten Element der ausgewählten Nachricht.
  2. Platziert den ausgewählten Nachrichtentext im Editor.
  3. Ermöglicht das Bearbeiten und erneute Senden sowie das Erstellen eines neuen Zweigs.

Auswählen eines Assistenten, Werkzeugs, einer Verdichtung oder eines anderen Nichtbenutzereintrags:

  1. Verschiebt das Blatt zu diesem Eintrag.
  2. Lässt den Editor leer.
  3. Ermöglicht Ihnen, von diesem Punkt aus fortzufahren.

Durch Auswahl der Root-Benutzernachricht wird das Blatt auf eine leere Konversation zurückgesetzt und die ursprüngliche Eingabeaufforderung im Editor platziert.

/tree, /fork und /clone

Besonderheit /tree /fork /clone
Ausgabe Gleiche Sitzungsdatei Neue Sitzungsdatei Neue Sitzungsdatei
Sicht Vollständiger Baum Auswahl für Benutzernachrichten Derzeitiger aktiver Zweig
Typische Verwendung Entdecken Sie Alternativen vor Ort Starten Sie eine neue Sitzung an einer früheren Eingabeaufforderung Duplizieren Sie die aktuelle Arbeit, bevor Sie fortfahren
Zusammenfassung Optionale Zweigzusammenfassung Keiner Keiner

Verwenden Sie /tree, wenn Sie Alternativen zusammenhalten möchten. Verwenden Sie /fork oder /clone, wenn Sie eine separate Sitzungsdatei wünschen.

Branchenzusammenfassungen

Wenn /tree von einem Zweig zum anderen wechselt, kann pi den verlassenen Zweig zusammenfassen und diese Zusammenfassung an der neuen Position anhängen. Dadurch bleibt wichtiger Kontext des von Ihnen verlassenen Pfads erhalten, ohne dass der gesamte Zweig erneut abgespielt werden muss.

Wenn Sie dazu aufgefordert werden, wählen Sie eine der folgenden Optionen:

  1. keine Zusammenfassung
  2. Zusammenfassen mit der Standardaufforderung
  3. Zusammenfassen mit benutzerdefinierten Fokusanweisungen

Siehe Compaction für branch summarization Einbauten und Verlängerungshaken.

Sitzungsformat

Sitzungsdateien sind JSONL und enthalten Nachrichteneinträge, Modelländerungen, Änderungen auf Denkebene, Beschriftungen, Verdichtungen, Zweigzusammenfassungen und Erweiterungseinträge.

Informationen zu Parsern, Erweiterungen, SDK-Nutzung und dem vollständigen SessionManager API finden Sie unter Session Format.