跳到主要内容
小猪的窝
Hermes微信失联处理
语言编程 约 2 分钟(497 字) 920 次浏览

Hermes微信失联处理

原创文章

自从在nas部署agent(Hermes)后,我已停用主机的穿透服务,直接通过IM给agent提交指令管理设备。

前两天对Agent进行一次常规更新后,微信的服务网关一直启动不了。查看日志错误提示为:

Sep 29 15:03:26 CLAW python3[1131852]: 2026-09-29 15:03:26,182 WARNING gateway.run: Weixin: aiohttp/cryptography not installed
Sep 29 15:03:26 CLAW python3[1131852]: 2026-09-29 15:03:26,182 WARNING gateway.run: No adapter available for weixin

直观上看是python缺少aiohttp/cryptography导致的启动失败。解决思路是把缺少的组件安装回去,便能解决。于是,通过pip直接安装相关组件。发现Hermes Agent默认安装方式是通过Venv把虚拟环境部署在~/.hermes/hermes-agent/.venv/目录内。通过虚拟环境直接安装相应缺失的组件时,系统却提示相关组件早已安装。这里明显是有问题的,最大的可能是路径出错。但是此前我从来没有改动过任何路径,所有文件都是以官方默认的方式部署的,所以大概率不是路径问题。

于是我尝试把问题丢给Deepseek进行处理,它好像很快找到问题的处理办法,就是不停地在Systemd和Venv配置路径间循环修改,ExecStart路径修改了数十遍问题依旧,似乎问题进入了死循环。

所有文件路径都在正确的位置,为何系统检测不到,会不会是接口出现问题?带着疑问,我查阅微信接口文档,文档第一步安装依赖时就已经提供强行激活内置的pm包同步虚拟环境 Python方法,调用内部的 pm(Package Manager)模块,将 messaging(包含微信所需的 aiohttp 和 cryptography)强制同步进内核的常驻环境空间:

cd ~/.hermes/hermes-agent
~/.hermes/hermes-agent/.venv/bin/python -c "import pm; pm.sync_venv(['messaging'], explicit=True)"

刷新完接口参数后,重启agent的网关,微信终于正常了。这次排障给我的经验教训是,遇到问题凭经验出来不一定有效,最简单的方法其实是先看文档。

2 条评论

Xander

telegram 集成体验最好,指令补全,选项菜单一应俱全,配置也很方便

回复
面

就是不太方便扶梯?才用微信

添加新评论