Skip to main content

openclaw sessions

列出存储的对话会话。 会话列表不是通道/提供方在线状态检查。它们显示的是会话存储中持久化的 对话记录行。一个安静的 Discord、Slack、Telegram 或其他通道可以在不创建 新的会话记录的情况下成功重新连接,直到某条消息被处理为止。当你需要实时 通道连接状态时,请使用 openclaw channels status --probeopenclaw status --deepopenclaw health --verbose
标志: openclaw sessions 和 Gateway 的 sessions.list RPC 默认都有边界限制, 因此大型、长生命周期的存储不会垄断 CLI 进程或 Gateway 事件循环。 CLI 默认返回最新的 100 个会话;如需更小/更大的窗口,请传入 --limit <n>, 如果你确实需要完整存储,则传入 --limit all。当调用方需要显示还有更多行时, JSON 响应会包含 totalCountlimitAppliedhasMore RPC 客户端可以传入 configuredAgentsOnly: true,以保留广泛的组合发现来源, 但只返回当前配置中存在的 agent 的行。控制 UI 默认使用该模式,因此已删除 或仅磁盘存在的 agent 存储不会重新出现在会话视图中。 --all-agents 读取已配置的 agent 存储。Gateway 和 ACP 会话 发现范围更广:它们还包括从已配置的 agent 根目录或模板化的 session.store 根目录解析出的 SQLite 存储。旧版选择器路径必须解析到 agent 根目录内; 符号链接和根目录外路径会被跳过。 openclaw sessions --all-agents --json

归档会话

通过正在运行的 Gateway 归档一个或多个会话:
归档使用与控制界面相同的 sessions.patch 生命周期操作。 它会保留会话记录,将会话标记为已归档,并将其从默认的活动会话列表中移除。对于存在活动部署的云工作器会话,Gateway 会先停止工作器,同步其工作区,然后回收环境。如果部署仍在转换中,或已失败但无法证明其环境已被移除,则会话不会被归档;请等待部署状态稳定后重试。主代理会话仍受保护。已经归档的会话会直接成功且不执行任何操作。使用 --dry-run 可验证每个键并预览结果,而不会更改会话状态。

删除会话

通过正在运行的网关删除一个或多个会话:
删除操作具有破坏性。在交互式终端中,删除有效键之前会询问一次。 非交互式删除和使用 --json 的删除都需要 --yes。编写批量清理脚本时,请先使用 --dry-run
删除使用与控制 UI 相同的 sessions.delete 生命周期操作,并启用记录清理。网关会移除实时会话记录、记录生成内容、会话所属的运行时状态、绑定、看板以及其他生命周期产物。对于普通会话,它会将记录保留为经过验证的 .jsonl.deleted.<timestamp> 归档;隐身会话的记录则会直接删除而不进行归档。如果无法安全移除受管理的工作树,该命令会报告保留的分支和路径,以便手动清理。 两个生命周期命令都:
  • 接受多个键,并针对每个键按顺序返回一个结果;
  • 使用 --agent <id> 选择所属代理;对于默认代理之外的 global 键,这是必需的;
  • 支持 --url--token--password--timeout <ms> 网关连接覆盖选项;
  • 当任何键未知或任何操作失败时返回非零退出状态,同时继续处理其他有效键;
  • 设置 --json 时,输出一个包含 okoperationdryRunresults 的稳定 JSON 信封。
混合结果 JSON 示例:

尾部轨迹进度

openclaw sessions tail 会将最近的运行时轨迹事件渲染为紧凑的进度行。若未指定 --session-key,它会先跟踪正在运行的会话,然后跟踪最新的已存储会话。--tail <count> 控制在跟随模式之前打印多少条现有事件;默认值为 80,而 0 则从当前末尾开始。--follow 会持续监视所选的基于 SQLite 的会话或一个显式指定的旧版轨迹文件。 进度视图是有意保持保守的:不会打印提示文本、工具参数和工具结果正文。
工具调用会显示工具名称以及 {...redacted...};工具结果会显示诸如 okerror
done 的状态;模型完成行会显示提供方/模型以及终态。

导出轨迹包

这是在所有者批准 exec 请求后,由 /export-trajectory 斜杠命令使用的命令路径。输出目录始终会在所选工作区下的 .openclaw/trajectory-exports/ 内解析。

清理维护

立即运行维护,而不是等到下一个写入周期:
openclaw sessions cleanup 使用配置中的 session.maintenance 设置 (配置参考):
  • 范围说明:openclaw sessions cleanup 会维护会话存储、 转录、轨迹行以及旧版轨迹侧边车。它不会清理 cron 运行历史, cron 运行历史会自动为每个作业保留最新的 2000 行 (Cron 配置)。
  • 清理还会清除未被引用的旧版/归档转录工件、 压缩检查点,以及早于 session.maintenance.pruneAfter 的轨迹侧边车;仍被 SQLite 会话行引用的工件会被保留。
  • 清理会将短生命周期的 Gateway 模型运行探测清理单独报告为 modelRunPruned。这只匹配形如 agent:*:explicit:model-run-<uuid> 的严格显式键。 保留期固定为 24h,并且受压力门控:只有在达到会话条目维护/容量上限压力时, 才会移除过期的探测行。运行时,模型运行清理会先于全局过期清理和容量限制处理。
标志: 当 Gateway 可访问时,针对已配置代理存储的非 dry-run 清理会通过 Gateway 发送, 因此它与运行时流量共享相同的会话存储写入器。使用 --store <path> 可以 对旧版存储选择器执行显式离线修复。 openclaw sessions cleanup --all-agents --dry-run --json

压缩会话

为卡住或过大的会话回收上下文预算。openclaw sessions compact <key> 是对 sessions.compact Gateway RPC 的一等封装,并且需要正在运行的 Gateway。
  • 如果不使用 --max-lines,Gateway 会对会话记录进行 LLM 总结。CLI 默认不会施加客户端截止时间;压缩生命周期由 Gateway 负责。
  • 使用 --max-lines <n> 时,它会截断为最后 n 行会话记录,并将之前的会话记录归档为一个 .bak 旁车文件。
  • --agent <id>:拥有该会话的代理;对于 global keys 是必需的。
  • --url / --token / --password:Gateway 连接覆盖项。
  • --timeout <ms>:可选的客户端 RPC 超时,单位为毫秒。
  • --json:打印原始 RPC 负载。
当 Gateway 报告压缩失败或无法连接时,命令会以非零状态退出,因此 crons 和脚本不会把静默的无操作误认为成功。
openclaw agent --message '/compact ...' 不是一条压缩路径。CLI 中的斜杠命令会被 authorized-sender 检查拒绝;该调用会以非零状态退出,并给出指引,指向这里,而不是静默地无操作。

sessions.compact RPC

openclaw gateway call sessions.compact --params '<json>' 接受: LLM 总结响应示例:
截断响应示例(--max-lines 200):

相关