WhatsApp 是全球用户量最大的即时通讯应用,超过20亿月活用户。能在 WhatsApp 里直接和 OpenClaw 对话,是很多用户选择它的核心理由之一。本文带你完整走一遍 WhatsApp 连接流程,并告诉你哪些坑一定要提前了解。
先了解一件重要的事:WhatsApp 连接的工作原理
OpenClaw 连接 WhatsApp 使用的是 WhatsApp Web 协议(基于 Baileys 库),本质上和你在电脑浏览器上使用 WhatsApp Web 是同一套机制——扫 QR 码,将 OpenClaw 作为一个”关联设备”绑定到你的 WhatsApp 账号。
这意味着:
- 不需要购买任何额外服务
- 不需要 WhatsApp Business API 账号
- 你的个人 WhatsApp 号码就可以直接使用
- 每次 Gateway 重启后,只要 session 有效,无需重新扫码
但也意味着一个现实限制:这是非官方的协议对接方式,WhatsApp 明令禁止自动化批量消息行为。个人使用、只和自己对话或少数联系人交互,风险较低;如果用于批量发送消息或自动回复大量用户,账号有被封禁的风险。
使用哪个 WhatsApp 号码?两种方案
在开始配置之前,先做一个决定:用哪个号码连接 OpenClaw?
方案 A:用个人主号(给自己发消息)
最简单的方式。OpenClaw 连接你的主号后,你通过”给自己发消息”(WhatsApp 的”Message yourself”功能)与它交互。
优点:零额外成本,立即可用。
风险:如果 OpenClaw 产生异常行为(如发送太频繁),可能影响你的主号。
方案 B:用专用备用号(推荐)
准备一张备用 SIM 卡,注册一个专门用于 OpenClaw 的 WhatsApp 号码。
优点:主号完全安全,即使备用号被封禁也不影响日常使用。两个号互加好友后,像和联系人对话一样与 OpenClaw 交互。
社区中经验丰富的用户普遍推荐方案 B,尤其是打算长期稳定使用的用户。
第一步:安装 WhatsApp 插件
OpenClaw 的 WhatsApp 支持通过插件形式提供,首次使用需要安装。有两种方式触发安装:
方式 A:通过引导向导(推荐新手)
在运行 openclaw onboard 时,选择 WhatsApp 作为通讯平台,系统会自动提示安装 WhatsApp 插件并引导完成配置。
方式 B:手动安装
# 添加 WhatsApp 频道(会自动触发插件安装)
openclaw channels add --channel whatsapp
# 或者直接登录(同样会触发安装)
openclaw channels login --channel whatsapp
第二步:启用 WhatsApp 并重启 Gateway
# 在配置中启用 WhatsApp
openclaw config set channels.whatsapp.enabled true
# 重启 Gateway 使配置生效
openclaw gateway restart
第三步:扫码配对(核心步骤)
这是整个连接过程中最关键的一步。
通过控制面板扫码
打开浏览器访问控制面板(http://127.0.0.1:18789),进入”Channels”→”WhatsApp”,点击”Show QR Code”,屏幕上会显示 QR 码。
通过命令行生成 QR 码
# 在前台运行 Gateway 以显示 QR 码
openclaw gateway
# 或者直接登录触发 QR 码生成
openclaw channels login --channel whatsapp
QR 码出现后,立即用手机扫描。动作要快,QR 码有时效限制,大约60~90秒后会过期,过期后需重新生成。
手机端扫码步骤
- 打开 WhatsApp(使用你选定的号码)
- 点击右上角菜单(三个点)→ 关联的设备(Linked Devices)
- 点击 关联设备(Link a Device)
- 扫描屏幕上的 QR 码
扫码成功后,终端或控制面板会显示类似”device linked”和”session saved”的确认信息。WhatsApp 的”关联的设备”列表中也会出现一个新条目。
💡 扫码技巧:如果 QR 码在终端中显示扭曲或模糊,尝试调亮屏幕亮度、缩小终端字体,或改用控制面板中的 QR 码显示方式(图形更清晰)。
第四步:配置消息权限(dmPolicy)
扫码完成后,还需要配置谁有权限给 OpenClaw 发消息。这是最重要的安全设置之一:
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "pairing",
"allowFrom": ["+8613800138000"],
"groupPolicy": "allowlist"
}
}
}
dmPolicy 三种模式说明
| 模式 | 效果 | 适用场景 |
|---|---|---|
pairing(推荐) |
首次发消息需配对验证,配对后永久授权 | 个人使用,安全且灵活 |
allowlist |
只有 allowFrom 列表中的号码可以发消息 | 严格限制访问,最安全 |
open |
任何人都可以发消息 | 仅在完全受控的私有环境使用 |
通过 CLI 快速设置:
# 设置为配对模式(推荐)
openclaw config set channels.whatsapp.dmPolicy "pairing"
# 添加允许的号码(E.164 格式)
openclaw config set channels.whatsapp.allowFrom '["+8613800138000"]'
# 设置自动回应表情(可选,收到消息时自动点赞)
openclaw config set channels.whatsapp.ackReaction.emoji "👀"
openclaw config set channels.whatsapp.ackReaction.direct true
修改配置后重启 Gateway:
openclaw gateway restart
第五步:发送第一条消息测试
使用个人主号的用户
打开 WhatsApp,点击”给自己发消息”(Message yourself),发送”你好”。
使用备用号的用户
用主号给备用号(OpenClaw 使用的号码)发一条消息。
如果是 pairing 模式,第一次发消息会收到一个配对码,在服务器上运行:
openclaw pairing approve whatsapp 配对码
配对完成后,OpenClaw 会响应你的消息。收到 AI 回复,说明连接成功!
Session 管理:避免频繁断线
WhatsApp 连接最常见的问题是 session 失效导致断线,通常需要重新扫码。以下是保持连接稳定的关键:
Session 存储在哪里?
OpenClaw 将 WhatsApp 的 session 凭证存储在本地 ~/.openclaw/credentials/ 目录中。Gateway 每次重启时会自动读取并重连,正常情况下不需要重新扫码。
哪些情况会导致需要重新扫码?
- 在手机端手动解除了 OpenClaw 的关联设备
- session 凭证文件被删除或损坏
- WhatsApp 账号因异常行为被系统主动断开关联
- 长时间(通常超过14天)未发送任何消息导致 session 超时
服务器时钟同步(VPS 用户必做)
WhatsApp 的认证握手对服务器时钟精度有要求,时钟漂移会导致频繁断线:
# Ubuntu/Debian 安装时钟同步服务
sudo apt install -y ntp
sudo systemctl enable ntp
sudo systemctl start ntp
# 检查时钟同步状态
timedatectl status
群组消息配置
如果你想让 OpenClaw 在 WhatsApp 群组中也能响应,需要额外配置:
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["+8613800138000"],
"groups": {
"*": {
"requireMention": true
}
}
}
}
}
requireMention: true 要求在群组中必须 @提及 OpenClaw 才会触发回复,避免它响应所有群消息。
常见问题排查
Q:QR 码扫完后没有反应,终端没有”linked”提示怎么办?
QR 码可能在扫描前已过期。重新运行 openclaw channels login --channel whatsapp 生成新的 QR 码,扫完后等待5~10秒再确认。
Q:连接成功但发消息没有回复怎么办?
# 检查 WhatsApp 频道状态
openclaw channels status --probe
# 查看实时日志
openclaw logs --follow
# 发一条消息,观察日志中是否有消息接收记录
Q:每次重启 Gateway 都要重新扫码怎么办?
检查 session 文件是否存在:
ls -la ~/.openclaw/credentials/
如果每次重启后 session 文件消失,可能是 Gateway 以非预期的用户身份运行,导致无权写入该目录。确认文件所有者和权限:
ls -la ~/.openclaw/
# 应该全部属于你的用户,权限 700
Q:WhatsApp 账号收到警告或被暂时限制怎么办?
立即停止 OpenClaw 的 WhatsApp 连接,让账号休息24~48小时再重新连接。同时检查你的使用场景是否触发了 WhatsApp 的反自动化检测(如频繁发消息、发向大量不同号码等)。强烈建议切换到备用号码继续使用。
Q:如何断开 WhatsApp 连接?
# 断开当前 WhatsApp 会话
openclaw channels logout --channel whatsapp
# 同时在手机端解除关联:WhatsApp → 关联的设备 → 点击对应设备 → 退出登录
WhatsApp vs Telegram:该选哪个?
很多用户在选择通讯平台时会纠结。简单说:
- WhatsApp:如果你的日常主力通讯工具是 WhatsApp,或者国际联系人主要在 WhatsApp,选它。但要做好使用备用号的准备。
- Telegram:配置更简单(无需 QR 码,通过 Bot Token 直接接入),稳定性更好(官方 Bot API,不存在封号风险),功能更完整(支持 Bot 内联命令等)。如果没有特别理由坚持 WhatsApp,Telegram 是更推荐的第一选择。
当然,两者可以同时连接,各司其职。
更多配置细节,访问 OpenClaw官网中文版(通过浏览器翻译访问 openclaw.ai)或官方 WhatsApp 频道文档 docs.openclaw.ai/channels/whatsapp。
本文内容基于 OpenClaw 官方文档、lumadock.com、marktechpost.com 等公开资料整理,信息截至2026年3月28日。