简要总结
Session Management
这页说明书在讲一个叫“会话管理”的东西。你可以把它想象成你的智能小助手(我们叫它“代理”)和不同人聊天时,它怎么记住和谁聊过什么。比如,你和它私聊,它会记住你们之前聊过什么;如果在一个很多人都在的群里聊天,它会把每个人的话分开记。这页会告诉你,怎么设置才能让聊天既安全又方便,特别是当很多人都在和你的小助手聊天时,怎么防止他们互相看到别人的秘密。
五岁小孩版解释
你的智能小助手(代理)和每个人聊天,都会有一个“会话”,就像一本专门记录你们聊天的笔记本。默认情况下,所有和你小助手私聊的人,都会用同一本笔记本,这样聊天内容可以一直连起来。但在一个有很多人聊天的“共享收件箱”里,这可能会出问题,比如Bob可能会不小心看到Alice之前聊的私事。
为了让聊天更安全,你可以设置一个叫 dmScope 的东西。它就像一个规则,告诉小助手怎么给不同的人分笔记本。
- 设置安全私聊模式:你需要打开一个叫
~/.openclaw/openclaw.json的配置文件。 - 找到
session部分:在里面找到dmScope这一行。 - 选择规则:你可以把它改成下面几种:
per-channel-peer(推荐给共享收件箱):为每个聊天软件(比如Telegram)里的每个人,单独准备一本笔记本。per-account-channel-peer(推荐给多账号收件箱):如果你的小助手用多个账号登录同一个软件,这个规则会更细,为每个账号下的每个人单独准备笔记本。main(默认):所有人共用一本私聊笔记本,适合只有你自己用。per-peer:为每个人单独准备笔记本,但不区分是哪个聊天软件。
要小心哦:如果你的小助手会收到多个不同的人发来的私聊消息,你最好开启安全模式(比如设置 dmScope: "per-channel-peer")。不然,所有人的聊天内容都混在一起,可能会泄露隐私。
如果同一个人在不同的软件(比如又在Telegram,又在Discord)上和你聊天,你可以用 session.identityLinks 设置,告诉小助手“这两个账号其实是同一个人”,这样它就会把他们当成一个人来记笔记。
所有聊天的记录本(状态)都存放在一个叫“网关”的主电脑上。你用的手机App或者网页聊天界面,只是去问网关要信息,它们自己不会存。记录本文件放在网关电脑的这个位置:~/.openclaw/agents/<你的代理名字>/sessions/ 文件夹里。
小助手会自动打扫它的“会话房间”,防止记录本太多太乱。这个打扫工作叫“维护”。
- 默认设置:它默认只是提醒(
mode: "warn"),不会真的删除。它会保留30天(pruneAfter: "30d")内的记录,最多存500条(maxEntries: 500)。 - 如何工作:打扫时,它会按顺序做这几件事:先扔掉太旧的记录,再确保总数不超过限制,然后把删掉的聊天记录文件打包存档,最后如果记录本文件太大就把它压缩一下。
- 手动打扫:你可以用命令
openclaw sessions cleanup来手动打扫。加上--dry-run可以先看看会打扫掉什么,加上--enforce就会真的开始打扫。 - 如果记录太多:如果聊天记录特别特别多,打扫起来可能会慢一点。你可以把
mode改成"enforce"让它自动打扫,同时设置pruneAfter(保留时间)和maxEntries(最大条数)来限制增长。
聊天会话有自己的“生命周期”,就像会睡觉一样。
- 每天重置:默认每天凌晨4点(网关电脑的时间),如果某个会话一整天都没新消息,它就会进入“睡眠”,下次有新消息时再“醒来”成一个新的会话。
- 发呆重置:你还可以设置
idleMinutes(发呆分钟数)。如果一个会话安静了这么久,它也会进入“睡眠”。 - 手动叫醒/重置:在聊天里发送
/new或者/reset命令,可以立刻开始一个全新的会话。如果单独发这个命令,小助手会跟你打个招呼确认。
你可以用一些命令来查看会话情况:
- 发送
/status:看看小助手在不在线,聊天记录用了多少。 - 发送
/context list:看看小助手记得哪些重要的背景信息。 - 发送
/stop:可以立刻停止小助手当前正在做的事情。
记住一个小窍门:最好让私聊和群聊分开用不同的“笔记本”(会话键)。这样管理起来更清晰,也更安全。