对话笔记直发:8.12 NAS Hermes 发布工作流排查。分类:AI工程。


tags: [hermes, nas, jp, 公众号, telegram, 故障排查, 模型切换] date: 2026-08-12

NAS Hermes 发布工作流排查(8.12)

一、背景

  • 目标机:局域网 NAS(简称 jp,IP 192.168..,SSH root@192.168.*.*)。
  • Hermes 以 systemd hermes-gateway.service 运行(ExecStart /opt/hermes/.venv/bin/python -m hermes_cli.main gateway run,WorkingDirectory /opt/data)。
  • 用户下午 14:00+ 通过 Telegram 给 Hermes 派任务:探讨主题 → 生成文章初稿 → 排版 → 推送公众号草稿箱(微信发布工作流 skill wechat-publish-workflow)。
  • 现象:反复 CPU 飙到 99%;一下午反复发 Telegram 都没跑完;回复语气明显变化。

二、排查结论

1. 系统提示词 / 记忆:未被改(可放心)

  • /opt/data/.hermes/SOUL.md(系统提示词)最后修改 2026-08-03 16:11,今凌晨/昨晚没动。
  • /opt/data/.hermes/memories/ 为空目录,时间戳 2026-08-03。
  • skill 中仅 messaging/SKILL.md 在 14:14 动过(Telegram 格式化规则,与人格无关)。

2. 语气变化的真凶:凌晨 01:36 改了 config.yaml 并重启

对比 2026-07-26 的 config.yaml.bak.1785077968,本次变更:

项原值改成
默认模型 defaulttencent/hy3:freeupstage/solar-pro4:free
TTS voicezh-CN-XiaoxiaoNeural(大陆女声)zh-TW-HsiaoChenNeural(台湾女声)
TTS provider空edge
memory.provider空hindsight
某项 modebothnone
  • 切换时间:config.yaml mtime = 2026-08-12 01:36;服务 ExecMainStartTimestamp = 2026-08-12 01:36:59 CST(改完即重启)。
  • 01:25–01:42 日志无业务记录 → 非 gateway 运行期自改,是外部直接落盘 config 后触发重启(即「被改」而非自动升级)。操作来源待追查。
  • 换模型是语气变化根因:solar-pro4 是 Upstage 模型,中文调性与 hy3 完全不同,且上游不稳。

3. CPU 99% + 一下午干不完的根因(三死循环叠加)

  • ① 模型上游不稳(主因):新模型走 inference-api.nousresearch.com(Cloudflare 代理)。下午记录:

    • 17:35 HTTP 502 Bad gateway → 重试
    • 17:36 流被掐断(incomplete chunked read)→ 重试 2/3
    • 每次失败带超长上下文重试,CPU 飙高。hermes 进程累计 CPU 时间 24:47,排查时仍占 47%。
  • ② memory 爆了:memory_char_limit: 2200,实际 18:02/18:04 达 2389 / 1961 字符超限,写入被拒后反复重试。

  • ③ 会话上下文失控:18:06 日志 Turn ended with pending tool result (agent may appear stuck); tool_turns=42; session=20260810_223155_92817e 该 session 自 2026-08-10 22:31 起跑了近两天,工具调用 42 轮,turn 异常挂死 → 用户侧表现为「卡住」。

  • 次生故障:Telegram flood control 限流 9 次(发太密)、Message to edit not found 流式编辑失败 → 用户看不到进展反复发、越发越堵。

  • 下午错误统计:terminal 错 10、TG 限流 9、read_file/search_files 被安全策略拒 6、memory 失败 2、execute_code BLOCKED 1、API 502 1、Stream drop 1。

4. 好消息:活儿基本干完了

产物都在 /tmp/gzh_push/:

  • 初稿 卡神12步学会用好AI_初稿.md(16:58)
  • 排版 HTML(18:00)—— 重新校验:0 ERROR 可粘贴,仅 1 个 WARNING(「观点 · AI学习」未包 span leaf,无关紧要)。17:57 的 <div> 报错已自修(现 div=0 / section=14)
  • 封面 cover.png(19:00 生成,排查过程中仍在跑;5.5MB 偏大,微信素材易卡)
  • 仅差最后一步:推送草稿箱。

三、建议修复(待办)

  • 追查 01:36 config 改动来源(外部落盘,非自动升级)—— 确认是否本人/脚本操作
  • 还原默认模型 solar-pro4:free → tencent/hy3:free(治语气 + 治 502 重试烧 CPU),需重启 gateway
  • 清理 memory 把 2389 字符压到 ≤2200,止住写入死循环
  • 结束跑了两天的 session 20260810_223155_92817e,新起干净会话
  • 压缩封面到 ~1MB 内,把已排好的 HTML 直接推微信草稿箱(当日活儿落地,可不重启服务先完成)
  • 节奏约定:任务跑动中勿反复发 TG,避免 flood control 反噬

四、关键路径速查

  • 配置:/opt/data/config.yaml(备份 config.yaml.bak.1785077968 等)
  • 系统提示词:/opt/data/.hermes/SOUL.md
  • 记忆:/opt/data/.hermes/memories/(空)
  • 日志:journalctl -u hermes-gateway.service
  • 文章产物:/tmp/gzh_push/
  • 公众号发布 skill:/opt/data/skills/wechat-publish-workflow/SKILL.md;排版校验脚本 /opt/data/skills/gzh-design/scripts/validate_gzh_html.py


相关: 00-索引-AI工程索引 8.13 Hermes 网关免费模型自动切换与报错修复