接好之后,你在微信里直接给机器人发消息,Hermes 就会像在终端里一样调用工具、执行任务、回你结果——还能把定时任务的产出(周报、情报、提醒)推送到微信。本文用个人微信 + iLink Bot 方案,扫个码就通。
先用 hermes doctor 确认 Hermes 能正常对话。微信接入是「网关」功能,需要 Hermes 已经配置好一个大模型(模型没配,机器人不会回复)。
微信适配器需要两个 Python 包:aiohttp(异步网络)和 cryptography(微信媒体加密解密)。在你的终端里执行:
pip install aiohttp cryptography
如果是 git 安装的 Hermes,还可以把 messaging 附加组件装上(终端里能直接显示登录二维码):
cd ~/.hermes/hermes-agent && uv pip install -e ".[messaging]"
运行交互式配置向导,选 Weixin:
hermes gateway setup
向导会自动完成 5 步:
~/.hermes/weixin/accounts/成功后终端会显示:微信连接成功,account_id=你的账号ID
xxx@im.bot),不是你个人微信号本身。它不能像普通联系人那样被拉进大多数微信群、也收不到普通群消息。大部分场景一对一私聊是稳定可用的。默认是"任何人私聊都能触发机器人",建议改成白名单,只允许你自己用。编辑 ~/.hermes/.env,确认至少有以下几项:
# 必填(扫码登录已自动保存,一般不用动) WEIXIN_ACCOUNT_ID=你的账号ID WEIXIN_TOKEN=你的token # 私聊权限:只允许白名单用户 WEIXIN_DM_POLICY=allowlist WEIXIN_ALLOWED_USERS=用户ID1,用户ID2 # 定时任务的推送目标(周报/提醒发到这里) WEIXIN_HOME_CHANNEL=聊天ID WEIXIN_HOME_CHANNEL_NAME=Home
怎么拿到自己的用户 ID?先让机器人开白名单(open)跑起来,你在微信里给它发条消息,然后看网关日志里的发送者 ID,把它填进 WEIXIN_ALLOWED_USERS 再重启。
| 策略值 | 含义 |
|---|---|
| open | 任何人可私聊(不推荐长期) |
| allowlist | 仅白名单用户(推荐) |
| pairing | 配对模式(初始设置用) |
| disabled | 忽略所有私聊 |
先在前台跑一次看日志(确认无报错):
hermes gateway
确认正常后,安装成后台服务,让它常驻:
hermes gateway install hermes gateway start hermes gateway status
测试:用微信给机器人发一句「你好」,应该会收到回复。再试试让它干活:
# 在微信里给机器人发:
帮我查一下现在几点了
写一个 Python 脚本计算 1 到 100 的和
明天提醒我开会
/new 开新对话、/model 换模型、/usage 看用量。| 命令 | 作用 |
|---|---|
| hermes gateway status | 看网关是否在跑 |
| hermes gateway restart | 重启网关 |
| hermes gateway stop | 停止 |
| hermes gateway setup | 重新配置平台(换号/加平台) |
| hermes cron list | 查看定时任务 |
hermes gateway setup。