Chaves de API
Chaves de API são tokens de autenticação que permitem acessar APIs de provedores LLM. O AISCouncil usa um modelo BYOK (Bring Your Own Key) -- você obtém chaves diretamente de cada provedor e as armazena no seu navegador. Chaves nunca passam por nenhum servidor intermediário.
Onde Obter Chaves de API
Cada provedor tem seu próprio console de desenvolvedor onde você pode criar chaves de API:
| Provedor | URL do Console | Formato da Chave | Nível Gratuito |
|---|---|---|---|
| Anthropic | console.anthropic.com/settings/keys | sk-ant-api03-... | Não (créditos pré-pagos necessários) |
| OpenAI | platform.openai.com/api-keys | sk-proj-... ou sk-... | Não (créditos pré-pagos necessários) |
| xAI | console.x.ai | xai-... | $25 de crédito mensal gratuito |
| Google Gemini | aistudio.google.com/apikey | String alfanumérica | Sim (nível gratuito generoso, sem cartão de crédito) |
| OpenRouter | openrouter.ai/keys | sk-or-v1-... | Sim (20+ modelos gratuitos, sem cartão de crédito) |
| DeepSeek | platform.deepseek.com/api_keys | sk-... | Não (créditos pré-pagos necessários) |
| Groq | console.groq.com/keys | gsk_... | Sim (nível gratuito com rate limits) |
| Mistral | console.mistral.ai/api-keys | String alfanumérica | Não |
| Ollama | N/A (local) | Não necessária | Sim (roda localmente, sem chave necessária) |
Google Gemini e OpenRouter ambos oferecem níveis gratuitos sem cartão de crédito necessário. Gemini te dá acesso ao Gemini 2.5 Flash e Pro. OpenRouter te dá acesso a 20+ modelos gratuitos incluindo DeepSeek R1, Llama 3.3, Qwen 3 e mais. Estes são a maneira mais rápida de começar a conversar.
Como as Chaves São Armazenadas
Chaves de API são armazenadas no localStorage do seu navegador sob chaves específicas por provedor:
| Chave do localStorage | Provedor |
|---|---|
ais-apikey-anthropic | Anthropic (Claude) |
ais-apikey-openai | OpenAI (GPT) |
ais-apikey-xai | xAI (Grok) |
ais-apikey-gemini | Google Gemini |
ais-apikey-openrouter | OpenRouter |
ais-apikey-deepseek | DeepSeek |
ais-apikey-groq | Groq |
ais-apikey-mistral | Mistral |
Chaves são strings simples no localStorage. Elas são lidas sincronamente no boot para que o app possa determinar imediatamente quais provedores estão disponíveis.
Definindo Chaves de API
Via Diálogo de Configurações
- Abra Settings (ícone de engrenagem na barra lateral)
- Vá para a seção API Keys
- O painel de chaves mostra todos os provedores do registro de modelos, organizados por provedor
- Digite sua chave no campo para o provedor relevante
- Chaves são salvas imediatamente ao digitar
Via Painel de Config
- Abra o painel de config (barra lateral direita)
- O campo API Key na parte inferior mostra a chave para o provedor atualmente selecionado
- Digite ou atualize a chave diretamente
- A chave é salva quando você a altera
Via Console do Navegador
// Definir uma chave
localStorage.setItem("ais-apikey-anthropic", "sk-ant-api03-sua-chave-aqui");
// Ler uma chave
localStorage.getItem("ais-apikey-openai");
// Remover uma chave
localStorage.removeItem("ais-apikey-xai");
Modelo de Segurança
- Chaves nunca aparecem em URLs -- compartilhamento de bot codifica apenas configuração, nunca chaves
- Chaves nunca são exportadas -- a funcionalidade Export All Data explicitamente exclui todas as chaves de API
- Chaves nunca saem do seu navegador -- exceto quando enviadas diretamente para o endpoint de API do próprio provedor
- Chaves não são enviadas para aiscouncil.net -- o app faz zero requisições para seu próprio servidor com suas chaves
- Chaves nunca são logadas -- não no console, não em analytics, não em relatórios de erro
Quando você envia uma mensagem, a chamada de API vai diretamente do seu navegador para o provedor:
Seu Navegador --(HTTPS + chave de API)--> api.anthropic.com
Seu Navegador --(HTTPS + chave de API)--> api.openai.com
Seu Navegador --(HTTPS + chave de API)--> api.x.ai
Seu Navegador --(HTTPS + chave de API)--> generativelanguage.googleapis.com
Sem proxy, sem middleware, sem intermediário. A chave viaja sobre HTTPS diretamente para o provedor e para nenhum outro lugar.
Chaves de API Globais vs Por-Bot
O AISCouncil suporta dois níveis de chaves de API:
Chaves Globais (por provedor)
Definidas em Settings > API Keys. Estas são as chaves padrão usadas por todos os bots para um dado provedor. Armazenadas no localStorage como ais-apikey-{provedor}.
Chaves Por-Bot
Definidas no painel de config sob Per-Bot API Key. Isso sobrescreve a chave global para um bot específico apenas. Casos de uso:
- Chaves de API diferentes para projetos diferentes (faturamento separado)
- Testar uma nova chave sem afetar outros bots
- Usar uma chave com rate limits ou permissões diferentes
Chaves por-bot são armazenadas no objeto de config do bot (o campo k) em IndexedDB. Elas não são incluídas ao compartilhar uma URL de bot -- o destinatário usa suas próprias chaves.
Prioridade: Chave por-bot > Chave global do provedor
Se um bot tem uma chave por-bot definida, ele usa essa. Caso contrário, cai para a chave global daquele provedor.
Validação de Chave
O app não realiza validação explícita de chave ao salvar. Em vez disso, se uma chave for inválida, você verá um erro quando tentar enviar uma mensagem pela primeira vez. Erros comuns:
| Erro | Causa |
|---|---|
401 Unauthorized | Chave de API inválida ou chave foi revogada |
403 Forbidden | Chave não tem permissão para o modelo solicitado |
429 Too Many Requests | Rate limit excedido (tente novamente mais tarde) |
402 Payment Required | Créditos insuficientes ou faturamento expirado |
Rotacionando Chaves
Para rotacionar (trocar) uma chave:
- Gere uma nova chave no console do provedor
- Atualize a chave em Settings > API Keys
- A chave antiga é imediatamente substituída -- não há período de transição
A nova chave entra em vigor na próxima chamada de API. Sem restart ou reload necessário.
Notas Específicas por Provedor
Anthropic
- Chaves começam com
sk-ant-api03-(formato de terceira geração) - Requer créditos pré-pagos antes de qualquer uso de API
- Suporta o header
anthropic-dangerous-direct-browser-accesspara chamadas browser-direct - Rate limits dependem do seu nível de uso (1-4)
OpenAI
- Chaves de projeto começam com
sk-proj-; chaves legadas começam comsk- - Requer créditos pré-pagos ou um plano de faturamento ativo
- Alguns modelos (GPT-4, o1) requerem níveis de uso mais altos
xAI (Grok)
- Chaves começam com
xai- - Novas contas recebem $25/mês em créditos gratuitos
- Suporta vision e function calling
Google Gemini
- Chaves são strings alfanuméricas do Google AI Studio
- A chave de API é passada como um parâmetro de query
?key=(não um header Bearer) para evitar requisições CORS preflight - Nível gratuito inclui Gemini 2.5 Flash (10 RPM), Gemini 2.5 Pro (5 RPM) e Gemini 2.5 Flash-Lite (30 RPM)
- Sem cartão de crédito necessário para nível gratuito
OpenRouter
- Chaves começam com
sk-or-v1- - Fornece acesso a 300+ modelos de muitos provedores
- Modelos gratuitos estão disponíveis imediatamente (sem cartão de crédito)
- Modelos pagos são cobrados através do próprio sistema de faturamento do OpenRouter
DeepSeek
- Chaves começam com
sk- - Preços são significativamente mais baixos que outros provedores
- Suporta raciocínio (DeepSeek R1) e codificação (DeepSeek Coder)
Groq
- Chaves começam com
gsk_ - Especializa em inferência rápida
- Nível gratuito disponível com rate limits
- Suporta modelos Llama, Mixtral e Gemma
Ollama
- Sem chave de API necessária -- Ollama roda localmente na sua máquina
- O app usa o valor placeholder
'ollama'internamente - Requer que Ollama esteja instalado e rodando (
ollama serve) - Defina
OLLAMA_ORIGINS=*para acesso CORS do navegador - Modelos são detectados automaticamente via
GET /api/tags
Solução de Problemas
Erro "No API key"
- Verifique se você digitou uma chave para o provedor correto em Settings
- Verifique se o dropdown de provedor no painel de config corresponde à chave que você definiu
- Tente colar a chave novamente -- alguns gerenciadores de senha podem alterar a área de transferência
"401 Unauthorized" ou "Invalid API key"
- Regenere a chave no console do provedor
- Certifique-se de que a chave não foi revogada ou expirou
- Para Anthropic, certifique-se de que você adicionou créditos à sua conta
- Para OpenAI, certifique-se de que seu plano de faturamento está ativo
"429 Too Many Requests"
- Você atingiu o rate limit do provedor
- Espere um minuto e tente novamente
- Considere atualizar seu nível de uso com o provedor
- Para modelos de nível gratuito, rate limits são mais baixos (ex: Gemini gratuito: 10 RPM)
"402 Payment Required"
- Seus créditos pré-pagos acabaram
- Adicione mais créditos no dashboard de faturamento do provedor
- Mude para um modelo de nível gratuito (Gemini, modelos gratuitos OpenRouter)
Chaves desaparecem após limpar dados do navegador
localStorageé limpo quando você limpa dados do navegador, dados do site ou cookies- Exporte suas chaves antes de limpar (copie manualmente, já que são excluídas do export de dados)
- Considere usar um gerenciador de senhas para armazenar suas chaves de API
Nunca compartilhe suas chaves de API com ninguém. Nunca as cole em mensagens de chat públicas, fóruns ou repositórios de código. Se uma chave for comprometida, revogue-a imediatamente no console do provedor e gere uma nova.