OpenClaw 会话管理完全指南

引言

在使用 OpenClaw 时,常会遇到话题切换、会话管理以及上下文压缩等困惑。下面的指南帮你快速理清思路,省去反复查文档的时间,让你专注于业务本身,提升工作效率。

话题切换与延续

/new 之后怎么继续上一个话题?

方案操作适用场景
不用 /new直接在同一个会话里换话题话题切换不频繁(推荐)
子代理隔离长任务用 sessions_spawn 跑,主会话保持长任务不污染主会话
手动总结衔接/new 前让 Agent 把上下文总结写入文件,新会话读取确实要换会话时
sessions_sendsessions_send(sessionKey, message) 往旧会话发消息需要继续旧会话的特定话题
sessions_historyAgent 用 sessions_history(sessionKey) 读取旧会话内容Agent 需要回顾旧会话上下文

推荐:直接说新话题,无需使用 /new。OpenClaw 的 compaction 会自动压缩长对话。

如果确实需要 /new

1
/new 之前说:"把今天的对话要点写入 memory/2026-05-10-session-notes.md"

新会话启动时,Agent 会自动读取这些文件。

会话生命周期

机制说明配置项
每日重置默认每天凌晨 4:00(Gateway 本地时间)自动新建会话session.reset.daily
空闲重置可选:空闲多久后重置session.reset.idleMinutes
手动重置/new/reset 命令
/new + 模型切换/new <model> 同时新建会话并切换模型

重置优先级:每日重置和空闲重置哪个先到就先触发。heartbeat、cron、exec 等系统事件不会延长空闲重置的计时。

Compaction(上下文压缩)

当对话接近上下文窗口上限时,OpenClaw 会自动压缩历史消息。

模式说明
safeguard(当前配置)只在快溢出时压缩,尽量保留原始内容
rolling持续压缩较早的消息
off不压缩(不推荐,会溢出)

压缩后的影响:早期的工具调用结果会被摘要替换,细节丢失但大意保留。

会话维护配置

当前配置(openclaw.json):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  session: {
    dmScope: "per-account-channel-peer",
    maintenance: {
      mode: "enforce",    // 自动清理(warn=仅警告)
      pruneAfter: "72h",  // 超过 72 小时的会话记录清理
      maxEntries: 10      // 最多保留 10 条会话记录
    }
  }
}
参数说明
pruneAfter会话记录超过多久后清理(当前 72 h)
maxEntries最多保留多少条会话记录(当前 10)
mode: "enforce"自动执行清理;"warn" 只报告不清理

Agent 工具(跨会话操作)

工具说明示例
sessions_list列出可见会话查看最近活跃的会话列表
sessions_history读取另一个会话的对话历史回顾旧会话的对话内容
sessions_send往另一个会话发消息在旧会话中继续对话
sessions_spawn创建隔离子代理会话长任务不污染主会话
session_status查看当前会话状态模型、token、费用

会话存储位置

文件路径说明
会话索引~/.openclaw/agents/<agentId>/sessions/sessions.json所有会话的元数据
对话记录~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl完整对话记录(JSONL)

实用 CLI 命令

命令说明
openclaw sessions列出所有会话(默认 100 条)
openclaw sessions --agent xiaomi列出指定 agent 的会话
openclaw sessions --all-agents列出所有 agent 的会话
openclaw sessions --active 120最近 120 分钟活跃的会话
openclaw sessions --limit 25限制返回数量
openclaw sessions --limit all返回全部
openclaw sessions --verbose详细信息
openclaw sessions --jsonJSON 格式输出
openclaw sessions export-trajectory --session-key "agent:xiaomi:main"导出完整对话轨迹
openclaw sessions export-trajectory --session-key "…" --output my-export导出到指定目录
openclaw sessions cleanup --dry-run预览清理(不执行)
openclaw sessions cleanup --enforce执行清理
openclaw sessions cleanup --active-key "agent:xiaomi:main"清理时保留指定活跃会话

实用聊天命令

会话管理

命令说明
/new新建会话(清空上下文)
/new <model>新建会话并切换模型
/reset重置当前会话
/status查看当前会话状态(模型、token、费用)
/context list查看系统提示中包含的内容
/export-trajectory导出当前对话轨迹(需 owner 确认)

指令(Directives)

指令说明持久性
/model <model>切换模型仅当前消息(或指令单独发送时持久)
/think切换思考模式同上
/reasoning切换推理显示同上
/verbose切换详细模式同上
/fast快速模式(降低质量换速度)同上
/elevated提权模式同上
/queue队列模式同上

持久规则:指令单独作为消息发送(如只发 /verbose)→ 持久生效。指令嵌在普通消息中(如 /verbose 帮我写代码)→ 仅当次生效。

FAQ

Q:对话太长了怎么办?
A:不需要手动处理,compaction 会自动压缩。如想主动重置,可使用 /new

Q:怎么查看之前的对话?
A:直接询问 Agent “之前聊过什么”,或使用 openclaw sessions --agent xiaomi 查看会话列表,再通过 sessions_history 读取具体内容。

Q:/new 之后旧对话还在吗?
A:在。旧会话记录保存在 ~/.openclaw/agents/<agentId>/sessions/ 目录下,直至被 maintenance 清理。

Q:怎么防止重要对话被清理?
A:让 Agent 把要点写入 memory/ 文件。该文件不受会话清理影响。

Q:子代理的对话会保存吗?
A:默认 cleanup: "delete" 会清理。如需保留,spawn 时设 cleanup: "keep"

Q:怎么切换模型?
A:使用 /new <model> 新建会话并切换,或使用 /model <model> 临时切换。

原文链接: https://www.17you.com/ai/openclaw-session-management-guide/ 已复制!
一起薅AI羊毛

保持关注,记得把网址 (17you.com) 加收藏夹!有空经常来网站看看!我们每天都分享最新鲜、最实用的AI知识、最新动态、最新技术,以及最新的应用场景。

请点击联系我


相关内容