一、dmScope 是什么?
dmScope = Direct Message Scope(私信会话范围)
它是 OpenClaw 中用来控制私信(DM)如何分组的配置选项,决定了不同用户、不同渠道的消息是共享同一个会话上下文,还是各自独立。
二、为什么需要 dmScope?
问题场景:
假设你的 AI 助理同时服务于多个人(比如 Alice 和 Bob):
如果没有隔离(dmScope: "main"):
Alice: "我明天要去看医生,帮我记一下"
AI: "好的,已记录"
Bob: "我明天有什么安排?"
AI: "你明天要去看医生"
❌ 泄露了 Alice 的隐私!有隔离(dmScope: "per-channel-peer"):
Alice: "我明天要去看医生,帮我记一下"
AI: "好的,已记录"
Bob: "我明天有什么安排?"
AI: "你明天没有其他安排"
✅ 各自独立,隐私安全三、 dmScope 的 4 种模式
模式一:main
所有私信共享同一个会话单人使用,适用于单人使用,追求连续性。
模式二:per-peer
按发送者隔离(跨渠道共享),适用于同一个人在不同渠道发消息共享会话。
模式三:per-channel-peer
按渠道 + 发送者隔离,适用于多人使用,推荐。
模式四:per-account-channel-peer
按账号 + 渠道 + 发送者隔离,适用于多账号收件箱场景。
四、详细对比
1️⃣ main(默认模式)
所有 DM → 同一个会话✅ 优点:对话连续,上下文完整
❌ 缺点:多人使用会泄露隐私
🎯 适合:只有你自己用
2️⃣ per-peer
同一个用户(跨渠道)→ 共享会话
不同用户 → 独立会话✅ 优点:同一个人在微信/飞书发消息能共享上下文
❌ 缺点:配置复杂,需要设置 identityLinks
🎯 适合:多渠道但用户固定的场景
3️⃣ per-channel-peer(⭐ 推荐)
渠道 + 用户组合 → 独立会话✅ 优点:安全隔离,多人使用不泄露
✅ 优点:配置简单,开箱即用
❌ 缺点:同一个人在不同渠道发消息上下文不共享
🎯 适合:多人使用、公开服务
4️⃣ per-account-channel-peer
账号 + 渠道 + 用户组合 → 独立会话✅ 优点:最细粒度隔离
🎯 适合:多账号运营场景(如多个客服号)
五、 如何配置?
在 ~/.openclaw/openclaw.json 中设置:
{
"session": {
"dmScope": "per-channel-peer"
}
}修改后重启 Gateway:
openclaw gateway restart六、安全提示
如果你的 AI 会收到多人私信,必须开启隔离:
{
"session": {
"dmScope": "per-channel-peer" // 或 per-peer
}
}否则会出现:
❌ 用户 A 的隐私泄露给用户 B
❌ 不同用户的记忆混在一起
❌ AI 回复时张冠李戴
七、实际案例
案例 1:个人使用(单人)
{
"session": {
"dmScope": "main" // 所有消息共享,连续性好
}
}案例 2:家庭使用(多人)
{
"session": {
"dmScope": "per-channel-peer" // 每人独立会话
}
}案例 3:企业客服(多账号 + 多人)
{
"session": {
"dmScope": "per-account-channel-peer" // 最细粒度隔离
}
}