model-failover
Model Failover 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.
Setup
Configure your provider chain in environment variables:
# Comma-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"
# API keys for each provider
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GOOGLE_API_KEY="..."
Usage
Chat with automatic failover
{baseDir}/model-failover.js chat "Your message here"
Add a new provider to the chain
{baseDir}/model-failover.js add-provider anthropic claude-3-5-sonnet-20241022
Remove a provider from the chain
{baseDir}/model-failover.js remove-provider openai
List providers in chain
{baseDir}/model-failover.js list
Check provider health
{baseDir}/model-failover.js health
Reset failure counts
{baseDir}/model-failover.js reset
Configuration
| Environment Variable | Description | Default |
|---|---|---|
LLM_PROVIDER_CHAIN |
Comma-separated provider:model pairs |
anthropic:claude-3-5-sonnet-20241022 |
ANTHROPIC_API_KEY |
Anthropic API key | - |
OPENAI_API_KEY |
OpenAI API key | - |
GOOGLE_API_KEY |
Google API key | - |
CUSTOM_API_KEY |
Custom provider API key | - |
MAX_RETRIES |
Max retries per provider | 2 |
RETRY_DELAY_MS |
Delay between retries | 1000 |
Provider Format
provider:model
Supported providers:
anthropic- Anthropic Claude modelsopenai- OpenAI GPT modelsgoogle- Google Gemini modelscustom- Custom OpenAI-compatible endpoint (setOPENAI_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
More from winsorllc/upgraded-carnival
vector-memory
Vector-based semantic memory using embeddings for intelligent recall. Store and search memories by meaning rather than keywords. Use when you need semantic search, similar document retrieval, or context-aware memory.
132model-router
Route requests between different LLM providers and models. Configure routing rules, fallback providers, and model-specific parameters inspired by ZeroClaw and OpenClaw model routing systems.
63rss-monitor
Monitor RSS/Atom feeds and blogs for new content using feedparser.
59rss-reader
Read and parse RSS/Atom feeds. Use when: user wants to subscribe to feeds, get latest articles, or monitor news sources.
55video-frames
Production-grade video frame extraction with thumbnail grids, GIF creation, and batch frame processing. Includes intelligent quality presets, progress tracking, and comprehensive error handling.
39elevenlabs-tts
Convert text to speech using ElevenLabs API. Use when you need to generate voice audio for messages, narrations, or accessibility.
25