总体架构科学:多 profile 独立运行、职责拆分清楚、Report Center 链路成型;主要问题集中在配置漂移、旧 cron prompt 未完全更新、部分 profile 环境变量未继承、历史状态快照权限偏松。
| Profile | 服务 | 模型 | 状态 | 风险点 |
| Master/default | hermes-gateway.service | gpt-5.5 / medium | running | 内存约 2.6G,主状态库约 280M;适合作为重任务入口,但要继续控制长上下文。 |
| Worker | hermes-gateway-worker.service | gemini-3.1-pro-high / low | running | config version 22 -> 23;baseline 写的是 pro-preview,实际是 pro-high。 |
| Network | hermes-gateway-network.service | gemini-3-flash-preview / low | running | config version 22 -> 23;职责边界清楚。 |
| News | hermes-gateway-news.service | gemini-3-flash-preview / low | running | systemd unit 风格与其他 profile 不一致;SOUL 过泛;AI 新闻 prompt 仍要求深色主题。 |
| Health | hermes-gateway-health.service | gemini-3-flash-preview / medium | running | config version 22 -> 23;日志出现 CloudCode/Gemini 403;日报 cron 仍写本地 HTML 与深色主题。 |
| Stock | hermes-gateway-stock.service | gpt-5.5 / low | running | 职责清晰;TELEGRAM_HOME_CHANNEL_NAME=Inventory 是旧命名残留。 |
| 级别 | 问题 | 影响 | 建议 |
| 高 | Health 日志出现 CloudCode/Gemini 403,提示对应账户服务被禁用。 | Health 任务可能在某些路径上失败或降级,尤其当自动 provider 选到不可用链路时。 | 把 Health 的模型/辅助 provider 固定到可用的本地 CLIProxy 路由,避免 auto 漂移到被禁用账户。 |
| 高 | Profile 环境变量未同步 SEARXNG_URL。 | Master 可见本地 SearXNG,但 Worker/Network/News/Health/Stock 的 config check 均显示缺失;专项 bot 做 web_search 时可能不用本地搜索后端。 | 将 SEARXNG_URL=http://127.0.0.1:8088 同步到需要搜索的 profile .env。 |
| 中 | News/Health 的 cron prompt 与统一 Report Center 风格不一致。 | 会继续生成深色主题、本地文件或 Telegram 直发摘要,和“HTML 报告默认”规则冲突。 | 重写 News/Health cron prompt:统一使用 /root/.hermes/REPORT_HTML_STYLE.md,发布到 Report Center,只回传标题、摘要和链接。 |
| 中 | News SOUL 仍是通用 Hermes assistant 开头,缺少完整边界。 | 专项服务机器人可能在非新闻任务上表现过宽,边界弱于 Health/Worker/Network。 | 补成 News 专项 SOUL:只处理新闻抓取、筛选、摘要、报告任务;不做系统运维和跨 profile 修改。 |
| 中 | systemd unit 风格不统一,News 尤其明显。 | News 使用 WorkingDirectory=/root、缺少统一 PATH/VIRTUAL_ENV、RestartSec=5,排障和行为一致性较差。 | 按 Worker/Network 模板统一 profile gateway unit。 |
| 中 | 历史状态快照 state-snapshots/*/state.db 为 644。 | 状态库可能含会话/记忆内容;权限与活跃库 600 策略不一致。 | 将 /root/.hermes/state-snapshots/*/state.db、gateway_state.json、manifest.json 收紧到 600。 |
| 低 | config-baseline.md 含 artist/workspace 旧称,Worker 模型名与实际不一致。 | 对人和 agent 读基线时造成误判。 | 更新 baseline:移除 artist/workspace,加入 Network/Stock,记录当前实际模型。 |
| 低 | 部分 gateway_state.json 为 644。 | 文件较小,风险低,但权限策略不一致。 | 统一设为 600。 |
| 类别 | 路径 |
| 主配置 | /root/.hermes/config.yaml |
| Profile 配置 | /root/.hermes/profiles/{worker,network,news,health,stock}/config.yaml |
| SOUL | /root/.hermes/SOUL.md,/root/.hermes/profiles/{worker,network,news,health,stock}/SOUL.md |
| 轻量上下文 | /root/.hermes/STARTUP_CONTEXT.md |
| 报告样式 | /root/.hermes/REPORT_HTML_STYLE.md |
| Cron | /root/.hermes/cron/jobs.json,/root/.hermes/profiles/{news,health,worker}/cron/jobs.json |
| systemd | /etc/systemd/system/hermes-gateway*.service |
| 状态库 | /root/.hermes/state.db,/root/.hermes/profiles/*/state.db,/root/.hermes/state-snapshots/*/state.db |
| 基线文档 | /root/.hermes/config-baseline.md |