model-failover
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseModel Failover Skill
模型故障转移Skill
Automatically switch between LLM providers when one fails. Supports configurable fallback chains, rate limiting, and health monitoring. Inspired by OpenClaw's model failover system.
当某一LLM提供商故障时,自动切换至其他提供商。支持可配置的备用链、速率限制和健康监控。灵感来源于OpenClaw的模型故障转移系统。
Setup
配置步骤
Configure your provider chain in environment variables:
bash
undefined在环境变量中配置你的提供商链:
bash
undefinedComma-separated list of providers (in fallback order)
按故障转移顺序排列的提供商列表(逗号分隔)
export LLM_PROVIDER_CHAIN="anthropic:claude-3-5-sonnet-20241022,openai:gpt-4o-mini,google:gemini-1.5-flash"
export LLM_PROVIDER_CHAIN="anthropic:claude-3-5-sonnet-20241022,openai:gpt-4o-mini,google:gemini-1.5-flash"
API keys for each provider
各提供商的API密钥
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GOOGLE_API_KEY="..."
undefinedexport ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GOOGLE_API_KEY="..."
undefinedUsage
使用方法
Chat with automatic failover
自动故障转移模式聊天
bash
{baseDir}/model-failover.js chat "Your message here"bash
{baseDir}/model-failover.js chat "你的消息内容"Add a new provider to the chain
向链中添加新提供商
bash
{baseDir}/model-failover.js add-provider anthropic claude-3-5-sonnet-20241022bash
{baseDir}/model-failover.js add-provider anthropic claude-3-5-sonnet-20241022Remove a provider from the chain
从链中移除提供商
bash
{baseDir}/model-failover.js remove-provider openaibash
{baseDir}/model-failover.js remove-provider openaiList providers in chain
列出链中的提供商
bash
{baseDir}/model-failover.js listbash
{baseDir}/model-failover.js listCheck provider health
检查提供商健康状态
bash
{baseDir}/model-failover.js healthbash
{baseDir}/model-failover.js healthReset failure counts
重置故障计数
bash
{baseDir}/model-failover.js resetbash
{baseDir}/model-failover.js resetConfiguration
配置项
| Environment Variable | Description | Default |
|---|---|---|
| Comma-separated | |
| Anthropic API key | - |
| OpenAI API key | - |
| Google API key | - |
| Custom provider API key | - |
| Max retries per provider | 2 |
| Delay between retries | 1000 |
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| 逗号分隔的 | |
| Anthropic API密钥 | - |
| OpenAI API密钥 | - |
| Google API密钥 | - |
| 自定义提供商API密钥 | - |
| 每个提供商的最大重试次数 | 2 |
| 重试间隔时长(毫秒) | 1000 |
Provider Format
提供商格式
provider:modelSupported providers:
- - Anthropic Claude models
anthropic - - OpenAI GPT models
openai - - Google Gemini models
google - - Custom OpenAI-compatible endpoint (set
custom)OPENAI_BASE_URL
provider:model支持的提供商:
- - Anthropic Claude系列模型
anthropic - - OpenAI GPT系列模型
openai - - Google Gemini系列模型
google - - 自定义OpenAI兼容端点(需设置
custom)OPENAI_BASE_URL
How It Works
工作原理
- Try the first provider in the chain
- If it fails (rate limit, error, timeout), wait and retry
- If retries exhausted, move to next provider
- Continue until success or all providers exhausted
- Track failures per provider for health monitoring
- 尝试链中的第一个提供商
- 若出现故障(速率限制、错误、超时),等待后重试
- 重试次数耗尽后,切换至下一个提供商
- 持续此过程直至请求成功或所有提供商尝试完毕
- 跟踪每个提供商的故障情况以实现健康监控