将 WhatsApp 添加为消息频道。通过二维码或配对码完成认证。
功能特性
- 通过多设备 API 将 NanoClaw 连接到 WhatsApp
- 支持二维码认证(浏览器或终端)或配对码认证
- 支持群聊和私信
- 可作为主频道或与 Telegram、Slack、Discord 并行使用的副频道
- 持久化会话存储——重启无需重新认证
前置条件
- 已安装并运行 NanoClaw
- 拥有支持关联设备的 WhatsApp 账户
- 使用配对码方式时需要手机号码(可选)
安装
/add-whatsapp 工作原理
/add-whatsapp 技能通过多设备 API 将 NanoClaw 连接到 WhatsApp。这意味着连接独立于你的手机运行——即使手机离线,NanoClaw 仍然可以接收和回复消息。
技能首先进行预检。它会检测你是在无界面的服务器上还是有浏览器的桌面环境中运行,因为这会影响可用的认证方式。然后验证所需的代码和依赖项是否就绪,自动安装缺少的部分。
认证支持三种方式。如果有可用的浏览器,技能会打开一个带二维码的页面——你用手机上的 WhatsApp 扫描即可,就像关联 WhatsApp Web 一样。如果在无界面的服务器上,二维码会直接以 ASCII 字符渲染在终端中。第三种方式是配对码:你输入手机号码,然后会获得一个数字码,在 WhatsApp 的”关联设备”界面中输入即可。三种方式的最终结果都是创建一个持久化会话。
认证完成后,技能会将会话凭证保存到本地。后续重启时,NanoClaw 会自动重新连接,无需再次扫描或配对。凭证存储在 store/auth/ 目录中,跨重启持久保存。
注册聊天
认证完成后,你需要注册 NanoClaw 应该在哪些聊天中活跃。技能支持三种类型:
- 自聊天——给自己发消息来触发智能体。这是个人使用中常见的设置。
- 私信——注册某个特定联系人的私信。
- 群聊——通过 JID(群组 ID)注册一个 WhatsApp 群组。
你可以为多个聊天注册不同的触发配置。例如,你的自聊天可以作为主频道,而家庭群组设置为仅触发模式。
重连与稳定性
WhatsApp 连接偶尔会断开,尤其是在手机系统更新或长时间不活跃之后。NanoClaw 会通过指数退避策略自动处理重连。如果会话永久失效(例如你在手机上取消了设备关联),日志会显示明确的认证错误,你可以重新运行该技能来重新认证。
驱动此连接的 Baileys 库使用与 WhatsApp Web 相同的协议。它支持文本消息、图片、文档、语音留言(配合语音转录技能使用)以及带上下文的回复。
使用建议
- 如果你看到”conflict”断连错误,说明另一个 WhatsApp Web 会话抢占了连接。每个手机号码同时只能维持一个活跃的 Web 会话。
- 二维码约 60 秒后过期。如果过期,技能会自动生成新的二维码。
- 在服务器上最可靠的设置方式是使用配对码方式——它不需要渲染二维码,通过 SSH 也能正常工作。
- WhatsApp 的速率限制比 Telegram 或 Discord 更为严格。NanoClaw 会自动遵守这些限制,但较长的智能体回复可能会被拆分成多条消息发送。