如何解决 Hermes Agent 中 QQ Bot “灵魂不在线”

Hermes QQ Bot 常因网络波动出现“灵魂不在线”的静默断连,根源在于 WebSocket 重连逻辑缺陷导致进程未正常退出。目前修复版本已解决重连耗尽问题,但深层异常捕获仍有待完善。建议用户升级至最新版,配置 systemd 或 Docker 自动重启策略,并优化代理超时设置,以保障 QQ Bot 稳定运行。

发布于2026年5月8日 13:16
编辑零重力瓦力
评论0
阅读834

问题现象

用 QQ Bot 连接 Hermes 时,经常收到“该机器人的'灵魂'不在线,请检查它的主机服务部署环境”的提示。意思很简单:QQ 端认为你的机器人掉线了,消息发不过去。

原因分析

这不是配置问题。Hermes 的 GitHub 上有两个已被确认的 bug(#14539 和 #15490),都指向同一件事:QQ Bot 适配器的 WebSocket 连接断了之后,没有正确恢复。

具体来说,有两层故障叠加:

第一层:网络波动时重连逻辑漏捕异常

QQ Bot 通过 WebSocket 长连接与腾讯服务器(wss://api.sgroup.qq.com/websocket)通信。当网络出现短暂中断,比如代理切换、Wi-Fi 闪断、VPN 重连,适配器的重连代码没有正确捕获 httpx.ConnectError、TLS 握手失败、代理 CONNECT 失败这类底层异常。结果是整个适配器任务直接退出,连一行错误日志都没有留下。

第二层:重连耗尽后静默退出

即使重连逻辑正常触发,连续尝试 100 次后(约 100 分钟),_listen_loop() 函数直接 return,不通知 GatewayRunner。这时候:

  • Gateway 进程还活着,Telegram 等其他平台正常

  • QQ 适配器已经死了,但状态文件还显示 qqbot: connected

  • systemd 不会重启,因为进程没有退出

这样在 QQ 端看到的就是那句“该机器人的'灵魂'不在线,请检查它的主机服务部署环境”。

解决方案

1. 升级 Hermes 到最新版本 — 修复 PR #14565 已经让重连耗尽时调用 _set_fatal_error(),Gateway 收到通知后会退出,触发 systemd 或 Docker 重启。检查你当前版本:

hermes --version

2. 优化代理设置 — 如果你通过 clash 等代理连 QQ 服务器,代理的 idle timeout 建议设为 120 秒以上(QQ 心跳间隔 60 秒)。更好的做法是让 QQ API 流量走直连,不经过代理。

3. 配置自动重启 — 让进程挂掉后自动拉起:

systemd 方式:

[Service]
Restart=always
RestartSec=10

Docker 方式:

restart: unless-stopped

4. 手动恢复 — 出问题时快速重启:

hermes gateway restart

进阶方案

5. 健康检查脚本 — 用 crontab 定期检测,断连自动重启:

*/5 * * * * curl -s http://localhost:16648/health || docker restart hermes

6. 关注相关 Issue 进度

  • #14539:重连耗尽后静默退出(已修复合并)

  • #15490:网络异常时适配器静默死亡(部分场景仍存在)

时间线

  • 2026 年 3 月:社区用户报告 QQ Bot 静默断连问题(#14539)

  • 2026 年 4 月:PR #14565 提交修复,重连耗尽时正确通知 Gateway 退出

  • 2026 年 4 月 24 日:#15490 报告了网络中断导致适配器静默死亡的更深层问题

    截至 2026 年 5 月:#15490 的修复尚未合并,网络波动场景下的静默死亡可能仍存在一句话总结Hermes QQ Bot 掉线不是你的锅,是已知 bug。最务实的做法:升级到最新版 + 配好自动重启 + 优化代理超时。

相关文章

Anthropic 开源知识工作插件库,111 个无代码技能包重塑智能体工作流
AI 教程知识
2026年9月18日
0 条评论
小创

Anthropic 开源知识工作插件库,111 个无代码技能包重塑智能体工作流

Anthropic 开源 knowledge-work-plugins 项目,提供 111 个无代码智能体技能包。该体系基于 Markdown 和 JSON 构建标准化模块,支持渐进式披露与 MCP 工具集成,标志提示词工程向软件工程化转型。内置 marketing 与 productivity 等插件展示了结构化输入及分层记忆范式,支持语义路由与轻量化定制。尽管存在多插件上下文竞争及云端连接器限制内网访问等问题,仍为智能体工作流提供了可复用的模块化规范。

#智能体#AI工具#提示词工程
阅读全文
oh-my-hermes 实操:给智能体装上编码拆解与记忆作业层
AI 教程知识
2026年9月18日
0 条评论
小创

oh-my-hermes 实操:给智能体装上编码拆解与记忆作业层

oh-my-hermes 是为 Hermes 智能体设计的工程作业层插件,旨在解决复杂编码任务中的调度与验证难题。该工具通过模型路由、任务拆解及严格证据门禁,将自然语言转化为专业交付流,实测可降低约 85% 成本并大幅缩短耗时。其核心特性包括 12 类任务回退链、基于 Git Worktree 的安全并行执行、四态状态追踪及评审制长期记忆机制,有效防止上下文污染与虚假完成。尽管在超大仓库处理上仍有局限,但显著提升了开源模型的工程交付确定性。

#智能体#AI工具#vibe coding
阅读全文
Google 工程经理开源 agent-skills,用结构化规范约束 AI 写出生产级代码
AI 教程知识
2026年9月18日
0 条评论
小创

Google 工程经理开源 agent-skills,用结构化规范约束 AI 写出生产级代码

Google 工程经理开源项目 agent-skills 通过结构化 SKILL.md 规范约束 AI 编码智能体,解决其生成代码缺乏工程纪律的问题。该项目覆盖定义、计划、构建等六大研发阶段,内置 25 个专业技能与反偷懒机制,强制 AI 遵循测试驱动及质量门禁标准。支持 Claude Code、Cursor 等主流工具集成,推荐从规格定义、TDD 及代码评审三步最小闭环起步,将无序补全转化为可预测的工程化构建,提升 AI 代码的生产级交付能力。

#AI工具#智能体#vibe coding
阅读全文
互动讨论

评论区

围绕《如何解决 Hermes Agent 中 QQ Bot “灵魂不在线”》展开交流,未登录用户可浏览评论,登录后可参与讨论。

评论数
0
登录后参与评论
支持发表观点与回复一级评论,互动后将同步到消息中心。
登录后评论
暂无评论,欢迎成为第一个参与讨论的人。