Codex 本机无死角巡查修复报告

生成时间:2026-05-24 10:50 CST;主机:AR / instance-20260423-0914;范围:本机生产服务 + US/TK/DE 只读巡查。
是否需要处理部分需要
本机 P1 已修;远程项需确认后写入
总体健康度
本机高;远程 US 暴露面需复核
自动修复2 项
DR 脚本、CLIProxy 配置权限
验证结果通过
0 failed units;核心路由 200/401 正常

总体结论

本机核心服务、公开入口、Report Center、Usage Ledger、CLIProxyAPI、Hermes 多 profile、TencentDB memory 和主要本地项目均处于可用状态。巡查中发现并自动修复两个本机问题:DE 容灾备份脚本对 live SQLite 临时文件过敏导致定时任务失败,以及 CLIProxyAPI 配置文件权限偏宽。

远程 US/TK/DE 已按只读边界巡查。DE/TK 未发现 P0;US 存在 0.0.0.0:8317 Docker 监听和 fail2ban 缺失 sshd-ddos filter 的问题,属于需要确认后远程修复的项目。

已检查范围

模块结果关键证据
系统基础正常Ubuntu 24.04.4,内核 6.17.0-1014-oracle;负载 0.25/0.17/0.16;内存可用 18GiB;根分区 44%;inode 8%;NTP active。
systemd已清零 failed修复后 systemctl --failed 为 0。local-dr-backup.service 已不再处于 failed 列表。
核心服务activeHermes default/worker/network/news/health/stock/sub、CLIProxyAPI、nginx、Report Center、Usage Ledger、Home CMS、cctb-codex、cctb-antigravity、cards/sub/upload/image/openrouter 均 active。
公开入口可访问www.loveason.com/ 200;/panel/ 200;/v1/models 401;/usage 200;/reports/ 200;/reports-api/api/health 200。
Hermes profiles正常7 个 gateway active;profile config.yaml 均为 600;cron jobs 共 12 个,last_status 均为 ok。
TencentDB memory正常插件 symlink 指向 /opt/TencentDB-Agent-Memory;8420-8424 health 均 200;master/worker/network/stock/health 数据目录有近期记录。
CLIProxyAPI正常版本 v7.1.20;本地和公网未带认证访问 /v1/models 返回 401;面板自定义标记 priority/xAI/Grok/quota 均存在。
Usage Ledger正常API 返回 3546 events / 889 sessions;默认全量;公网手动同步 /usage/api/sync 返回 200 且 ok=true。
Nginx/证书通过nginx -t 成功;证书有效期最短 61 天;私有路径仍包含 allowlist。存在 protocol options redefined 警告,不阻断加载。
Report Center正常服务 active;本地 /api/health 200;metadata 185 条;最近报告 2026-05-24 10:00 写入。
远程 US/TK/DE只读完成三台均 0 failed units;资源和 nginx 语法可用;远程写操作未执行。

已直接修复的 P1 问题

问题原因与影响修复验证回滚
DE 容灾备份失败 restic 扫描 live SQLite sidecar 时遇到 /root/.hermes/kanban.db-shm 消失,导致 local-dr-backup.service exit=3;同时 systemd 环境缺少 HOME/XDG_CACHE_HOME 产生缓存告警。 /root/scripts/backup-to-de.sh 中设置 HOME/XDG_CACHE_HOME,并排除 *.db-shm*.db-wal*.sqlite*-shm*.sqlite*-wal;同步当前 restic-excludes.txtbackup-to-gdrive.sh 同步设置缓存环境。 bash -n 通过;本地临时 restic 仓库 dry-run 证明 *.db-shm 被排除;systemctl --failed 清零。未手动触发真实 DE 备份,以遵守远程写入边界;下一次 timer 将做端到端验证。 /root/backups/codex-local-full-audit-repair-20260524T024339Z/backup-to-de.sh.bakbackup-to-gdrive.sh.bak
CLIProxyAPI 配置权限偏宽 /root/cliproxyapi/config.yaml 为 644,且包含 API/auth/management 相关配置键;虽然位于 root 路径,仍应最小权限。 权限收紧到 600;备份目录权限设为 700,敏感备份文件设为 600。 stat 显示 600;cliproxyapi.service active;本地 /v1/models 仍按预期返回 401。 /root/backups/codex-local-full-audit-repair-20260524T024339Z/cliproxyapi-config.yaml.bak

