把 Hermes 接进微信

把 Hermes 接进微信

Hermes Agent 是 Nous Research 开发的开源自主 AI 智能体,于 2026 年 2 月发布。它不是绑定在 IDE 上的代码补全工具,也不是套壳聊天机器人,它住在你的服务器上,记住它学到的一切,运行越久能力越强。Hermes 可以:

  • 直接执行终端命令
  • 读写和搜索文件
  • 操作浏览器
  • 运行 Python 脚本
  • 管理定时任务
  • 维护跨会话的记忆

而微信作为国内最常用的即时通讯工具,自然成了 Hermes 最重要的接入渠道之一。

Windows 安装

Hermes 已经推出了类似 Codex 的桌面端,双击安装就完事,命令行和桌面应用一起给你装上。只想用命令行也行,PowerShell 里一行 iex (irm https://hermes-agent.nousresearch.com/install.ps1)。安装环境它自己判断缺什么补什么,不用你操心。

安装完成之后,得先给它配个模型。Hermes 自己没脑子,要挂一个上去。省事的办法是 hermes setup --portal,一条命令把 provider、模型、工具网关全配好。不想用 Portal 就敲 hermes model,二十多家 provider 摆在那儿,挑一家填 key,我用的是 DeepSeek。key 丢进 ~/.hermes/.env,别写进 config.yaml,设置和密钥分开放。配完顺手跑个 hermes doctor,哪儿不对它直接告诉你。

Windows 上有一个坑。config.yaml 用记事本存过会带上 BOM,一启动就报 HTTP 400 加一句 No models provided。改用 hermes config edit 就没事。

放自己电脑上,用着别扭

本机装完确实能用,但我不满意。电脑一合盖它就下线,平常也不能一直把电脑开着。

我想要的是坐地铁掏手机发一句,服务器上的它就去干活。所以又装了一遍,这回在服务器上。装完记得把网关装成系统服务,不然终端一关就没了:

hermes gateway install    # 装成 systemd / launchd 服务
hermes gateway status     # 看状态

这一步我一开始漏了,看着一切正常,SSH 一断消息就再没人回。补上之后 systemd 里多一个 hermes-gateway.service,进程挂了五秒自己起来。

白嫖服务器

这台服务器是阿里云高校计划「云工开物」给的,2023 年云栖大会发布,在校生都能领,专科到博士都算。

领取很简单,先做学生认证,走学信网核验。过了领一张 300 元无门槛券,每人每 12 个月一张,有效期一年,能抵公共云产品。我拿它换了这台 2 核 2G 的 ECS。计划里还挂着 140 多款产品的免费试用,最长的 12 个月,签约高校的学生 3 折,老师 5 折。

国内装,卡在两个地方

第一个是拉代码。默认走 GitHub,慢得让人怀疑网坏了,我换成 cnb.cool 上的国内镜像才拉下来。

第二个是依赖。npm 不换源,Node 那一步能等好几分钟,网络慢一点甚至能等十几分钟。换一下就好:

npm config set registry https://registry.npmmirror.com

以后 hermes update 也一样,这两处不换,升级能磨掉一晚上。

接微信

接入就一条命令,hermes gateway setup,列表里选 Weixin。终端会画个二维码,画不出来就给链接。手机微信扫一下、确认,凭证它自己存好,之后重启不用再扫。

这条通道走长轮询,不要公网 IP,也不用配回调,小机器完全扛得住。文字、图片、文件、语音都能收发。

第一个意外是进不了群。扫码连上的不是我的微信号,是 iLink 的一个机器人身份,长得像 xxx@im.bot。这个身份进不了普通微信群,在群里被 @ 也收不到。我本来盘算着让它在工作群答题,翻完文档发现路堵死了,能用的只有私聊。

第二个意外更折腾人,消息会被吞。这条通道对同一会话短时间内的连续发送限得很死,30 秒冷却。表现就是这边看着它明明回过了,手机上屁都没有,干等半天以为它死了。后来翻网关日志,才找到 send failed 和 rate limited 那几行。现在给自己定的规矩是:一条回复最多带一个附件,正文压短,被吞了就隔几分钟发条纯文字探一下。

让它听懂微信语音

用了一阵子,我发现发语音条比打字快,但它一开始收不到。微信语音是 silk 格式,Hermes 内建的转写引擎要先去 HuggingFace 下模型,国内根本下不动,所以每发一条语音,它只能回我一段「没转出来,音频在这儿」。

后来换了个路子,用小米的 MiMo-V2.5-ASR 云接口,国内直连,中文识别也准。做法是在服务器上放个脚本,先把 silk 解码成 wav,再调接口拿文字,然后把这个脚本配成 Hermes 的 STT provider:

stt:
  enabled: true
  provider: mimo
  providers:
    mimo:
      type: command
      command: python3 /root/.hermes/bin/mimo_silk_asr.py {input_path} --out {output_path}
      language: zh

里面有个坑卡了我挺久。silk 解码用 pilk,pilk.decode 出来的是裸 PCM,文件名写成 .wav 它照写不误,但里面没有 RIFF 头,接口一口就报 invalid audio format。折腾到最后才发现得用 pilk.silk_to_wav,出来的才是正经 wav。

这个配置改完不用重启,每次调用都实时读。现在我在微信里按住说话,那边出来的就是文字。

顺手把回话也接上了 TTS,不过语音条还是发不出去,iLink 这条通道不支持原生语音上传,音频只能当文件附件发,点开才能播。所以语音这块目前是有进没出,我用得最多的还是它听我说话。

常问的几个问题

  • 服务器要什么配置?1 核 1G 能跑,2 核 2G 松快。网关三百多兆内存加系统本身,1G 的机器别一边还跑着别的重活。
  • 一定要服务器吗?不一定,本机装照样用,就是电脑一关它下线,手机上找不着。
  • 扫码之后能拉进微信群吗?基本不能。iLink 那个机器人身份进不了普通群,稳的是私聊。
  • 语音条能转成文字吗?能,前提是 ASR 引擎在国内连得上。内建的 whisper 要下模型,走不通,换云接口就好了。
  • 升级怎么做?hermes update。国内先把 npm 源和 git remote 换成镜像,不然那一步能耗掉一晚上。
  • 白嫖的机器到期了怎么搬?券有效期一年。到期前把 ~/.hermes 整个目录备份下来,换台机器 hermes import 恢复,配置、记忆、技能都还在。

现在机器 24 小时开着。我在微信里发一句,它就去服务器上干活,卡住了、跑完了、结果怎么样,都摊在聊天框里。除开这台白嫖的机器,一个月基本没别的花销。

← 返回文章列表