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 sessionVerwenden 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 moduleLegen 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.

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:
- Verschiebt das Blatt zum übergeordneten Element der ausgewählten Nachricht.
- Platziert den ausgewählten Nachrichtentext im Editor.
- Ermöglicht das Bearbeiten und erneute Senden sowie das Erstellen eines neuen Zweigs.
Auswählen eines Assistenten, Werkzeugs, einer Verdichtung oder eines anderen Nichtbenutzereintrags:
- Verschiebt das Blatt zu diesem Eintrag.
- Lässt den Editor leer.
- 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:
- keine Zusammenfassung
- Zusammenfassen mit der Standardaufforderung
- 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.