自从在 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 的网关,微信终于正常了。这次排障给我的经验教训是,遇到问题凭经验出来不一定有效,最简单的方法其实是先看文档。