Skip to content
雲里
里雾

OpenClaw Session 🌱 Seed

AI

aka: OpenClaw Session Types, main vs isolated session

Content

OpenClaw 的会话(Session)模型设计用于不同的任务场景,主要分为 isolated(隔离会话)main(主会话) 两种。

isolated 会话 通过命令行参数 --message(即注入 agentTurn 事件)触发。它是一个临时会话,任务执行完毕后立即销毁。此模式支持指定模型(--model)、设置超时(--timeout),并能将结果自动投递到外部系统如 Telegram(--announce),但不会保留对话上下文,用户无法直接回复。

main 会话 则通过 --system-event 参数(注入 systemEvent 事件)触发。它是一个长期存在的会话,旨在维持连续的对话上下文,允许用户进行多轮交互,但不支持指定模型、设置超时或自动通知。

关键版本行为(基于 v2026.3.13):在该版本中,向 main 会话发送 systemEvent 无法唤醒 agent 处理任务。因此,所有需要实际执行并通知的定时任务(如 cron job),目前必须使用 isolated 会话配合 agentTurnannounce 参数。

历史背景与迭代性:这一现状是快速迭代的结果。在 v2026.3.11 之前,isolated 模式的功能不完善,主要依赖 main 会话;而在 v2026.3.11 修复 isolated 模式后,main 会话的定时触发功能反而失效。这表明 OpenClaw 的会话机制仍在演变中,当前的最佳实践可能随版本更新而改变。

Question

  • OpenClaw 为什么要区分 main 和 isolated session?这和操作系统的进程/线程模型有什么类比?
  • systemEvent 在 v2026.3.11+ “不再触发 agent 处理”的根本原因是什么?是设计变更还是 bug?
  • 有没有可能实现”isolated 执行 + main session 上下文感知”的混合模式?

See Also

Reference

  • 来源:2026-03-20 Ghost-in-the-Shell cron 系统改造,尝试 main session 后全面回退
  • OpenClaw 版本:v2026.3.13

YoYo’s Note

OpenClaw 的两种 Session 模式:

isolatedmain
payload--message(agentTurn)--system-event(systemEvent)
生命周期执行完即销毁持续存在,多次复用
支持 —model
支持 —timeout
支持 —announce✅(自动投递到 Telegram)
用户可回复❌(无上下文)✅(有完整对话历史)

关键发现(v2026.3.13): main + systemEvent 不触发 agent 处理——消息注入了但 agent 不醒来。这意味着 main session 的 cron 任务实际上无法执行。所有需要投递消息的任务必须用 isolated + agentTurn + announce

历史演变:

  • v2026.3.11 前:isolated 模式 agent 工具不可用,只能用 main + systemEvent
  • v2026.3.11+:isolated 模式修复,main + systemEvent 反而不再触发处理
  • 结论:OpenClaw 的 session 机制在快速迭代中,不要依赖未验证的行为
分享这张卡片:
分享到 X

OpenClaw Session

#OpenClaw

反向链接