跳转到内容

断路器与故障转移

Claudex 为每个提供商 profile 内置了断路器,当检测到故障时自动转移到备用提供商。

成功
┌──────────────┐
│ │
▼ 失败 │
Closed ────────► Open
▲ │
│ 超时 │
│ 到期 ▼
└─────────── HalfOpen
失败 → 回到 Open
状态行为
Closed正常运行。请求正常通过。记录失败次数。
Open请求被阻止。触发故障转移到备用提供商。
HalfOpen恢复超时后,允许一个探针请求通过。成功 → Closed;失败 → 回到 Open。
参数
故障阈值连续 3 次失败
恢复超时30 秒

在 profile 中定义备用提供商以启用自动故障转移:

[[profiles]]
name = "grok"
provider_type = "OpenAICompatible"
base_url = "https://api.x.ai/v1"
api_key = "xai-..."
default_model = "grok-3-beta"
backup_providers = ["deepseek", "chatgpt"] # 故障转移链

grok 连续失败 3 次时:

  1. grok 的断路器打开
  2. 请求重试 deepseek
  3. 如果 deepseek 也失败,尝试 chatgpt
  4. 每个备用提供商有独立的断路器

后台健康检查器每 ~30 秒运行一次,向所有启用的 profile 发送轻量探针请求。健康状态在 TUI 仪表盘中以颜色显示:

  • 绿色:健康
  • 黄色:降级(近期有失败)
  • 红色:断路器已打开