Hermes Agent 接入微信、飞书和企业微信:白名单配置
先完成 Hermes Agent VPS 部署,确认模型和 Gateway 正常。容器与备份也要检查,再添加消息平台。
这些配置在 2026-09-02 核对过。平台权限和环境变量会变化,操作时再对照文末官方文档。
共同配置原则
在运行中的容器启动官方向导:
sudo docker exec -it hermes hermes gateway setup
每增加一个平台,都要保存凭据并配置明确 allowlist,随后重启 Gateway,再分别用允许与拒绝账号测试。不要用 open 临时掩盖用户 ID 或事件订阅错误。
修改后收紧秘密文件并重启:
chmod 600 "$HOME/.hermes/.env"
sudo docker exec hermes hermes gateway restart
sudo docker exec hermes hermes gateway status
个人微信 Weixin
Hermes 的 Weixin 适配器通过腾讯 iLink Bot API 出站长轮询,不需要公网 webhook。在向导中选择 Weixin,用手机扫码并确认。
扫码连接的是独立 iLink bot,不是可以完全脚本化的普通个人微信账号。普通微信群通常不能邀请该身份,或无法把群事件送达到 Hermes,不要承诺“扫码后所有微信群都能用”。
向导保存账户与 token 后,核对最终策略:
WEIXIN_DM_POLICY=allowlist
WEIXIN_ALLOWED_USERS=填写允许私聊的用户ID
WEIXIN_GROUP_POLICY=disabled
同一个 token 只能有一个 poller。迁移 VPS、恢复备份或从宿主机切到容器时,先停旧 Gateway,再启动新实例。
飞书或 Lark
飞书推荐出站 WebSocket 长连接,不需要公网回调地址。在向导中选择 Feishu/Lark;扫码创建不可用时,再到开发者控制台创建应用并输入 App ID 与 App Secret。
手工创建应用要按当前文档配置消息、资源和会话权限,并订阅 im.message.receive_v1。应用版本发布、企业管理员审批和事件订阅都完成后,权限才真正生效。
关键值应类似:
FEISHU_CONNECTION_MODE=websocket
FEISHU_ALLOWED_USERS=ou_允许用户的OpenID
FEISHU_GROUP_POLICY=allowlist
FEISHU_REQUIRE_MENTION=true
用户白名单填写 Open ID。群聊继续要求 @ 机器人;没回复时先查应用版本、事件、Open ID 和 Gateway 日志,不要先把策略改成 open。
企业微信 WeCom
企业微信 AI Bot 使用出站 WebSocket,不需要公网 webhook。在向导中选择 WeCom,通过扫码或管理后台提供 Bot ID 与 Secret。
私聊和群策略上线前都要显式收紧:
WECOM_DM_POLICY=allowlist
WECOM_ALLOWED_USERS=填写允许私聊的用户ID
WECOM_GROUP_POLICY=allowlist
需要按群进一步限制时,在现有 platforms.wecom.extra 下合并配置,不要重复创建顶层键:
platforms:
wecom:
extra:
dm_policy: allowlist
allow_from:
- "user_id_1"
group_policy: allowlist
group_allow_from:
- "group_id_1"
groups:
group_id_1:
allow_from:
- "user_id_1"
group_allow_from 放群 ID,groups.<group_id>.allow_from 放成员用户 ID。两层含义不能互换。
用拒绝路径完成验收
依次验证:允许的私聊账号能得到最小回复;未授权账号不能触发模型或工具;未批准的群与成员不能触发 Agent;重启容器后白名单仍有效;接入渠道后没有新增公网监听。
sudo docker exec hermes hermes gateway status
sudo docker exec hermes hermes doctor
sudo docker logs --since 10m hermes
sudo ss -lntp
日志出现重复 poller、持续认证失败或未授权消息触发任务时,不要继续扩大开放范围。先停旧实例,核对 token、用户 ID、事件审批和策略文件。