Home
avatar

麒麟剑

把员工请进微信群:多平台网关(Gateway)接入实战

你在终端里把 Hermes 调教得再好,本质上还是个”单机玩具”。老板不会打开 bash 跟你请假,同事也不会用 hermes chat -q 查报表。Agent 的价值不在跑通命令那一刻,而在它能不能钻进你每天都泡着的消息应用里——飞书里喊一声就出活,微信群里丢个文件就处理,钉钉上 @ 一下就排期。

这一步靠的就是 Hermes 的 Gateway(消息网关)。它把你的 Agent 从 CLI 扩展了日常消息应用,让”数字员工”真正上岗。中文社区 hermesagent.org.cn 为每个国内平台都写了独立、清晰的接入文档,比英文文档更适合国内用户照着做。

桌面端查看运行状态

一、为什么需要网关

CLI 适合你自己调试、写脚本、做深度任务;但团队协作发生在飞书/钉钉/微信群里。Gateway 是一座桥:一个后台进程常驻,同时把 30+ 个消息平台接到同一个 Hermes 大脑上。

                 ┌──────────────────────────────┐
   飞书 ───────► │                              │
   钉钉 ───────► │      Hermes Gateway          │ ──► 同一个 Agent 大脑
   企业微信 ───► │   (常驻进程, 多平台接入)      │     (model / memory / skills)
   微信 ───────► │                              │
   元宝/QQ ────► │  授权白名单 + 频道级配置覆盖  │
   Telegram/...►│                              │
                 └──────────────────────────────┘

关键点:不是为每个平台各跑一个 Agent,而是单网关、多租户。平台差异被网关吸收,背后只有一份记忆、一套技能。

二、平台清单:国内平台全部原生支持(修正一个常见误解)

早些中文资料只列了 5 个平台(Telegram / Discord / Slack / WhatsApp / Signal),那是过时/不完整的,别被带偏。以中文社区 hermesagent.org.cn 的文档为准:它为每个国内平台都写了独立接入页——钉钉、飞书/Lark、企业微信、企业微信回调、微信、QQ 机器人、元宝,全部原生支持。

完整平台数 30+,单一后台进程接入,包括:

Telegram、Discord、Slack、Google Chat、WhatsApp、Signal、SMS(Twilio)、Email、Home Assistant、Mattermost、Matrix、钉钉(DingTalk)飞书/Lark(Feishu)企业微信(WeCom)企业微信回调(WeCom Callback)微信(Weixin)、BlueBubbles、Photon、QQ/QQBot、元宝(Yuanbao)、Microsoft Teams、LINE、ntfy、Webhooks、Open WebUI 等。

⚠️ 注意:个别平台总览页的清单会略有滞后(例如曾漏列 QQ、元宝,但它们都有独立专页)。以 hermesagent.org.cn/docs 下各平台专页为准

三、网关命令速查

hermes gateway setup          # 交互式配置各平台(拿 token、填白名单)
hermes gateway                # 前台运行
hermes gateway run            # WSL 推荐前台运行
hermes gateway install        # 注册为 Linux systemd 用户服务 / macOS launchd
sudo hermes gateway install --system   # 注册为系统服务(VPS/无头机器)
hermes gateway start|stop|status|restart|list
  • 想开机自启、挂后台:用 install(用户服务)或 sudo install --system(系统服务)。
  • 数据卷在 ~/.hermes,日志在 ~/.hermes/logs/gateway.log,排错先看它。
  • 容器常驻:docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run

四、国内平台专项配置(重点)

国内平台强制授权,不配白名单就等于没开门。通用思路:hermes gateway setup 走交互向导拿 token,再用环境变量限定谁能跟你说话。下面是中文社区文档里最清晰、可直接抄的要点。

安全底线:网关默认拒绝所有未授权用户。务必配 ALLOWED_USERS 或 DM 配对(hermes pairing approve ...),别把带终端权限的机器人裸奔到公网。

钉钉 DingTalk

pip install dingtalk-stream httpx
# ~/.hermes/.env
DINGTALK_CLIENT_ID=your-app-key
DINGTALK_CLIENT_SECRET=your-app-secret
DINGTALK_ALLOWED_USERS=your-dingtalk-user-id

