Configure failover automático entre provedores LLM com classificacao inteligente de erros, cooldown exponencial e monitoramento de saude.
O ChatCLI suporta uma cadeia de failover automático entre provedores LLM. Quando o provedor primário falha (rate limit, timeout, erro de servidor), o sistema tenta automaticamente o próximo provedor na cadeia, de forma totalmente transparente.
A cadeia de fallback e uma lista ordenada de provedores. Cada request percorre a lista até obter sucesso ou esgotar todas as opcoes:
Request -> OpenAI (primário) | falhou (rate limit) Claude (secundário) | falhou (timeout) Google AI (terciario) | sucesso Resposta retornada ao usuário
Após falhas consecutivas, o provedor entra em cooldown com backoff exponencial:
Falhas Consecutivas
Cooldown
1
30s
2
60s
3
120s
4
240s
5+
300s (max)
No modo CLI interativo, erros de autenticação (401) disparam automaticamente o refresh do token OAuth e retentam o request. No modo servidor (fallback chain), erros de autenticação recebem cooldown máximo imediato (5m). Um request bem-sucedido limpa todo o cooldown do provedor. Use ResetCooldowns() para limpar manualmente (ex: após atualizar credenciais).
A cadeia de fallback também suporta SendPromptWithTools para provedores que implementam a interface ToolAwareClient. Provedores sem suporte a tool use nativo são automaticamente ignorados na cadeia de tool calls.
Coloque o provedor mais barato/rápido primeiro na cadeia.
Diversifique provedores
Misture provedores de diferentes empresas para resiliencia real.
Configure modelos por provedor
Use modelos equivalentes em capacidade para manter qualidade.
Monitore a saude
Verifique regularmente se algum provedor está em cooldown persistente.
Fallback nativo do OpenRouter: Além do sistema de fallback do ChatCLI (entre provedores), o OpenRouter oferece seu próprio roteamento de fallback dentro do provedor. Configure OPENROUTER_FALLBACK_MODELS com modelos alternativos (ex: openai/gpt-4o,google/gemini-2.5-flash). Se o modelo principal falhar, o OpenRouter tenta os alternativos antes de devolver o erro ao ChatCLI. Os dois mecanismos são complementares.
Cada provedor na cadeia precisa de sua propria API key configurada. Certifique-se de configurar as chaves de todos os provedores listados em CHATCLI_FALLBACK_PROVIDERS.