Part 2: 技术架构
Session 与用户识别
Sessions & Authentication
OpenClaw 通过 DM 配对、白名单和群组规则三层机制识别用户身份,并在 Session 层面隔离不同来源的上下文。
DM Pairing Policy 默认认证策略
当一个未知发送者通过任意渠道向你的 Agent 发送私聊消息时:
- 生成配对码 — Agent 回复一个一次性配对码(6位数字)
- 等待验证 — 消息不会被处理,Agent 进入等待状态。所有后续消息也会被挂起
- 主人批准 — 你在已配对的渠道中输入配对码批准该用户,或者直接拒绝
注意
DM Pairing 是防止陌生人滥用的关键机制。关闭它意味着任何知道你 WhatsApp/Telegram 号码的人都可以无限制地使用你的 Agent(和你的 API 额度)。
白名单机制 allowFrom
在 Agent 配置中,allowFrom 字段可以预先授权特定用户,跳过配对流程:
yaml
# AGENTS.md 中的配置示例
allowFrom:
- telegram:123456789
- whatsapp:+8613800138000
- discord:user#1234白名单中的用户发消息时直接进入对话,无需配对。
群组规则 requireMention
在群聊场景下,Agent 默认使用 requireMention 策略:
- 只响应 @Agent名称 的消息,忽略其他群聊内容
- 可以切换为
always模式(响应所有消息),但会消耗大量 token - 对应聊天命令:
/activation mention|always
Session 隔离 Context Isolation
| 场景 | Session 行为 | MEMORY.md |
|---|---|---|
| 私聊(DM) | 所有已配对用户的私聊折叠到共享的 main session | 加载 |
| 群组 | 每个群组默认使用独立的隔离 session | 不加载 |
| 跨渠道 | 同一用户在 Telegram 和 WhatsApp 的私聊共享 main session | 加载 |
设计意图: 私聊是「你和 Agent 的私密空间」,所有记忆和偏好都在这里积累。群组是公共场合,Agent 不会泄露你在私聊中说过的内容。