CLI commands
Sitzungen
openclaw sessions
Gespeicherte Konversationssitzungen auflisten.
Sitzungslisten sind keine Erreichbarkeitsprüfungen für Kanäle oder Provider. Sie zeigen persistierte
Konversationszeilen aus Sitzungsspeichern. Ein inaktiver Discord-, Slack-, Telegram- oder
anderer Kanal kann sich erfolgreich neu verbinden, ohne eine neue Sitzungszeile zu erstellen,
bis eine Nachricht verarbeitet wird. Verwenden Sie openclaw channels status --probe,
openclaw status --deep oder openclaw health --verbose, wenn Sie die aktuelle
Kanalkonnektivität prüfen müssen.
openclaw sessionsopenclaw sessions --agent workopenclaw sessions --all-agentsopenclaw sessions --active 120openclaw sessions --limit 25openclaw sessions --store ./tmp/sessions.jsonopenclaw sessions --jsonFlags:
| Flag | Beschreibung |
|---|---|
--agent <id> |
Ein konfigurierter Agent-Speicher (Standard: konfigurierter Standard-Agent). |
--all-agents |
Alle konfigurierten Agent-Speicher zusammenfassen. |
--store <path> |
Expliziter Speicherpfad (nicht mit --agent oder --all-agents kombinierbar). |
--active <minutes> |
Nur Sitzungen anzeigen, die innerhalb der letzten N Minuten aktualisiert wurden. |
--limit <n|all> |
Maximale Anzahl auszugebender Zeilen (Standard: 100; all stellt die vollständige Ausgabe wieder her). |
--json |
Maschinenlesbare Ausgabe. |
--verbose |
Ausführliche Protokollierung. |
openclaw sessions und der Gateway-RPC sessions.list sind standardmäßig
begrenzt, damit große, langlebige Speicher weder den CLI-Prozess noch die
Gateway-Ereignisschleife monopolisieren können. Die CLI gibt standardmäßig die neuesten 100 Sitzungen zurück;
übergeben Sie --limit <n> für ein kleineres oder größeres Fenster oder --limit all, wenn Sie bewusst den
vollständigen Speicher benötigen. JSON-Antworten enthalten totalCount, limitApplied und hasMore,
wenn Aufrufer anzeigen müssen, dass weitere Zeilen vorhanden sind.
RPC-Clients können configuredAgentsOnly: true übergeben, um die umfassende kombinierte
Ermittlungsquelle beizubehalten, aber nur Zeilen für Agenten zurückzugeben, die derzeit in der Konfiguration vorhanden sind.
Die Control UI verwendet diesen Modus standardmäßig, damit gelöschte oder nur auf dem Datenträger vorhandene Agent-Speicher
nicht erneut in der Sitzungsansicht erscheinen.
--all-agents liest konfigurierte Agent-Speicher. Die Sitzungsermittlung von Gateway und ACP
ist umfassender: Sie schließt auch SQLite-Speicher ein, die aus
konfigurierten Agent-Stammverzeichnissen oder einem als Vorlage definierten session.store-Stammverzeichnis aufgelöst werden. Veraltete Selektorpfade
müssen innerhalb des Agent-Stammverzeichnisses aufgelöst werden; symbolische Links und Pfade außerhalb des Stammverzeichnisses werden
übersprungen.
openclaw sessions --all-agents --json:
{ "path": null, "stores": [ { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" }, { "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" } ], "allAgents": true, "count": 2, "totalCount": 2, "limitApplied": 100, "hasMore": false, "activeMinutes": null, "sessions": [ { "agentId": "main", "key": "agent:main:main", "model": "openai/gpt-5.6-sol" }, { "agentId": "work", "key": "agent:work:main", "model": "anthropic/claude-sonnet-4-6" } ]}Fortschritt der Trajektorie verfolgen
openclaw sessions tailopenclaw sessions tail --followopenclaw sessions tail --session-key "agent:main:telegram:direct:123" --tail 25openclaw sessions --agent work tail --followopenclaw sessions --all-agents tail --followopenclaw sessions tail stellt aktuelle Laufzeit-Trajektorienereignisse als kompakte
Fortschrittszeilen dar. Ohne --session-key verfolgt es zuerst laufende Sitzungen und anschließend
die neueste gespeicherte Sitzung. --tail <count> steuert, wie viele vorhandene Ereignisse
vor dem Folgemodus ausgegeben werden; Standard ist 80, und 0 beginnt am aktuellen Ende.
--follow überwacht weiterhin die ausgewählte SQLite-gestützte Sitzung oder eine explizite
veraltete Trajektoriendatei.
Die Fortschrittsansicht ist bewusst zurückhaltend: Prompt-Text, Werkzeugargumente
und Inhalte von Werkzeugergebnissen werden nicht ausgegeben. Werkzeugaufrufe zeigen den Werkzeugnamen mit
{...redacted...}; Werkzeugergebnisse zeigen einen Status wie ok, error oder done;
Modellabschlusszeilen zeigen Provider/Modell und den Endstatus.
Ein Trajektorienpaket exportieren
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --output bug-123 --jsonDies ist der Befehlspfad, den der Slash-Befehl /export-trajectory verwendet, nachdem
der Eigentümer die Ausführungsanfrage genehmigt hat. Das Ausgabeverzeichnis wird immer
innerhalb von .openclaw/trajectory-exports/ unter dem ausgewählten Arbeitsbereich aufgelöst.
Bereinigungswartung
Führen Sie die Wartung jetzt aus, statt auf den nächsten Schreibzyklus zu warten:
openclaw sessions cleanup --dry-runopenclaw sessions cleanup --agent work --dry-runopenclaw sessions cleanup --all-agents --dry-runopenclaw sessions cleanup --enforceopenclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"openclaw sessions cleanup --dry-run --fix-dm-scopeopenclaw sessions cleanup --jsonopenclaw sessions cleanup verwendet die Einstellungen von session.maintenance aus der Konfiguration
(Konfigurationsreferenz):
- Hinweis zum Umfang:
openclaw sessions cleanupwartet Sitzungsspeicher, Transkripte, Trajektorienzeilen und veraltete Trajektorien-Begleitdateien. Es bereinigt nicht den Cron-Ausführungsverlauf, der durchcron.runLog.keepLinesverwaltet wird (Cron-Konfiguration). - Die Bereinigung entfernt außerdem nicht referenzierte veraltete/archivierte Transkriptartefakte,
Compaction-Prüfpunkte und Trajektorien-Begleitdateien, die älter als
session.maintenance.pruneAftersind; Artefakte, auf die weiterhin von SQLite- Sitzungszeilen verwiesen wird, bleiben erhalten. - Die Bereinigung meldet die kurzlebige Bereinigung von Gateway-Modellausführungsproben separat als
modelRunPruned. Dies entspricht nur strikt expliziten Schlüsseln der Formagent:*:explicit:model-run-<uuid>. Die Aufbewahrungsdauer ist fest auf24heingestellt und druckabhängig: Veraltete Probenzeilen werden nur entfernt, wenn der Wartungs-/Kapazitätsdruck für Sitzungseinträge erreicht wird. Wenn sie ausgeführt wird, erfolgt die Bereinigung von Modellausführungen vor der globalen Bereinigung veralteter Einträge und der Begrenzung.
Flags:
| Flag | Beschreibung |
|---|---|
--dry-run |
Vorschau darauf, wie viele Einträge ohne Schreibvorgang bereinigt/begrenzt würden. Im Textmodus wird eine Aktionstabelle pro Sitzung (Action, Key, Age, Model, Flags) sowie eine nach Sitzungsbezeichnung gruppierte Zusammenfassung ausgegeben. |
--enforce |
Wartung auch dann anwenden, wenn session.maintenance.mode auf warn gesetzt ist. |
--fix-missing |
Veraltete Einträge entfernen, deren archivierte Transkriptartefakte fehlen oder nur einen Header enthalten/leer sind, auch wenn sie normalerweise noch nicht aufgrund von Alter oder Anzahl entfernt würden. |
--fix-dm-scope |
Wenn session.dmScope auf main gesetzt ist, veraltete, nach Peers verschlüsselte Direktnachrichtenzeilen stilllegen, die von früherem per-peer-, per-channel-peer- oder per-account-channel-peer-Routing zurückgeblieben sind. Verwenden Sie zuerst --dry-run; beim Anwenden werden diese Zeilen aus SQLite entfernt und ihre veralteten Transkriptartefakte als gelöschte Archive beibehalten. |
--active-key <key> |
Einen bestimmten aktiven Schlüssel vor der Verdrängung aufgrund des Datenträgerbudgets schützen. Dauerhafte externe Konversationszeiger, etwa Gruppensitzungen und Thread-bezogene Chatsitzungen, werden ebenfalls bei der Wartung nach Alter/Anzahl/Datenträgerbudget beibehalten. |
--agent <id> |
Bereinigung für einen konfigurierten Agent-Speicher ausführen. |
--all-agents |
Bereinigung für alle konfigurierten Agent-Speicher ausführen. |
--store <path> |
Für einen bestimmten veralteten Speicher-Selektorpfad ausführen. |
--json |
Eine JSON-Zusammenfassung ausgeben. Mit --all-agents enthält die Ausgabe eine Zusammenfassung pro Speicher. |
Wenn ein Gateway erreichbar ist, wird eine Bereinigung ohne Probelauf für konfigurierte Agent-Speicher
über das Gateway gesendet, sodass sie denselben Sitzungsspeicher-Schreiber wie der Laufzeitdatenverkehr
verwendet. Verwenden Sie --store <path> für die explizite Offline-Reparatur eines veralteten
Speicherselektors.
openclaw sessions cleanup --all-agents --dry-run --json:
{ "allAgents": true, "mode": "warn", "dryRun": true, "stores": [ { "agentId": "main", "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json", "beforeCount": 120, "afterCount": 80, "missing": 0, "dmScopeRetired": 0, "pruned": 40, "capped": 0 }, { "agentId": "work", "storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json", "beforeCount": 18, "afterCount": 18, "missing": 0, "dmScopeRetired": 0, "pruned": 0, "capped": 0 } ]}Eine Sitzung komprimieren
Geben Sie Kontextbudget für eine festgefahrene oder übergroße Sitzung frei. openclaw sessions compact <key> ist der erstklassige Wrapper um den Gateway-RPC sessions.compact
und erfordert ein laufendes Gateway.
openclaw sessions compact "agent:main:main"openclaw sessions compact "agent:main:main" --max-lines 200openclaw sessions compact "agent:work:main" --agent work --json- Ohne
--max-linesfasst das Gateway-LLM das Transkript zusammen. Die CLI legt standardmäßig keine clientseitige Frist fest; das Gateway verwaltet den konfigurierten Compaction-Lebenszyklus. - Mit
--max-lines <n>wird auf die letztennTranskriptzeilen gekürzt und das vorherige Transkript als.bak-Begleitdatei archiviert. --agent <id>: Agent, dem die Sitzung gehört; fürglobal-Schlüssel erforderlich.--url/--token/--password: Überschreibungen für die Gateway-Verbindung.--timeout <ms>: optionale clientseitige RPC-Zeitüberschreitung in Millisekunden.--json: die unverarbeitete RPC-Nutzlast ausgeben.
Der Befehl wird mit einem von null verschiedenen Status beendet, wenn das Gateway eine fehlgeschlagene Compaction meldet oder nicht erreichbar ist, damit Crons und Skripte ein stilles Nichtstun niemals mit Erfolg verwechseln.
sessions.compact RPC
openclaw gateway call sessions.compact --params '<json>' akzeptiert:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
key |
string | ja | Zu komprimierender Sitzungsschlüssel (zum Beispiel agent:main:main). |
agentId |
string | nein | ID des Agenten, dem die Sitzung gehört (für global-Schlüssel). |
maxLines |
integer ≥ 1 | nein | Auf die letzten N Zeilen kürzen, anstatt eine LLM-Zusammenfassung zu erstellen. |
Beispielantwort der LLM-Zusammenfassung:
{ "ok": true, "key": "agent:main:main", "compacted": true, "result": { "tokensBefore": 243868, "tokensAfter": 34941 }}Beispielantwort beim Kürzen (--max-lines 200):
{ "ok": true, "key": "agent:main:main", "compacted": true, "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak", "kept": 200}