Files
Aether/docs/api/provider-health-summary.md
T

3.2 KiB
Raw Blame History

提供商管理的端点健康度

以下管理接口使用相同的健康度汇总规则:

  • GET /api/admin/providers/summary
  • GET /api/admin/providers/{provider_id}/summary

统计规则

沿用 v0.7.13535ee098c)的默认健康规则:已启用密钥缺少该格式的健康记录时, 按 1.0 参与统计,而不是要求先有一次请求或探测才能显示健康。

  • 仅统计启用端点下、支持该端点 API 格式的启用密钥。
  • 每个密钥读取其 health_by_format[api_format].health_score,不跨格式借用分数。
  • 对上述启用密钥求算术平均;缺少有效分数的密钥沿用旧版默认值 1.0
  • 分数范围为 01,沿用调度器的分数读取与范围约束。
  • 停用端点或没有启用密钥时,端点的 health_score 返回 null
  • avg_health_score 仅平均有启用密钥的启用端点,包含按默认值计算的端点;没有此类端点时返回 null
  • unhealthy_endpoints 仅统计上述端点中健康度低于 0.5 的数量,不把未知状态算作故障。

total_keysactive_keys 仍反映密钥配置数量,不因缺少健康数据而减少。

Codex、Kiro、Gemini CLI、Antigravity 等固定提供商的账号按照各提供商的认证规则, 继承其启用端点的 API 格式;账号的 api_formatsnull 或空数组,不代表没有配置账号。 继承格式决定账号归属;缺少对应格式的分数时同样使用默认值 1.0,不借用其他格式的异常分数。

数据读取

摘要从密钥的轻量投影读取 API 格式、启用状态和 health_by_format。 PostgreSQL 投影中的凭据字段使用 summary / {} 等脱敏占位值,并非真实密文, 因此摘要读取不执行凭据解密、认证或迁移。完整密钥读取仍保留原有的凭据安全校验。

若将这些占位值送入凭据校验,读取会失败,旧的摘要聚合还会将其当作空密钥列表, 导致已配置密钥的端点也被错误显示为灰色。默认健康分数只能用于成功读取的启用密钥, 不能用于掩盖查询或凭据投影错误。

提供商、端点或密钥摘要查询失败时,接口返回 503,不能将失败当作空列表并返回零账号。 单个提供商确实不存在时仍返回 404。页面刷新失败保留已有列表,并显示加载错误。

页面展示

桌面表格、网格卡片和手机卡片使用相同规则:

  • 有健康数据时显示百分比;有效的零分显示 0%
  • 有启用密钥、但这些密钥尚无该格式的健康记录时,显示绿色 100%,与 v0.7.13 一致。
  • 端点停用、未配置密钥或没有启用密钥时显示灰色占位条和对应状态提示。

账号详情保留原有默认 100% 的规则。已有观测仍取各格式最低分;端点分数则只聚合对应格式, 两者统计范围不同,不要求百分比完全相等。调度器原有的缺省健康策略不变。

此分数是密钥当前健康状态的聚合,包含默认健康值,不是某个时间窗口内的请求成功率, 也不表示已经执行过主动探测。相比 v0.7.13,仍保留停用账号/端点不参与健康聚合、 凭据脱敏与查询失败显式报错等修复,不整体回退旧版代码。