控制台:open-dev.dingtalk.com → 管理员登录 → 应用开发 → 自建应用 → 凭证与基本信息复制 Client ID / Secret → 添加能力「机器人」。消息接收模式选「流模式」:从你机器发起长连 WebSocket,无需公网 IP/域名,回复走动态 session webhook。

⚠️ 别混用旧的「自定义机器人 webhook」方案(旧文档残留的 oapi.dingtalk.com/robot/send 与流模式冲突)。

飞书 / Lark(中文文档最完整的国内平台)

pip install lark-oapi websockets
# ~/.hermes/.env
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=secret_xxx
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket      # 推荐:长连接,无需公网 URL
FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy    # 强烈推荐

控制台:open.feishu.cn → 创建应用 → 启「机器人」能力 → 复制 App ID / Secret。WebSocket 模式无需公网端点,SDK 自动重连。

⚠️ 文档里 FEISHU_WEBHOOK_PATH 默认值被机器翻译印成了 "0"实际端点是 /feishu/webhook,照抄时注意。

企业微信 WeCom(AI Bot + WebSocket)

# ~/.hermes/.env
WECOM_BOT_ID=your-bot-id
WECOM_SECRET=your-secret
WECOM_ALLOWED_USERS=user_id_1,user_id_2

⚠️ 重大差异:本站方案走 AI Bot + WebSocket完全不使用 corpid / agentid / token / aes_key,也没有回调 URL。这和网上绝大多数企业微信自建应用教程不同,别套旧模板。控制台:work.weixin.qq.com → 应用 → 创建应用 → AI Bot → 复制 Bot ID / Secret。

微信 Weixin(个人微信,高风险)

pip install aiohttp cryptography qrcode

走腾讯 iLink Bot API,二维码扫码登录 + 长轮询,无需公网端点。凭证自动存到 ~/.hermes/weixin/accounts/

⚠️ 封号风险提示(站点未提,自行补):个人微信自动化在国内属高风险操作,请仅用于个人可控账号,避免高频群发,谨防封号。

对应的工具集(每个都含终端能力):hermes-dingtalkhermes-feishuhermes-wecomhermes-wecom-callbackhermes-weixin,用 hermes tools 开关。

五、单网关多租户:按频道覆盖配置

同一个网关接多个群/频道时,可针对频道 IDgateway-config.yaml 里覆盖模型与系统提示。例如销售群用快模型+话术人格,技术群用强模型+严谨人格:

# gateway-config.yaml 片段(字段以官方最新 schema 为准)
channels:
  "feishu-group-sales":
    model: openrouter/meta-llama/llama-3.1-70b-instruct
    system_prompt_override: "你是销售助手,语气热情、回复简短。"
  "feishu-group-dev":
    model: anthropic/claude-sonnet-4.6
    system_prompt_override: "你是资深工程师,只给可执行的命令和代码。"

六、避坑提示

⚠️ 白名单不是可选项。 网关一旦暴露公网,没配 ALLOWED_USERS 等于把家门敞开。国内平台尤其要填。

⚠️ 别信”只有 5 个平台”的旧清单。 hermesagent.org.cn 已为每个国内平台写了专页,钉钉/飞书/企微/微信/元宝/QQ 全部原生支持。

⚠️ WSL 下优先 gateway run 前台。 systemd 在 WSL 里常没起来,先用前台跑通再谈常驻。

⚠️ 微信/元宝授权机制特殊,且微信有封号风险,token 获取和配对方式以 hermesagent.org.cn/docs 各平台专页实时说明为准,别硬套 Telegram 那套。

本节能造出什么数字员工

  • 飞书全能助理:飞书群里查文档、读表格、回消息、发语音。
  • 钉钉考勤/排期 Bot:钉钉里 @ 一下自动建日程、汇总日报(注意它没有语音)。
  • 企业微信客服前台:接 WeCom 做内部答疑,AI Bot 模式无需传统回调。
  • 微信群里的”影子员工”:接微信,把个人 Agent 拉进家人群/工作群干活(注意封号风险)。

下篇预告

网关把”一个人”接进了群,但活儿太多、上下文爆炸怎么办?第 10 节《一个人怎么管一支团队:多 Profile 与子 Agent 协作编排》——用多个 Profile 和 delegate_task 把一支 Agent 团队组起来,让主 Agent 只收摘要、不被 token 拖垮。


延伸阅读

Hermes Agent 数字员工 AI智能体 自托管 Nous Research 消息网关 飞书 钉钉 企业微信 多平台