sessions_list
像翻会话总表,看看有哪些房间还活着、谁最近有动静。
Concepts 导读
Session Tools 是 OpenClaw 给 Agent 的跨会话工具箱,核心是 8 个工具。最常用的是 sessions_send(跨会话发消息并等回复)和 sessions_spawn(派子 Agent 后台干活)。注意 sessions_history 默认不展示工具调用结果,需要加 includeTools: true 才能看到。
先讲这一页到底在解决什么
Session Tools 是 OpenClaw 给 Agent 的跨会话工具箱,核心是 8 个工具。最常用的是 sessions_send(跨会话发消息并等回复)和 sessions_spawn(派子 Agent 后台干活)。注意 sessions_history 默认不展示工具调用结果,需要加 includeTools: true 才能看到。
第一眼
官方开头就把目标说得很直接:小、难误用。不是为了炫技,是为了少出错。
sessions_list像翻会话总表,看看有哪些房间还活着、谁最近有动静。
sessions_history像抽出一本会话历史册,翻到其中一页慢慢看。
sessions_send像往另一个会话房间送一张纸条,让它继续干活或者直接回复。
sessions_spawn像临时再开一个分身小工人,专门去做一个独立任务。
门牌规则
这一页很容易被 key 名字吓到。别怕,把它们当门牌号就好。
"main"主会话永远叫这个名字。像家里的总房间,默认就认它。
agent:<agentId>:... 群聊和通道会话像一串更长的门牌,能把 agent、channel、group 一起说清楚。
cron:<job.id> / hook:<uuid>定时任务和 hook 也都有自己的小门牌。
global 和 unknown 这两个名字不拿来当真正房间号。OpenClaw 会把 global 统一看成 main。
每个工具干嘛
它们的职责很明确,彼此不乱抢活。
sessions_list像前台翻名单。可以看最近更新、类型、通道、模型、是否有消息,甚至带一点最近的消息摘要。
sessions_history像把某个房间的聊天本整本拿出来看。需要的话还能把工具消息也一起带上。
sessions_send像给别的会话房间送纸条。可以等结果,也可以只送不等。
sessions_spawn像临时叫一个小分身去干活,做完后还会来给你报到。
命令翻译
sessions_list 和 sessions_history,像翻目录和翻日记本这两个最像“先找房间,再翻房间里的记录”。
sessions_list像把总目录翻开,看哪些会话最近还热着,哪些是 main、group、cron、hook、node。
messageLimit像说“要不要顺手带上最近几条消息”。默认不带,避免目录页太胖。
sessions_history像把某个房间的日记抽屉打开,按时间往回看。
includeTools像决定要不要把工具操作那几页也一起翻出来。
送纸条
sessions_send 像“往别的房间递一张工作纸”这页的精华之一,是它不只会送,还会决定是送完就走,还是等着看回信。
timeoutSeconds = 0像把纸条塞进去就走,不等回话。
timeoutSeconds > 0像坐在门口等一等,看看这间房多久能回你。
像两个房间互相递纸条,直到有人写 REPLY_SKIP 说“先停吧”。
最后还会补一个公告回执,告诉 target 房间刚才发生了什么。
开分身
sessions_spawn 像“请一个小分身去做独立任务”这条命令很像小助手分工法。它不是继续往同一份聊天里塞,而是专门开一个新活。
task像直接告诉小分身“这次你去干这件事”。
runtime: "subagent" / "acp"像决定这个分身到底是 OpenClaw 自己家的,还是 ACP harness 那条路的。
thread=true像把这个分身绑到某个线程/主题上,让它沿着那条线说话。
ANNOUNCE_SKIP分身干完活后,也可以安安静静地不发公告。
最后总结
Session Tools 就是一套小邮局:先翻名单,再查历史,往别的会话送纸条,必要时再开一个分身去单独干活。
如果你还想继续看 OpenClaw 的其它“房间分工”故事,下一页可以接着看 /concepts/queue 或 /concepts/compaction。