Generated by Answer me with HTML 0.5.10 · 2026-10-31 18:06 · ★ Star on GitHub
Doctor 修复记录:4 项全部处理(2026-10-31)
Hermes 待处理项从 6 降到 1,三个 high 漏洞清零,HFC 保持全绿
Lead: 四项都修完了。Hermes 待处理项从 6 降到 1,剩下那条只是让你去配 discord / xAI 这类可选 key。
四项改动
| 项目 | 原状 | 处理方式 | 结果 |
|---|---|---|---|
| 1 OpenCode Zen key | 失效,doctor 报 invalid | 从 .env 删除该键(主链与备用链都不用它) | 连通性检查不再报错 |
| 2 SiliconFlow legacy | 列表条目,无 providers 双胞胎 | 迁到 providers.siliconflow,字段由 Hermes 自带转换器生成 | doctor 告警消失,8 个辅助槽照常 |
| 3 Ikuncode GPT legacy | 同上 | 迁到 providers.ikuncode-gpt | doctor 告警消失 |
| 4 npm 漏洞 | web 7 个(含 1 high)、ui-tui 2 个(含 1 high) | 三处 override 提升补丁版本,另修 ui-tui 直接依赖 | ui-tui 归零,三个 high 全清 |
B npm 修复细节
- undici@^7
- 7.30.0 -> 7.30.1(web/jsdom 链)
- undici@^6
- 6.29.0 -> 6.29.1(ui-tui 运行时依赖)
- zod@^4
- 4.4.3 -> 4.6.7(root 链)
- .npmrc
- 加 min-release-age-exclude[]=undici
- 原因
- 仓库的 npmrc 有 14 天冷却,不排除就拿不到 7.30.1
- 剩余
- web 5 个、root 12 个,全是 eslint 家族
- 剩余性质
- 上游没有任何已修复版本,audit 建议的修复是降级插件
剩下的 eslint 家族改不动
@eslint/*、typescript-eslint、minimatch 这些告警在 audit 里 fixAvailable 为 False,官方补救方案是把 eslint-plugin-unused-imports 降到 1.1.3 —— 属于降级换漏洞,不做。等上游发版。
验证结果
- hermes doctor
- 待处理 6 -> 1(只剩可选 key 提示)
- 辅助路由
- aux validator 无问题
- 真实调用
- profile_describer 21.5 秒 schema 通过
- 真实调用
- kanban_decomposer 8.3 秒出 3 个子任务
- web 依赖
- 5 moderate,doctor 计为通过行
- ui-tui 依赖
- 0 漏洞
- root 依赖
- 12 moderate,无 high
- Dashboard
- imports cleanly
- jsdom/undici 导入
- 均正常
- HFC doctor
- ok,sidecar healthy / ready / generation_match
备份与持久化
- config 备份
- /root/backups/config.yaml.bak.20261031_173541
- env 备份
- /root/backups/hermes.env.bak.20261031_174041
- npm 备份
- /root/backups/hermes_npm_audit_20261031/
- 新增补丁
- ~/.hermes/patches/local_npm_audit_overrides.patch
- reapply 脚本
- 已加进 patch 循环 + 升级后自动 npm update undici zod
- 本地漂移
- package.json / ui-tui/package.json / .npmrc / package-lock.json
下次 hermes update 会 autostash 这些漂移,跑一次 /root/.hermes/scripts/reapply_local_patches.sh 即可恢复;npm 那步已写进脚本,无需手动。