容错配置帮助你的应用优雅地处理 API 故障,确保服务稳定性。
| 选项 | 默认值 | 说明 |
|---|---|---|
| 最大重试次数 | 3 | 失败后重试的最大次数 |
| 初始延迟 | 1s | 首次重试前的等待时间 |
| 最大延迟 | 30s | 重试延迟的上限 |
| 退避倍数 | 2 | 每次重试延迟的增长倍数 |
第1次重试: 1s
第2次重试: 2s
第3次重试: 4s
...
以下错误会触发重试:
不重试的错误:
| 选项 | 默认值 | 说明 |
|---|---|---|
| 连接超时 | 10s | 建立连接的超时时间 |
| 请求超时 | 120s | 整个请求的超时时间 |
| 流式超时 | 300s | 流式响应的超时时间 |
可以为不同 Provider 设置不同的超时:
timeouts:
default:
connect: 10s
request: 120s
kiro-claude:
request: 180s # Claude 响应较慢
gemini-cli:
request: 60s # Gemini 响应较快
当主 Provider 失败时,自动切换到备用 Provider:
failover:
enabled: true
providers:
- kiro-claude # 主 Provider
- claude-custom # 备用 Provider 1
- gemini-cli # 备用 Provider 2
maxAttempts: 3 # 最大尝试 Provider 数
| 条件 | 说明 |
|---|---|
| 连接失败 | 无法连接到 Provider |
| 认证失败 | Token 过期或无效 |
| 速率限制 | 达到 Provider 限制 |
| 服务不可用 | Provider 返回 503 |
| 状态 | 说明 |
|---|---|
| 关闭 | 正常工作,请求通过 |
| 打开 | 熔断激活,请求直接失败 |
| 半开 | 尝试恢复,允许部分请求 |
| 选项 | 默认值 | 说明 |
|---|---|---|
| 失败阈值 | 5 | 触发熔断的连续失败次数 |
| 恢复时间 | 30s | 熔断后尝试恢复的等待时间 |
| 半开请求数 | 3 | 半开状态允许的测试请求数 |
正常 → 连续失败5次 → 熔断打开
熔断打开 → 等待30s → 半开状态
半开状态 → 3次成功 → 恢复正常
半开状态 → 1次失败 → 重新熔断
当前支持: