Session Isolation 就像给每个对话开一个独立的"包厢"——互不干扰,各有各的上下文,各有各的权限。
Session Isolation 是 OpenClaw 中确保每个 Agent 会话独立运行的机制。每个 Session 拥有独立的上下文、工具权限和状态,防止不同会话之间的信息泄露和相互干扰。
| 类型 | 说明 | 生命周期 |
|---|---|---|
| main | 主会话,与用户直接交互 | 长期存在 |
| isolated | 隔离会话,独立运行 | 任务完成即销毁 |
| subagent | 子 Agent 会话 | 由父会话管理 |
| cron | 定时任务会话 | 按计划创建/销毁 |
# 生成隔离的子 Agent
sessions_spawn task="分析竞品网站" runtime="subagent"
# 子 Agent 拥有独立的:
# - 上下文窗口
# - 工具权限(可继承或独立配置)
# - 工作目录
# - 会话历史
子 Agent 无法访问父会话的敏感信息(如 API Key、用户隐私数据)
一个子 Agent 崩溃不会影响其他会话和主会话
每个会话独立记录日志,方便调试和审计
# 场景:并行处理多个任务
# 主 Agent 同时派发 3 个子任务
sessions_spawn task="生成新闻日报" taskName="news"
sessions_spawn task="检查死链" taskName="linkcheck"
sessions_spawn task="更新sitemap" taskName="sitemap"
# 等待所有子任务完成
sessions_yield