WhatsApp 接入——全球用户最多的聊天应用
Hermes 消息平台接入第5篇:WhatsApp。把 Hermes 接到 WhatsApp 上。
WhatsApp 接入——全球用戶最多的聊天應用
各位小夥伴,今天咱們來聊聊怎麼把 Hermes Agent 接到 WhatsApp 上。畢竟這可是全球用戶量最大的聊天應用,誰不想讓自己的 Agent 在裡面大顯身手呢?
好消息:不需要企業認證!
以前接入 WhatsApp 官方 API 需要註冊 Meta 開發者帳號、通過企業認證,麻煩得要命。現在 Hermes 內建了一個基於 Baileys 的橋接器,它模擬的是 WhatsApp Web 會話,完全不需要官方 Business API 那套流程。
你只需要一條指令:
hermes gateway setup
然後選擇 WhatsApp,跟著精靈走就行。
兩種玩法,任你挑選
| 模式 | 怎麼玩 | 適合誰 |
|---|---|---|
| 獨立機器人號碼(推薦) | 專門弄個手機號給機器人,別人直接給這個號發訊息 | 多人使用、體驗乾淨、封號風險低 |
| 個人自聊模式 | 用你自己的 WhatsApp,給自己發訊息就是跟 Agent 對話 | 快速測試、單人使用 |
準備工作
- Node.js v18+ 和 npm
- 一部裝了 WhatsApp 的手機(用來掃 QR Code)
好消息是,現在的橋接器不需要 Chromium 或 Puppeteer 那一堆瀏覽器依賴了,輕量多了!
第一步:執行精靈
hermes whatsapp
精靈會問你選哪種模式,然後顯示一個 QR Code。掃碼步驟:
- 打開手機上的 WhatsApp
- 進入 設定 → 已連結裝置
- 點擊 連結裝置
- 對著終端機裡的 QR Code 掃一下
配對成功後會話會自動儲存,下次不用重新掃碼。
小提示:如果 QR Code 顯示亂碼,把終端機視窗拉寬到至少 60 欄,或者換個終端機模擬器試試。
第二步:搞一個專用號碼(機器人模式)
如果你選了機器人模式,需要一個還沒註冊過 WhatsApp 的號碼:
| 方案 | 費用 | 備註 |
|---|---|---|
| Google Voice | 免費 | 僅限美國 |
| 預付費 SIM 卡 | 一次性 $5-15 | 啟用後 SIM 卡可以放抽屜裡,但號碼得保持活躍(每 90 天打個電話) |
| VoIP 服務 | 免費到 $5/月 | TextNow、TextFree 等,有些號碼可能被 WhatsApp 封鎖 |
第三步:設定 Hermes
編輯 ~/.hermes/.env 檔案:
# 必填
WHATSAPP_ENABLED=true
WHATSAPP_MODE=bot # "bot" 或 "self-chat"
# 存取控制——選一種:
WHATSAPP_ALLOWED_USERS=15551234567 # 逗號分隔的手機號碼(帶國碼,不要加 +)
# WHATSAPP_ALLOWED_USERS=* # 或者用 * 允許所有人
# WHATSAPP_ALLOW_ALL_USERS=true # 或者設定這個(效果同 *)
還可以在 ~/.hermes/config.yaml 裡調整未授權訊息的行為:
unauthorized_dm_behavior: pair
whatsapp:
unauthorized_dm_behavior: ignore
然後啟動閘道:
hermes gateway # 前景執行
hermes gateway install # 安裝為使用者服務
sudo hermes gateway install --system # Linux 開機自動啟動
會話持久化
會話資料儲存在 ~/.hermes/platforms/whatsapp/session,重啟不用重新掃碼。但注意:這個目錄包含加密金鑰,千萬別分享或提交到程式碼儲存庫!
會話失效怎麼辦?
如果手機重置、WhatsApp 更新或者手動解綁導致連線中斷,重新執行 hermes whatsapp 再掃一次碼就行。
最後提醒:封號風險
WhatsApp 官方並不支援第三方機器人(Business API 除外),所以用橋接器有小機率被限制帳號。降低風險的辦法:
- 用專用號碼,別拿個人號玩
- 別發垃圾訊息,保持對話式使用
- 不要主動給沒先給你發訊息的人發訊息
另外,WhatsApp 偶爾會更新 Web 協定導致橋接器暫時失效,這時候拉取最新版 Hermes 重新配對就行。
好了,快去試試吧!讓你的 Agent 在 WhatsApp 上大展身手~
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/whatsapp