跳到主要内容

WhatsApp

Hermes 通过内置的 Baileys bridge 接入 WhatsApp。它模拟的是 WhatsApp Web 会话,不是官方 WhatsApp Business API,因此不需要 Meta 开发者账号或 Business 审核。

非官方 API,存在封号风险

请尽量使用专用手机号,不要批量群发,不要主动给未联系过你的人发消息。

两种模式

ModeHow it worksBest for
Separate bot number (recommended)使用一个专门给 bot 的号码更清晰的使用体验、更低风险
Personal self-chat使用你自己的 WhatsApp 给自己发消息快速测试、单人使用

前提条件

  • Node.js v18+npm
  • 一台安装了 WhatsApp 的手机,用于扫码登录

第 1 步:运行设置向导

hermes whatsapp

向导会:

  1. 询问使用 bot 还是 self-chat 模式
  2. 安装 bridge 依赖
  3. 在终端中显示二维码
  4. 等待你扫码

第 2 步:配置 Hermes

WHATSAPP_ENABLED=true
WHATSAPP_MODE=bot
WHATSAPP_ALLOWED_USERS=15551234567
# WHATSAPP_ALLOWED_USERS=*
# WHATSAPP_ALLOW_ALL_USERS=true

可选配置示例:

whatsapp:
unauthorized_dm_behavior: ignore

第 3 步:启动网关

hermes gateway

网关会自动使用已保存的会话启动 WhatsApp bridge。

会话持久化

Baileys 会把会话保存到 ~/.hermes/platforms/whatsapp/session

  • 重启后无需重新扫码
  • 其中包含完整会话凭据
  • 不要共享或提交这个目录

重新配对

如果会话失效:

hermes whatsapp

重新扫码即可。

语音消息

  • 入站:自动通过配置好的 STT 大模型提供商(provider)转写
  • 出站:TTS 回复作为 MP3 音频附件发送
  • 默认会带 Hermes Agent 前缀,可在 config.yaml 中自定义 reply_prefix

消息格式与投递

  • 支持流式响应
  • 长消息按 4096 字符 自动分块
  • Markdown 会自动转换为更适合 WhatsApp 的格式
  • 工具调用进度会实时显示

故障排除

ProblemSolution
二维码扫不上确认终端足够宽,且使用正确的 WhatsApp 账号扫码
二维码过期重新运行 hermes whatsapp
会话没保存检查 ~/.hermes/platforms/whatsapp/session 是否存在且可写
更新后失效升级 Hermes,并重新配对
收不到消息检查 WHATSAPP_ALLOWED_USERS 或设置为 *

安全

  • 上线前务必配置访问控制
  • ~/.hermes/platforms/whatsapp/session 中保存的是完整会话凭据
  • 建议为 bot 使用专用手机号