斷路器與故障轉移
Claudex 為每個提供商 profile 內建斷路器,在偵測到故障時自動轉移到備用提供商。
success ┌──────────────┐ │ │ ▼ failure │ Closed ────────► Open ▲ │ │ timeout │ │ expired ▼ └─────────── HalfOpen │ failure → back to Open| 狀態 | 行為 |
|---|---|
| Closed | 正常運作。請求通過。計算失敗次數。 |
| Open | 請求被封鎖。觸發故障轉移到備用提供商。 |
| HalfOpen | 復原逾時後,允許一個探測請求通過。成功則回到 Closed;失敗則回到 Open。 |
| 參數 | 值 |
|---|---|
| 失敗閾值 | 連續 3 次失敗 |
| 復原逾時 | 30 秒 |
故障轉移設定
Section titled “故障轉移設定”在你的 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 次時:
grok的斷路器開啟- 請求改用
deepseek重試 - 若
deepseek也失敗,改試chatgpt - 每個備用提供商都有自己獨立的斷路器
OAuth 401 重試
Section titled “OAuth 401 重試”OAuth profile 的 HTTP 401 回應會有特殊處理:
- 代理使當前 OAuth token 失效
- 嘗試從憑證鏈重新載入新 token
- 使用新 token 重試請求
- 只有在重試也失敗時才計為斷路器失敗
這可防止暫時性 token 過期觸發不必要的故障轉移。
背景健康檢查器每約 30 秒運行一次,向所有已啟用的 profile 發送輕量探測請求。健康狀態在 TUI 儀表板中以顏色標示:
- 綠色:正常
- 黃色:降級(最近有失敗)
- 紅色:斷路器開啟