外部集成 · Onboarding

Hermes Agent 接入企业微信
—— 获取 Bot ID 与 Secret 详解

Hermes 走「AI Bot 长连接 / WebSocket」模式接企微,本机无需公网入口。整个流程的瓶颈只有一个:从企微管理台拿到两个值 WECOM_BOT_ID + WECOM_SECRET。本页讲清楚三条获取路径、踩坑与最终落地命令。

目标读者:要给自己 Hermes / OpenClaw / LangBot 接企微的人 耗时:5–30 分钟(视权限而定) 最后更新 2026-05-23
本页目录
先决条件:你能不能创建 AI 机器人 三条获取路径:扫码 / 客户端 / 管理后台 路径 A · Hermes 扫码自动创建(推荐) 路径 B · 企微客户端手动创建 路径 C · 管理后台 web 创建(备用) 拿到凭据之后:写入 .env + 重启 + 验证 常见坑 参考资料

1先决条件

在动手之前,先确认这三件事,否则会卡在中途没退路:

ℹ️
Hermes 这条接入方式叫 「AI Bot 长连接 / WebSocket」。和它对应的 「自建应用 + Callback」 是另一条路(CorpID + AgentID + CorpSecret + Token + EncodingAESKey 五件套 + 公网 HTTPS 入口),本页不涉及那条。

2三条获取路径

同样目的有三个入口,按推荐度排序:

A · 推荐

Hermes 扫码

本机跑 hermes gateway setup → 选 WeCom → 终端出二维码 → 手机企微扫一下 → 自动建好并写入 .env

5 秒
B · 标准

企微客户端

打开企微 app/Mac 客户端 → 工作台 → 智能机器人 → 创建机器人 → API 模式 → 长连接 → 复制 Bot ID / Secret。

3 分钟
C · 备用

管理后台

web 后台登录 → 应用管理 → 智能机器人 → 创建。客户端找不到入口时走这里。

5–15 分钟

3路径 A · Hermes 扫码自动创建

Hermes 的 gateway setup 向导内置了"在终端渲染二维码、手机扫码授权后自动建 bot 并取凭据"的逻辑。这条路最快也最不容易出错,因为完全不用手输 Bot ID / Secret。

A.1

在终端打开 Hermes 配置向导

cd /Users/gloom/.hermes/hermes-agent
./venv/bin/python -m hermes_cli.main gateway setup

菜单出现后用方向键选 WeCom,回车。

A.2

用手机企微扫终端的二维码

终端会以 ASCII / 半 block 字符渲染一张二维码。打开手机企业微信 → 右上角"+"号 → 扫一扫 → 扫向终端。屏幕模糊或字号过小时可以缩小终端窗口让二维码更紧凑。

A.3

在手机上完成授权对话框

企微 app 会弹出"是否允许 [你的企业] 创建 AI 机器人"。点确认。Hermes 会自动在企微侧创建 bot 应用并把 Bot ID / Secret 写进 ~/.hermes/.env

A.4

向导后续问的"访问策略"

扫码成功后向导继续追问几个问题:

不确定就全选 open,后面随时改 .env 调整。

跑完这条路径 .env 已经有真值了,可以直接跳到 第 6 节"拿到凭据之后"

4路径 B · 企微客户端手动创建

这是 2026 年的真实流程。Hermes 文档里那条"管理后台 → 应用管理 → 创建应用 → AI Bot"是老路子,今天打开会找不到对应入口;现在主入口在客户端。

B.1

打开「工作台」找「智能机器人」

手机或 Mac 客户端的企业微信,底部进 工作台 tab,往下找 「智能机器人」。如果没看到——往下翻"我的应用"末尾通常有个"添加应用"或"探索更多",里面会有"智能机器人"分类。

⚠️
完全找不到 = 企业还没开启智能机器人特性。让管理员在 web 管理后台 → "我的企业" → "权限管理"或"AI 套件"里开启,或者直接走路径 C
B.2

点「创建机器人」

填基本信息:名字、头像、一句话简介。这些都是员工侧看到的展示信息,不影响接入。

B.3

关键节点:选「API 模式」

页面会问你机器人怎么响应消息。常见三类:

选项用于Hermes 是否能用
对话模式纯腾讯托管的预置话术 bot不行 —— 没有 Bot ID/Secret
API 模式消息中转到第三方系统处理就是这个
知识库模式挂腾讯文档当 RAG不行
B.4

API 模式里选「使用长连接」

API 模式内部又分两种握手方式:

方式需要的东西对应 Hermes
长连接无需公网,本机持久 WebSocket 出去拉消息✅ 这条
短连接 / 回调需要公网 HTTPS 域名 + 证书 + Token + EncodingAESKey另一个 adapter wecom_callback
B.5

