Sobre o projeto

AI Switch é um 'hub local de chaves de API de IA' para quem gerencia chaves de relay ou de vários fornecedores em várias ferramentas de codificação de IA. Sua proposta é que mudar uma chave uma vez deve propagar para todas as ferramentas instaladas, e que uma chave quebrada não deve derrubar toda a pilha. Ele se posiciona como um utilitário de gerenciamento/sondagem/empurramento, não um cliente de chat. O que ele faz: - Armazenamento de chaves: tabela de chaves de vários fornecedores com busca, tags, ativação/desativação/exclusão em lote, importação em lote, mesclagem e deduplicação 'MetaAPI', para que as chaves vivam em um só lugar em vez de serem editadas manualmente em vários arquivos de config. - Verificações de saúde e endpoint: monitoramento de saúde agendado com detecção de endpoint por nível de modelo (Chat, Responses, Messages, Gemini), verificações de qualidade agrupadas por fornecedor com ações por fornecedor e por modelo, erros legíveis, intervalos de verificação adaptativos, desativação automática opcional e failover primário/secundário, além de um arquivo de chaves mortas. - Sincronização segura: apenas modelos com uma verificação de saúde e endpoint recente bem-sucedida são empurrados para os backends; uma prévia de sincronização é mostrada antes da escrita, e ferramentas não instaladas nunca são escritas. O README observa que as verificações de qualidade enviam quatro solicitações curtas por modelo e podem consumir quota do fornecedor, e que o suporte a endpoint é detectado por modelo — o modo automático usa endpoints verificados, enquanto o modo manual permite escolher entre formatos detectados. Backends suportados: OpenClaw (openclaw.json, perfis de auth, modelos), OpenCode (auth.json, opencode.jsonc), Claude Code (settings.json, ~/.claude.json), Codex CLI (auth.json, config.toml mais saúde de Responses), Cline / Aider / Continue.dev (configs de IDE e CLI), e Hermes Agent, QwenCode, Kimi Code e TRAE Work, conforme documentado em docs/backends.md. A página Backends relata cada um como Não instalado, Parado (sincronizável) ou Rodando. Famílias de endpoint listadas são openai_chat (OpenAI, DeepSeek, OpenRouter, Groq, Moonshot, Qwen e similares), anthropic, gemini e openai_responses. A lista de recursos também menciona 26+ fornecedores embutidos mais endpoints personalizados compatíveis com OpenAI, e adaptadores de backend plugáveis com um guia de contribuição. Interface e extras: Uma UI web com dashboard, status de sincronização de backends, monitor de saúde, um centro de tarefas não bloqueante, temas claro e escuro, e localização em inglês / chinês simplificado / chinês tradicional. Também incluídos: tipos de fornecedor (Público / Relay / Chave bruta) com filtragem no catálogo de modelos e check-in, arquivamento (ocultar, excluir de verificações de saúde, restaurar depois), URLs de check-in, orçamentos, exportação de perfil criptografado, pacote de diagnóstico, rotas downstream e pacotes de desktop. Instalação e execução: - Builds de releases para Windows x64, macOS Intel, macOS Apple Silicon e Linux x64: extraia e execute ai-switch / start.bat / start.sh, depois abra http://127.0.0.1:8787. - A partir do código-fonte: git clone, pip install -r requirements.txt, python3 run.py (Python 3.9+). - Launcher npm/npx: npx github:kingkate2009-droid/ai-switch, ou uma instalação global. - Docker: docker compose up -d. Um 'loop de 3 minutos' documentado é: adicione fornecedor e chave (ou importação inteligente), deixe a verificação de saúde passar, empurre para os backends com prévia primeiro, depois envie 'hi' de OpenCode / Codex / Claude Code. Configuração e segurança: Os dados são armazenados em ~/.ai-switch/ai-switch.db e o uso em ~/.ai-switch/usage.json; a porta padrão é 8787 (AI_SWITCH_PORT). O README afirma que as chaves vivem apenas em ~/.ai-switch/ e que este diretório nunca deve ser cometido, e menciona um token de acesso opcional em Configurações para exposição LAN. O estado existente de data.json é importado uma vez, com arquivos legados mantidos sob um sufixo .legacy para rollback. A porta configurada é fixa: a inicialização sai com um erro claro se estiver ocupada. O armazenamento de estado é SQLite transacional. Pilha e licença: Python + Flask, JS vanilla, SQLite, adaptadores plugáveis; Apache 2.0. A documentação cobre um início rápido, uma página de solução de problemas de conectividade do Codex, a matriz de backends e um guia de contribuição de adaptador.