OpenClaw 中的“会话”(Session) 是整个系统最核心的概念之一。它基本上相当于你跟 AI 聊天的“独立窗口/进程”,设计得非常像操作系统里的进程,强调隔离、安全、持久化。
会话的核心特点(2026 年当前主流设计)
- 每个会话完全独立
agent:main:telegram:dm group:discord:123456789 wa:+86xxxxxxxxxx(WhatsApp) 不同会话的上下文(短期记忆)互不干扰 主聊天通常是 agent:<agentId>:main(简称 main 会话) 群聊、频道、不同 Telegram/WhatsApp/Discord 用户 → 各自独立 session key 典型格式示例: - 会话的创建与重置
最常用的命令(在任何聊天窗口直接输入): /new 或 /reset → 创建全新会话,清空短期上下文 第一次跟某个新联系人/群聊说话时 → 自动创建新会话 有些人会每天/每周手动 /new 来保持上下文干净 - 存储方式
(持久化很强) 所有会话数据都落盘在本地(~/.openclaw/agents/<agentId>/sessions/ 目录下): sessions.json → 会话索引(key、最后活跃时间等) <sessionKey>.jsonl → 真正的对话记录(append-only,永远只追加) 支持跨设备/跨天记忆,只要文件还在就能恢复。 - 上下文管理与省 token 策略
短期上下文:当前会话加载进 LLM 的那部分(会被自动压缩) 长期记忆:靠 RAG、分层索引、memory files(比如 IDENTITY.md、USER.md、SOUL.md) 当对话太长时:自动压缩历史 + 把重要内容提炼到记忆层 很多高级用户会定期 /new 避免上下文窗口爆炸和 token 浪费 - 多会话协作(很强的特性)
OpenClaw 支持“子会话/子智能体”模式,主 agent 可以: sessions_spawn → 生出子任务会话 sessions_send → 向其他会话发消息 sessions_yield → 暂停等子会话结果 sessions_list / sessions_history → 查看所有会话 这就是很多人实现“多智能体分工”的基础(研究、写代码、查资料分开跑)
什么时候新建一个会话?(社区常见建议)
当前对话已经非常长(>50-100 条消息)→ 上下文开始混乱/贵 想切换到一个完全不同的话题/任务(写代码 vs 日常聊天 vs 研究) 觉得 AI “记错了”或“性格飘了”→ reset 最快 每天/每周主动 /new 保持新鲜感(部分重度用户习惯)
简单总结一句话:
OpenClaw 的会话 ≈ 操作系统里的“进程” + 独立聊天窗口 + 永久存档的对话历史
它不是简单的一个聊天记录,而是带有隔离边界、可 fork、可 spawn 子会话、可跨设备持久化的智能体运行单元。
如果你现在正在用 OpenClaw,想问更具体的问题(比如怎么清理老会话、怎么做 session 间通信、怎么优化多轮记忆),可以直接告诉我你的使用场景~
夜雨聆风