Clash AI 路由健康监控
2026-10-24:用户授权通过脚本管理 Clash Verge,维持网络稳定。采用本地 Mihomo API,不操作 GUI、不更换订阅、不重启核心、不清空连接。
实现与边界
- 脚本:
${HOME}/.local/bin/clash-health-watch.py - 用户级服务/定时器:
clash-health-watch.service、clash-health-watch.timer,每次结束后约 120 秒再运行。 - 状态:
~/.local/state/clash-health-watch/status.json;日志:journalctl --user -u clash-health-watch.service。 - 从 Clash 运行配置在内存读取 API 凭据,不输出凭据;仅允许控制器
${LOCALIP}:9097。 - 并行通过 7890 代理探测 Discord gateway、ChatGPT Codex models、OpenAI OIDC discovery。未认证 models 返回 401 仅表示网络可达,不验证账号或推理权限。
- 连续两次 OpenAI 目标异常或超过 8 秒、且距上次成功刷新至少 15 分钟时,对现有 AI-JP URLTest 组请求目标站健康重测。不会 PUT 切换节点或改写规则;不承诺重测一定改变节点或修复故障。
- 现有 AI-JP 原配置用 gstatic 204 探测,不能代表 OpenAI 可用性。该脚本增加目标站观察,但没有更改该配置。
实际验证
- systemd 服务 Result=success、ExecMainStatus=0;timer active。
- 随后直接执行一次:Discord 200 / 0.88 秒,ChatGPT 未认证 401 / 7.94 秒,OIDC 200 / 1.39 秒;consecutive_bad=0,action=none。
- 已验证探测和调度路径;异常触发的组重测与故障恢复效果尚未验收,不虚构成功切换。
运维
- 查看:
systemctl --user status clash-health-watch.timer。 - 暂停:
systemctl --user disable --now clash-health-watch.timer(不影响 Clash)。 - 修改前读现状;不能把 403 HTML 直接归为账号失效,不能把 401 连通探测视为认证成功。
2026-10-24 变更记录(AI-JP 落地)
- 为该 profile(
ReWD5pdR3veG良心云)新增独立AI-JP组(URLTest,15 个日本节点)并把 OpenAI 域名规则置顶到profiles/rowtiBGeJUY.yaml,组写入gE8K9oyST55e.yaml;全局Merge.yaml不生效(该 profile 用独立增强链)。 良心云持久选点改为🇯🇵日本专线03|BGP|流媒体;OpenAI 不再受兜底组选点影响。- 改完必须重启 GUI 才重新生成配置:
~/.local/bin/pskill /usr/bin/clash-verge; setsid nohup /usr/bin/clash-verge &。 - soma 的 4 条 openai-codex 凭证
auth refresh全部 ok(此前 403 为出口地区所致,非过期)。 - 2026-10-25 08:14 复测:Discord/ChatGPT backend(401)/OIDC 全绿、~0.3s;hermes 最后一次 403 停在 10-24 16:01。