Pairing(配对)是 OpenClaw 的显式主人审批步骤,用于两个场景:
- DM 配对:控制谁可以与 Bot 对话
- 节点配对:控制哪些设备可以加入 Gateway 网络
DM 配对:入站聊天访问控制
当频道配置了 dmPolicy: "pairing" 时,陌生发送者首次发 DM 的流程如下:
陌生用户发送消息
↓
Bot 自动回复一条短码(8 位配对码)
↓
消息不被处理,进入待审批队列
↓
主人审批配对码
↓
该用户加入白名单,后续消息正常处理
配对码规则
| 属性 | 说明 |
|---|---|
| 格式 | 8 位大写字母,排除易混淆字符(0O1I) |
| 有效期 | 1 小时 |
| 发送时机 | 每次新请求创建时发一次(大约每个发送者每小时一次) |
| 待审批上限 | 每个频道默认 3 个,超出后新请求被忽略 |
审批命令
bash
# 查看待审批列表
openclaw pairing list telegram
openclaw pairing list whatsapp
openclaw pairing list signal
# 审批指定配对码
openclaw pairing approve telegram <CODE>
openclaw pairing approve whatsapp <CODE>
# 拒绝配对请求
openclaw pairing reject telegram <CODE>支持的频道:telegram、whatsapp、signal、imessage、discord、slack、feishu
白名单存储位置
配对状态文件存储在 ~/.openclaw/credentials/:
| 文件 | 内容 |
|---|---|
<channel>-pairing.json | 待审批请求 |
<channel>-allowFrom.json | 默认账号的已批准白名单 |
<channel>-<accountId>-allowFrom.json | 非默认账号的白名单 |
⚠️ 这些文件控制谁可以访问你的 AI 助手,请视为敏感文件妥善保管,不要提交到 Git 仓库。
多账号行为:
- 非默认账号只读写自己的 scoped 白名单文件
- 默认账号使用频道级别(不带 accountId)的白名单文件
节点设备配对(iOS/Android/macOS/无头节点)
节点以 role: node 身份连接 Gateway,必须经过设备配对审批。
推荐方式:通过 Telegram 配对(适合 iOS)
安装 device-pair 插件后,可以完全通过 Telegram 完成首次配对:
- 在 Telegram 中给你的 Bot 发送:
/pair - Bot 回复两条消息:
- 说明消息
- 独立的设置码(setup code)消息,方便复制
- 打开手机上的 OpenClaw iOS App → 设置 → Gateway
- 粘贴设置码并连接
- 回到 Telegram:发送
/pair approve
设置码格式:Base64 编码的 JSON,包含:
json
{
"url": "ws://your-gateway:3000",
"token": "短效配对令牌"
}⚠️ 设置码有效期内与密码同等敏感,不要截图分享或通过不安全渠道传输。
命令行设备管理
bash
# 查看所有设备(已配对 + 待审批)
openclaw devices list
# 审批设备
openclaw devices approve <requestId>
# 拒绝设备
openclaw devices reject <requestId>节点配对状态存储
存储在 ~/.openclaw/devices/:
| 文件 | 内容 |
|---|---|
pending.json | 待审批请求(短效,请求过期后清空) |
paired.json | 已配对设备及其令牌 |
安全最佳实践
DM 配对:
- 默认使用
pairing策略而非open,防止陌生人触发 AI 调用产生费用 - 定期清理
allowFrom白名单,移除不再需要访问的用户 - 多频道分别管理各自白名单,不同频道相互独立
设备配对:
- 设置码使用一次后立即失效
- 不使用的设备及时从
paired.json中移除 - 内网环境使用
ws://,公网暴露场景使用wss://加密连接
原文:Pairing - OpenClaw | 来源:OpenClaw 官方文档