CLI commands
Сеансы
openclaw sessions
Выводит список сохраненных сеансов бесед.
Списки сеансов не являются проверками работоспособности каналов/провайдеров. Они показывают сохраненные
строки бесед из хранилищ сеансов. Тихий Discord, Slack, Telegram или
другой канал может успешно переподключиться без создания новой строки сеанса
до обработки сообщения. Используйте openclaw channels status --probe,
openclaw status --deep или openclaw health --verbose, когда нужна текущая
связность канала.
Ответы openclaw sessions и Gateway sessions.list по умолчанию ограничены,
чтобы большие долгоживущие хранилища не могли монополизировать процесс CLI или
цикл событий Gateway. CLI по умолчанию возвращает 100 новейших сеансов; передайте
--limit <n> для меньшего/большего окна или --limit all, когда намеренно
нужно все хранилище. JSON-ответы включают totalCount, limitApplied и
hasMore, когда вызывающим сторонам нужно показать, что существуют дополнительные строки.
RPC-клиенты могут передать configuredAgentsOnly: true, чтобы сохранить широкий объединенный
источник обнаружения, но возвращать только строки для агентов, которые сейчас есть в конфигурации.
Control UI использует этот режим по умолчанию, чтобы удаленные или существующие только на диске хранилища агентов
не появлялись снова в представлении сеансов.
openclaw sessionsopenclaw sessions --agent workopenclaw sessions --all-agentsopenclaw sessions --active 120openclaw sessions --limit 25openclaw sessions --verboseopenclaw sessions --jsonВыбор области:
- по умолчанию: настроенное хранилище агента по умолчанию
--verbose: подробное журналирование--agent <id>: одно настроенное хранилище агента--all-agents: объединить все настроенные хранилища агентов--store <path>: явный путь к хранилищу (нельзя сочетать с--agentили--all-agents)--limit <n|all>: максимальное число строк для вывода (по умолчанию100;allвосстанавливает полный вывод)
Отслеживать человекочитаемый прогресс траектории для сохраненных сеансов:
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 отображает недавние события JSONL траектории в виде компактных строк прогресса. Без --session-key он сначала отслеживает выполняющиеся сеансы, затем последний сохраненный сеанс. --tail <count> управляет тем, сколько существующих событий печатается перед режимом отслеживания; значение по умолчанию — 80, а 0 начинает с текущего конца. --follow продолжает наблюдать за выбранными файлами траекторий, включая перемещенные файлы, на которые ссылается <session>.trajectory-path.json.
Представление прогресса намеренно консервативно: текст промпта, аргументы инструментов и тела результатов инструментов не печатаются. Вызовы инструментов показывают имя инструмента с {...redacted...}; результаты инструментов показывают статус, например ok, error или done; строки завершения модели показывают провайдера/модель и терминальный статус.
Экспортировать пакет траектории для сохраненного сеанса:
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 --jsonЭто путь команды, используемый slash-командой /export-trajectory после того,
как владелец одобряет запрос на выполнение. Выходной каталог всегда разрешается
внутри .openclaw/trajectory-exports/ в выбранном рабочем пространстве.
openclaw sessions --all-agents читает настроенные хранилища агентов. Обнаружение
сеансов Gateway и ACP шире: они также включают хранилища только на диске, найденные в
корне agents/ по умолчанию или в шаблонном корне session.store. Эти
обнаруженные хранилища должны разрешаться в обычные файлы sessions.json внутри
корня агента; символические ссылки и пути за пределами корня пропускаются.
Примеры 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" } ]}Обслуживание очистки
Запустить обслуживание сейчас (вместо ожидания следующего цикла записи):
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 использует настройки session.maintenance из конфигурации:
-
Примечание об области:
openclaw sessions cleanupобслуживает хранилища сеансов, транскрипты и sidecar-файлы траекторий. Он не сокращает историю запусков Cron, которой управляетcron.runLog.keepLinesв конфигурации Cron и которая объясняется в обслуживании Cron. -
Очистка также удаляет несвязанные основные транскрипты, контрольные точки Compaction и sidecar-файлы траекторий старше
session.maintenance.pruneAfter; файлы, на которые все еще ссылаетсяsessions.json, сохраняются. -
Очистка отдельно сообщает об удалении короткоживущих проверок запусков моделей Gateway как
modelRunPruned. Это соответствует только строгим явным ключам формыagent:*:explicit:model-run-<uuid>. Фиксированное удержание составляет24h, но оно ограничено давлением: устаревшие строки проверок удаляются только тогда, когда достигнуто обслуживание записей сеансов/давление лимита. Когда это выполняется, очистка запусков моделей происходит перед глобальной очисткой устаревших записей и ограничением. -
--dry-run: предварительно показать, сколько записей было бы удалено/ограничено без записи.- В текстовом режиме dry-run печатает таблицу действий по сеансам (
Action,Key,Age,Model,Flags) и сводку, сгруппированную по метке сеанса, чтобы было видно, что будет сохранено, а что удалено.
- В текстовом режиме dry-run печатает таблицу действий по сеансам (
-
--enforce: применить обслуживание, даже когдаsession.maintenance.modeравноwarn. -
--fix-missing: удалить записи, чьи файлы транскриптов отсутствуют или содержат только заголовок/пусты, даже если по возрасту/числу они еще обычно не подлежали бы удалению. -
--fix-dm-scope: когдаsession.dmScopeравноmain, вывести из обращения устаревшие строки прямых DM с ключами пиров, оставшиеся после более ранней маршрутизацииper-peer,per-channel-peerилиper-account-channel-peer. Сначала используйте--dry-run; применение очистки удаляет эти строки изsessions.jsonи сохраняет их транскрипты как удаленные архивы. -
--active-key <key>: защитить конкретный активный ключ от вытеснения по дисковому бюджету. Долговечные внешние указатели бесед, такие как групповые сеансы и сеансы чатов в рамках тредов, также сохраняются обслуживанием по возрасту/числу/дисковому бюджету. -
--agent <id>: выполнить очистку для одного настроенного хранилища агента. -
--all-agents: выполнить очистку для всех настроенных хранилищ агентов. -
--store <path>: выполнить для конкретного файлаsessions.json. -
--json: напечатать JSON-сводку. С--all-agentsвывод включает одну сводку на хранилище.
Когда Gateway доступен, очистка без dry-run для настроенных хранилищ агентов
отправляется через Gateway, чтобы использовать тот же писатель хранилища сеансов, что и runtime-трафик.
Используйте --store <path> для явного офлайн-восстановления файла хранилища.
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 } ]}Сжать сеанс
Освободить бюджет контекста для зависшего или слишком большого сеанса. openclaw sessions compact <key> — первоклассная оболочка вокруг Gateway RPC sessions.compact, требующая запущенного Gateway.
openclaw sessions compact "agent:main:main"openclaw sessions compact "agent:main:main" --max-lines 200openclaw sessions compact "agent:work:main" --agent work --json- Без
--max-linesGateway выполняет LLM-суммаризацию транскрипта. CLI по умолчанию не накладывает клиентский дедлайн; Gateway владеет настроенным жизненным циклом Compaction. - С
--max-lines <n>он усекает до последнихnстрок транскрипта и архивирует предыдущий транскрипт как sidecar.bak. --agent <id>: агент, которому принадлежит сеанс; требуется для ключейglobal.--url/--token/--password: переопределения подключения к Gateway.--timeout <ms>: необязательный клиентский тайм-аут RPC в миллисекундах.--json: напечатать сырой payload RPC.
Команда завершается с ненулевым кодом, когда Gateway сообщает о неудачной Compaction или недоступен, поэтому Cron и скрипты никогда не принимают тихую операцию без эффекта за успех.
Примечание:
openclaw agent --message '/compact ...'— не путь Compaction. Slash-команды из CLI отклоняются проверкой авторизованного отправителя; такой вызов завершается с ненулевым кодом и подсказкой сюда вместо тихой операции без эффекта.
RPC sessions.compact
openclaw gateway call sessions.compact --params '<json>' принимает:
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
key |
string | да | Ключ сеанса для сжатия (например agent:main:main). |
agentId |
string | нет | Идентификатор агента, которому принадлежит сеанс (для ключей global). |
maxLines |
integer ≥ 1 | нет | Усечь до последних N строк вместо LLM-суммаризации. |
Пример ответа LLM-суммаризации:
{ "ok": true, "key": "agent:main:main", "compacted": true, "result": { "tokensBefore": 243868, "tokensAfter": 34941 }}Пример ответа усечения (--max-lines 200):
{ "ok": true, "key": "agent:main:main", "compacted": true, "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak", "kept": 200}Связанное
- Конфигурация сеансов: справочник по конфигурации
- справочник CLI
- управление сеансами