页面直接显示 Bot ID + Secret

选完长连接,页面会立刻渲染出两个字段:

🔐
Secret 立刻贴去 Hermes 或你的密码管理器。不要拍照、不要发微信群、不要写在便签纸上。任何人拿到 Bot ID + Secret 都能伪装你这个机器人发任意消息。

5路径 C · 管理后台 web 创建(备用)

客户端入口被隐藏 / 你只有 PC 端没装企微 app / 大企业有专门的应用管理流程,走这里:

C.1

登录企微管理后台

浏览器打开 work.weixin.qq.com/wework_admin/frame必须用管理员账号登录(个人微信扫码也行,前提是你的微信号被注册过该企业的管理员)。

C.2

进「应用管理」找「智能机器人」分类

顶栏选 应用管理 → 左侧导航里找 「智能机器人」「AI 机器人」 子项。点 创建机器人 / 新建机器人

C.3

后续步骤同路径 B

web 后台的表单跟客户端 B.3 / B.4 / B.5 完全对齐 —— 选 API 模式 → 长连接 → 复制 Bot ID + Secret。

6拿到凭据之后

把两个值写入 ~/.hermes/.env如果走的路径 A 扫码,这一步 Hermes 已经替你做了,直接跳到验证。

6.1

编辑 .env

# ~/.hermes/.env 末尾或 TELEGRAM 段后追加:

WECOM_BOT_ID=你的 Bot ID
WECOM_SECRET=你的 Secret

# 可选:访问控制
# WECOM_DM_POLICY=allowlist                  # open | allowlist | disabled | pairing
# WECOM_ALLOWED_USERS=alice,bob,charlie      # 仅 allowlist 模式生效
# WECOM_HOME_CHANNEL=                        # cron 通知默认输出的 chat_id
⚠️
不要用 __FILL_ME_IN__ 之类占位字符串!Hermes 的 gateway/config.py:1669 检查 if WECOM_BOT_ID and WECOM_SECRET ——任何非空字符串都会被当真值,导致 wecom 适配器尝试用垃圾凭据握手并刷错误日志。要么填真值,要么注释掉整行。
6.2

重启 gateway

# macOS / launchd 已加载的场景:
launchctl kickstart -k gui/$(id -u)/ai.hermes.gateway

# 或如果还没加载:
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.hermes.gateway.plist

等 10–20 秒,gateway 完成 WebSocket 握手。

6.3

验证 wecom 已 connected

cat ~/.hermes/gateway_state.json | python3 -m json.tool

platforms.wecom.state 字段:

6.4

真消息回路测试

用手机企微给机器人发条 「ping」。期待:

跑通这步 = 端到端打通,下班。

7常见坑

看不到「智能机器人」入口

企业没开通这个特性。让管理员在 web 后台 → "我的企业" → "权限管理"或专门的"AI 套件"页里启用。或者升级套餐 —— 部分免费版企微限制 AI Bot 数量。

Secret 关掉页面后看不到完整值

设计如此。Secret 是单次显示的敏感凭据。丢了只能重新点"随机生成"得到新值(旧值失效)。建议建好就贴 1Password / Bitwarden / Lark 私人多维表

Bot ID 和 CorpID 搞不清

本页只用 Bot ID + Secret 这一对,其它三个出现说明你看错教程了。

填错凭据 gateway 会循环重试导致日志炸

是的。WebSocket 握手失败时 Hermes 走指数退避(RECONNECT_BACKOFF = [2, 5, 10, 30, 60])但不会自动停。如果你确认凭据有问题,.env 的两行注释掉再 launchctl kickstart -k,让 wecom adapter 不启动比刷错误日志好。

路径 A 扫码没出二维码 / 二维码扫不出
跨企业切换:之前给企业 A 建的 bot 想拆给企业 B 用

不行。Bot ID + Secret 绑死到创建时的企业。换企业必须在企业 B 里重新走一遍创建流程,拿新的一对凭据。

排错速查命令

# 看 gateway 当前是否运行
ps -ef | grep hermes_cli | grep -v grep

# 看每个平台的连接状态
cat ~/.hermes/gateway_state.json | python3 -m json.tool

# 看启动错误(最后 80 行)
tail -80 ~/.hermes/logs/gateway.error.log

# 看 wecom adapter 实时心跳
tail -f ~/.hermes/logs/gateway.log | grep -i wecom

# 强制重启(kill + launchd 自动拉起)
launchctl kickstart -k gui/$(id -u)/ai.hermes.gateway

# 完全卸载平台(保留 .env,只是 unload launchd)
launchctl bootout gui/$(id -u)/ai.hermes.gateway

8参考资料