CLI commands
Sitzungen
openclaw sessions
Gespeicherte Konversationssitzungen auflisten.
Sitzungslisten sind keine Verfügbarkeitsprüfungen für Kanäle oder Provider. Sie zeigen persistierte
Konversationszeilen aus Sitzungsspeichern. Ein inaktiver Discord-, Slack-, Telegram- oder
anderer Kanal kann die Verbindung erfolgreich wiederherstellen, 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 benötigen.
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 nicht den CLI-Prozess oder 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 absichtlich 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 breite kombinierte
Ermittlungsquelle beizubehalten, aber nur Zeilen für Agents zurückzugeben, die aktuell in der Konfiguration vorhanden sind.
Die Control UI verwendet diesen Modus standardmäßig, sodass gelöschte oder ausschließlich auf der Festplatte 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 vorlagenbasierten session.store-Stammverzeichnis aufgelöst werden. Pfade älterer Selektoren
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 des Trajektorienendes
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 folgt es zuerst laufenden Sitzungen und anschließend
der neuesten gespeicherten 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
ältere Trajektoriendatei.
Die Fortschrittsansicht ist bewusst zurückhaltend: Prompt-Text, Tool-Argumente
und Inhalte von Tool-Ergebnissen werden nicht ausgegeben. Tool-Aufrufe zeigen den Tool-Namen mit
{...redacted...}; Tool-Ergebnisse 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ührungsanforderung 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 session.maintenance-Einstellungen aus der Konfiguration
(Konfigurationsreferenz):
- Hinweis zum Umfang:
openclaw sessions cleanupverwaltet Sitzungsspeicher, Transkripte, Trajektorienzeilen und ältere Trajektorien-Sidecars. Es bereinigt nicht den Cron-Ausführungsverlauf, der automatisch die neuesten 2000 Zeilen pro Auftrag beibehält (Cron-Konfiguration). - Die Bereinigung entfernt außerdem nicht referenzierte ältere/archivierte Transkriptartefakte,
Compaction-Prüfpunkte und Trajektorien-Sidecars, die älter als
session.maintenance.pruneAftersind; Artefakte, auf die noch von SQLite- Sitzungszeilen verwiesen wird, bleiben erhalten. - Die Bereinigung weist die Entfernung kurzlebiger Gateway-Modelllauf-Sonden separat als
modelRunPrunedaus. Dies entspricht nur streng expliziten Schlüsseln der Formagent:*:explicit:model-run-<uuid>. Die Aufbewahrungsdauer beträgt fest24hund ist druckabhängig: Veraltete Sondenzeilen werden nur entfernt, wenn bei der Wartung von Sitzungseinträgen oder der Kapazitätsbegrenzung Druck entsteht. Wenn sie ausgeführt wird, erfolgt die Bereinigung der Modellläufe vor der globalen Bereinigung veralteter Einträge und der Begrenzung.
Flags:
| Flag | Beschreibung |
|---|---|
--dry-run |
Vorschau, wie viele Einträge ohne Schreibvorgang bereinigt oder 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 den Wert warn hat. |
--fix-missing |
Ältere Einträge entfernen, deren archivierte Transkriptartefakte fehlen oder nur aus einer Kopfzeile bestehen beziehungsweise leer sind, auch wenn sie normalerweise noch nicht aufgrund von Alter oder Anzahl entfernt würden. |
--fix-dm-scope |
Wenn session.dmScope den Wert main hat, veraltete, nach Gegenstellen verschlüsselte Direktnachrichtenzeilen stilllegen, die durch früheres Routing über per-peer, per-channel-peer oder per-account-channel-peer zurückgeblieben sind. Verwenden Sie zuerst --dry-run; die Anwendung entfernt diese Zeilen aus SQLite und bewahrt ihre älteren Transkriptartefakte als gelöschte Archive auf. |
--active-key <key> |
Einen bestimmten aktiven Schlüssel vor der Verdrängung aufgrund des Festplattenbudgets schützen. Dauerhafte externe Konversationszeiger, etwa Gruppensitzungen und auf Threads beschränkte Chatsitzungen, werden bei der Wartung nach Alter, Anzahl und Festplattenbudget ebenfalls 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> |
Gegen einen bestimmten Pfad eines älteren Speicherselektors 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 konfigurierter Agent-Speicher, die kein Probelauf ist,
über das Gateway gesendet, sodass sie denselben Sitzungsspeicher-Schreiber wie der Laufzeitdatenverkehr
verwendet. Verwenden Sie --store <path> für die explizite Offline-Reparatur eines älteren
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
Kontextbudget für eine blockierte oder übergroße Sitzung zurückgewinnen. openclaw sessions compact <key> ist der primäre 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-Sidecar archiviert. --agent <id>: Agent, dem die Sitzung gehört; fürglobal-Schlüssel erforderlich.--url/--token/--password: Überschreibungen der 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, sodass Crons und Skripte einen stillen No-Op niemals fälschlicherweise als Erfolg werten.
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 | Agent-ID, der die Sitzung gehört (für global-Schlüssel). |
maxLines |
integer ≥ 1 | nein | Statt einer LLM-Zusammenfassung auf die letzten N Zeilen kürzen. |
Beispielantwort für eine LLM-Zusammenfassung:
{ "ok": true, "key": "agent:main:main", "compacted": true, "result": { "tokensBefore": 243868, "tokensAfter": 34941 }}Beispielantwort für das 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}