OpenClaw的会话隔离策略

OpenClaw的会话隔离策略

一、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"  // 最细粒度隔离
  }
}

🦞OpenClaw 2026.3.31 更新 2026-04-02
OpenClaw对接飞书渠道 2026-04-02

评论区