对话笔记直发: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,本次变更:
| 项 | 原值 | 改成 |
|---|---|---|
默认模型 default | tencent/hy3:free | upstage/solar-pro4:free |
TTS voice | zh-CN-XiaoxiaoNeural(大陆女声) | zh-TW-HsiaoChenNeural(台湾女声) |
TTS provider | 空 | edge |
memory.provider | 空 | hindsight |
某项 mode | both | none |
- 切换时间:
config.yamlmtime = 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