CLI commands
Sesje
openclaw sessions
Wyświetl zapisane sesje konwersacji.
Listy sesji nie są kontrolami dostępności kanału ani providera. Pokazują utrwalone
wiersze konwersacji z magazynów sesji. Cichy Discord, Slack, Telegram lub
inny kanał może ponownie połączyć się pomyślnie bez tworzenia nowego wiersza sesji
do czasu przetworzenia wiadomości. Użyj openclaw channels status --probe,
openclaw status --deep lub openclaw health --verbose, gdy potrzebujesz bieżącej
łączności kanału.
Odpowiedzi openclaw sessions i Gateway sessions.list są domyślnie ograniczone,
aby duże, długo działające magazyny nie mogły zmonopolizować procesu CLI ani pętli
zdarzeń Gateway. CLI domyślnie zwraca najnowsze 100 sesji; przekaż
--limit <n> dla mniejszego/większego okna albo --limit all, gdy celowo
potrzebujesz pełnego magazynu. Odpowiedzi JSON zawierają totalCount, limitApplied i
hasMore, gdy wywołujący muszą pokazać, że istnieje więcej wierszy.
Klienci RPC mogą przekazać configuredAgentsOnly: true, aby zachować szerokie,
połączone źródło odkrywania, ale zwracać tylko wiersze dla agentów aktualnie
obecnych w konfiguracji. Control UI używa tego trybu domyślnie, dzięki czemu usunięte
lub istniejące tylko na dysku magazyny agentów nie pojawiają się ponownie w widoku Sessions.
openclaw sessionsopenclaw sessions --agent workopenclaw sessions --all-agentsopenclaw sessions --active 120openclaw sessions --limit 25openclaw sessions --verboseopenclaw sessions --jsonWybór zakresu:
- domyślnie: skonfigurowany domyślny magazyn agenta
--verbose: szczegółowe logowanie--agent <id>: jeden skonfigurowany magazyn agenta--all-agents: agreguj wszystkie skonfigurowane magazyny agentów--store <path>: jawna ścieżka magazynu (nie można łączyć z--agentani--all-agents)--limit <n|all>: maksymalna liczba wierszy do wypisania (domyślnie100;allprzywraca pełne wyjście)
Śledź czytelny dla człowieka postęp trajektorii zapisanych sesji:
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 renderuje ostatnie zdarzenia JSONL trajektorii jako zwięzłe linie postępu. Bez --session-key najpierw śledzi uruchomione sesje, a potem najnowszą zapisaną sesję. --tail <count> kontroluje, ile istniejących zdarzeń zostanie wypisanych przed trybem obserwowania; wartość domyślna to 80, a 0 zaczyna od bieżącego końca. --follow kontynuuje obserwowanie wybranych plików trajektorii, w tym przeniesionych plików wskazanych przez <session>.trajectory-path.json.
Widok postępu jest celowo zachowawczy: tekst promptu, argumenty narzędzi i treści wyników narzędzi nie są wypisywane. Wywołania narzędzi pokazują nazwę narzędzia z {...redacted...}; wyniki narzędzi pokazują status, taki jak ok, error lub done; linie ukończenia modelu pokazują providera/model i status końcowy.
Eksportuj pakiet trajektorii dla zapisanej sesji:
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 --jsonTo jest ścieżka polecenia używana przez polecenie ukośnikowe /export-trajectory po
zatwierdzeniu żądania wykonania przez właściciela. Katalog wyjściowy jest zawsze rozwiązywany
wewnątrz .openclaw/trajectory-exports/ pod wybranym obszarem roboczym.
openclaw sessions --all-agents odczytuje skonfigurowane magazyny agentów. Odkrywanie
sesji przez Gateway i ACP jest szersze: obejmuje także magazyny istniejące tylko na dysku
znalezione pod domyślnym korzeniem agents/ lub szablonowanym korzeniem session.store.
Te odkryte magazyny muszą rozwiązywać się do zwykłych plików sessions.json wewnątrz
korzenia agenta; dowiązania symboliczne i ścieżki poza korzeniem są pomijane.
Przykłady JSON:
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": "gpt-5" }, { "agentId": "work", "key": "agent:work:main", "model": "claude-opus-4-6" } ]}Konserwacja czyszczenia
Uruchom konserwację teraz (zamiast czekać na następny cykl zapisu):
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 używa ustawień session.maintenance z konfiguracji:
-
Uwaga dotycząca zakresu:
openclaw sessions cleanuputrzymuje magazyny sesji, transkrypcje i pliki boczne trajektorii. Nie przycina historii uruchomień Cron, która jest zarządzana przezcron.runLog.keepLinesw konfiguracji Cron i wyjaśniona w konserwacji Cron. -
Czyszczenie przycina także niepowiązane podstawowe transkrypcje, punkty kontrolne Compaction i pliki boczne trajektorii starsze niż
session.maintenance.pruneAfter; pliki nadal wskazywane przezsessions.jsonsą zachowywane. -
Czyszczenie raportuje osobno krótkotrwałe czyszczenie sond uruchomień modeli Gateway jako
modelRunPruned. Pasuje to tylko do ścisłych, jawnych kluczy w kształcieagent:*:explicit:model-run-<uuid>. Stały okres retencji to24h, ale jest on uzależniony od presji: usuwa nieaktualne wiersze sond tylko wtedy, gdy zostanie osiągnięta konserwacja wpisów sesji albo presja limitu. Gdy zostanie uruchomione, czyszczenie uruchomień modelu odbywa się przed globalnym czyszczeniem nieaktualnych wpisów i ograniczaniem. -
--dry-run: podgląd, ile wpisów zostałoby przyciętych/ograniczonych bez zapisu.- W trybie tekstowym dry-run wypisuje tabelę działań dla każdej sesji (
Action,Key,Age,Model,Flags) oraz podsumowanie pogrupowane według etykiety sesji, aby było widać, co zostałoby zachowane, a co usunięte.
- W trybie tekstowym dry-run wypisuje tabelę działań dla każdej sesji (
-
--enforce: zastosuj konserwację nawet wtedy, gdysession.maintenance.modema wartośćwarn. -
--fix-missing: usuń wpisy, których plików transkrypcji brakuje albo które mają tylko nagłówek/są puste, nawet jeśli normalnie nie zostałyby jeszcze wykluczone przez wiek/licznik. -
--fix-dm-scope: gdysession.dmScopema wartośćmain, wycofaj nieaktualne, kluczowane peerem wiersze bezpośrednich DM pozostawione przez wcześniejszy routingper-peer,per-channel-peerlubper-account-channel-peer. Najpierw użyj--dry-run; zastosowanie czyszczenia usuwa te wiersze zsessions.jsoni zachowuje ich transkrypcje jako usunięte archiwa. -
--active-key <key>: chroń konkretny aktywny klucz przed usunięciem z powodu budżetu dyskowego. Trwałe zewnętrzne wskaźniki konwersacji, takie jak sesje grupowe i sesje czatu o zakresie wątku, są także zachowywane przez konserwację wieku/licznika/budżetu dyskowego. -
--agent <id>: uruchom czyszczenie dla jednego skonfigurowanego magazynu agenta. -
--all-agents: uruchom czyszczenie dla wszystkich skonfigurowanych magazynów agentów. -
--store <path>: uruchom na konkretnym plikusessions.json. -
--json: wypisz podsumowanie JSON. Z--all-agentswyjście zawiera jedno podsumowanie na magazyn.
Gdy Gateway jest osiągalny, czyszczenie bez dry-run dla skonfigurowanych magazynów agentów
jest wysyłane przez Gateway, aby współdzieliło ten sam zapis magazynu sesji co ruch
runtime. Użyj --store <path> do jawnej naprawy offline pliku magazynu.
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 } ]}Kompaktuj sesję
Odzyskaj budżet kontekstu dla zablokowanej lub zbyt dużej sesji. openclaw sessions compact <key> to pierwszorzędny wrapper wokół RPC Gateway sessions.compact i wymaga działającego Gateway.
openclaw sessions compact "agent:main:main"openclaw sessions compact "agent:main:main" --max-lines 200openclaw sessions compact "agent:work:main" --agent work --json- Bez
--max-linesGateway podsumowuje transkrypcję za pomocą LLM. CLI domyślnie nie narzuca terminu po stronie klienta; Gateway jest właścicielem skonfigurowanego cyklu życia Compaction. - Z
--max-lines <n>obcina do ostatnichnlinii transkrypcji i archiwizuje wcześniejszą transkrypcję jako plik boczny.bak. --agent <id>: agent, który jest właścicielem sesji; wymagane dla kluczyglobal.--url/--token/--password: nadpisania połączenia Gateway.--timeout <ms>: opcjonalny limit czasu RPC po stronie klienta w milisekundach.--json: wypisz surowy payload RPC.
Polecenie kończy się kodem niezerowym, gdy Gateway zgłosi nieudaną Compaction albo jest nieosiągalny, dzięki czemu crony i skrypty nigdy nie pomylą cichego braku działania z sukcesem.
Uwaga:
openclaw agent --message '/compact ...'nie jest ścieżką Compaction. Polecenia ukośnikowe z CLI są odrzucane przez kontrolę autoryzowanego nadawcy; takie wywołanie kończy się kodem niezerowym ze wskazówką prowadzącą tutaj, zamiast po cichu nic nie robić.
RPC sessions.compact
openclaw gateway call sessions.compact --params '<json>' akceptuje:
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
key |
string | tak | Klucz sesji do kompaktowania (na przykład agent:main:main). |
agentId |
string | nie | Identyfikator agenta, który jest właścicielem sesji (dla kluczy global). |
maxLines |
integer ≥ 1 | nie | Obetnij do ostatnich N linii zamiast podsumowania LLM. |
Przykładowa odpowiedź podsumowania LLM:
{ "ok": true, "key": "agent:main:main", "compacted": true, "result": { "tokensBefore": 243868, "tokensAfter": 34941 }}Przykładowa odpowiedź obcięcia (--max-lines 200):
{ "ok": true, "key": "agent:main:main", "compacted": true, "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak", "kept": 200}Powiązane
- Konfiguracja sesji: Odwołanie konfiguracji
- Odwołanie CLI
- Zarządzanie sesjami