From 574151aee9f4c9d3488bbf5901cf27fde8f49096 Mon Sep 17 00:00:00 2001 From: hmo Date: Tue, 21 Jul 2026 01:05:08 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=BA=A2=E7=BA=BF#11=20=E6=89=B9?= =?UTF-8?q?=E9=87=8FLLM=E8=B0=83=E7=94=A8=E7=A6=81=E8=B5=B0hermes=20gatewa?= =?UTF-8?q?y=20agent=E9=80=9A=E9=81=93=EF=BC=88603288=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev-spec.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/dev-spec.md b/docs/dev-spec.md index 73cb98e4..4a67e487 100644 --- a/docs/dev-spec.md +++ b/docs/dev-spec.md @@ -22,6 +22,7 @@ 8. **备份/遗留物禁止留在生产数据目录** — `.bak`、`decisions_backup_*`、迁移残留 JSON、废弃 DB,必须在迁移/变更完成时移到 `archive/`。生产数据目录(`MoFin/data` = `web-dashboard/data`)只放活文件。监控脚本扫描生产目录时,遗留物就是未来的假警报 9. **死模块必须收尸** — 宣布模块废弃时,必须在同一轮操作中完成收尸六步:①杀进程 ②stop+disable systemd 服务 ③删 cron job ④归档脚本到 `archive/` ⑤归档数据文件 ⑥从期望矩阵/监控中移除。只说"已废弃"不收尸 = 没废弃(小果 bot 以 root 白跑 8 天 2.5GB 的教训) 10. **监控查"活"不查"在"** — 健康检查必须验证**数据新鲜度**(DB 表 MAX(时间列))而非"文件存在/进程存在"。文件 mtime、进程存活都不构成健康证据——数据 24h 不更新才是事故。禁止拿遗留文件的 mtime 当管道健康指标("数据管道停滞14天"假警报的根因) +11. **批量 LLM 调用禁止走 hermes gateway agent 通道** — hermes gateway 的 `/v1/chat/completions` **不是透传**,是完整 agent 运行时:每个请求创建带工具(terminal/websearch/patch)的 agent 会话,可能螺旋几十轮、累积 150k+ token,客户端超时后服务端仍空转,重试会叠加新会话形成自我 DDoS(2026-07-21 603288 事件:单次重评螺旋 35 分钟、44 次 terminal 调用)。所有批量/脚本化 LLM 调用必须经 `llm_client.call_llm()`:**OCG 上游直连为主**(裸 completion,key 运行时从 hermes config.yaml 读取,不落盘),gateway 仅作应急兜底。新增 LLM 调用点一律复用 `llm_client`,禁止手写 HTTP 调用 ---