Hermes Agent 一直提示 Cannot reach signal-cli,或者 Signal 连上后又反复掉线,先别怀疑 Hermes 主程序。官方 Signal 文档给出的排查核心就三件事:signal-cli daemon 是否真的跑着、Java 17+ 是否安装、Hermes 指向的 HTTP 地址是否就是 127.0.0.1:8080。
一步一步查
- 先在主机上运行
signal-cli --account +你的号码 daemon --http 127.0.0.1:8080。 - 再执行
curl http://127.0.0.1:8080/api/v1/check,看能不能返回版本信息。 - 确认
SIGNAL_HTTP_URL写的就是这个地址。 - 如果经常断,回头看 signal-cli 日志,并确认系统里是 Java 17 或更高。
- 如果同一个号码被多个 signal-cli 实例监听,还可能造成重复消息或状态乱跳。
这题为什么容易绕远路
因为界面表现看起来像 Hermes 网关掉线,实际很多时候是 Hermes 连不到它依赖的 signal-cli 守护进程。也就是说,Hermes 只是下游,真正先要活的是 signal-cli。
一句话:先让 8080 的 signal-cli HTTP daemon 稳定可访问,再谈 Hermes Agent 的上层消息处理。
官方开源地址:https://github.com/NousResearch/hermes-agent;官方文档入口:https://hermes-agent.nousresearch.com/。