已自动处理的低风险项

项目处理证据
Hermes change inbox启动阶段已折叠到长期记忆和系统手册,并删除 inbox。/root/.hermes/HERMES_CHANGELOG_INBOX.md absent;长期记忆 195 行。
Usage Ledger 手动同步疑似异常未改代码;复核发现当前源码已包含必要导入,10:25 后服务已重启。执行本地和公网 POST 验证。本地 POST 200/ok=true;公网 POST 200/ok=true;最新导入 2026-05-24 10:47:21 CST。

未自动修复但建议处理

优先级项目原因建议
P1US 0.0.0.0:8317 Docker 监听US 上 CLIProxyAPI/relay 类端口暴露在所有地址,Docker 可能绕过 UFW 规则;需确认这是预期公开服务还是残留暴露。远程写操作需确认后处理。建议先在 US 本机确认容器用途、认证策略和云防火墙,再决定绑定 127.0.0.1 或加 nginx/安全组 allowlist。
P1/P2Google Drive DR 备份长时间运行local-dr-gdrive-backup.service 已运行约 5 小时,日志出现 cloud quota rateLimitExceeded,当前未失败但下一次触发被占用。不建议强杀。观察本轮是否完成;若持续超过备份窗口,调整 gdrive 频率或 rclone/restic 参数。
P2US fail2ban sshd-ddos filter 缺失fail2ban active,但日志显示该 jail 被跳过。远程确认后删除该 jail 或补齐 filter;当前 sshd jail 仍在工作。
P2TK nginx server_name 冲突nginx -t 成功但提示 tkk.88665577.xyz 80 端口重复,某个 server 块会被忽略。远程确认域名分工后合并或删除重复 server 块。
P2Hermes Discord platform 噪音多个 profile 日志出现 Discord 未配置 token 后 paused;Telegram 主链路未受影响。若不使用 Discord,后续可显式禁用该 platform,减少日志噪音;涉及 profile 配置和 gateway 重启,未在本轮自动做。

可忽略项

远程 VPS 只读摘要

主机健康度证据待处理
US / 186.244.244.52Ubuntu 24.04.4;0 failed units;根分区 42%;nginx/fail2ban/docker active;SSH key-only。0.0.0.0:8317 暴露需确认;fail2ban sshd-ddos filter 缺失。
TK / 103.232.213.10Ubuntu 22.04.5;0 failed units;根分区 47%;nginx/xray/fail2ban active;SSH key-only。nginx 80 端口 server_name 冲突;UFW inactive 属于既有远程策略,未改。
DE / 47.254.140.158Ubuntu 24.04.4;0 failed units;根分区 52%;nginx/xray/fail2ban/rest-server-local-dr active;rest-server 仅监听 127.0.0.1:8000。未发现 P0/P1;UFW inactive 属于既有远程策略,未改。

备份与回滚路径

下一步建议

  1. 等 2026-05-24 12:28 CST 的 local-dr-backup.timer 跑完后复核一次 DE 备份是否端到端成功。
  2. 确认 US 8317 是否应该公网监听;若不是,安排远程收敛绑定或 allowlist。
  3. 观察 Google Drive DR 备份是否因 quota 长时间卡住,必要时调低频率或分层备份。
  4. 如不使用 Discord,安排一次 profile 配置清理并逐个重启 gateway。
  5. 后续维护 TK nginx 重复 server_name,消除 reload 警告。