接入 WhatsApp
如何通过扫码将 WhatsApp 账号连接到 Buda,实现双向 AI 对话,无需 Meta 企业账号。
接入 WhatsApp
Buda 通过扫码配对的方式连接 WhatsApp,底层使用 Baileys 库,原理与 WhatsApp Web 相同。这意味着无需 Meta 企业账号、无需申请手机号 API、也无需任何付费订阅。只需用手机扫一下二维码,Buda 就会在后台自动维持连接。
需要两个账号:您需要一个 WhatsApp 账号作为机器人(账号 A,绑定到 Buda),以及另一个账号向它发消息(账号 B)。WhatsApp 会过滤掉账号自己发给自己的消息。
步骤 1:在 Buda 中添加 WhatsApp 频道
- 打开 Buda 的频道设置(Channels)(设置 → Channels)。
- 点击添加频道,提供商选择 WhatsApp。
- 可选填写标签(例如:
我的 WhatsApp 机器人)并选择目标 Agent。 - 点击连接 — 页面上会显示一个二维码。
步骤 2:扫描二维码
- 在手机上打开 WhatsApp(账号 A)。
- 进入设置 → 已关联设备 → 关联设备。
- 将摄像头对准 Buda 页面上显示的二维码。
- 扫码成功后,状态会变为 Active,二维码随即消失。
服务器日志中会出现:
[whatsapp] Connection open for channel <id>步骤 3:开始使用
- 私聊:用账号 B 直接向账号 A 的手机号发送消息,Buda 会收到并通过配置的 Agent 回复。
- 群聊:将账号 A 添加到 WhatsApp 群组,群内任意消息都会被 Buda 处理,无需 @ 提及。
注意事项
- 无需 HTTPS:扫码配对完全在本地开发环境中运行,无需公网地址或 Webhook 配置。
- 需要两个账号:必须使用另一个 WhatsApp 账号(账号 B)向机器人账号(账号 A)发消息。账号 A 发给自己的消息会被忽略。
- 会话持久化:认证凭证保存在服务器的
.data/whatsapp/<channelId>/目录下,重启后会话依然有效,只需扫码一次。 - 自动重连:连接断开后,Buda 会以指数退避策略自动重试。若会话过期,频道设置页面会重新显示二维码。
- 群组模式:与 Telegram 不同,WhatsApp 群组无需 @ 提及机器人,群内所有消息都会转发给 Agent 处理。
- fromMe 过滤:账号 A 自身发出的消息(例如从其他已关联设备发送的)会被自动忽略,防止消息循环。