Aponte o Aider para uma base de API compatível com OpenAI.
Updated 2026-07-29
O Aider se conecta a endpoints compatíveis com OpenAI com duas variáveis de ambiente e um prefixo de modelo. Defina OPENAI_API_BASE para https://api.apisrouter.com/v1, rode aider --model openai/<model-id>, e as sessões de pair programming são roteadas por uma chave com todo modelo do catálogo endereçável.
Resposta rápida: duas variáveis de ambiente e um prefixo de modelo.
O caminho compatível com OpenAI documentado do Aider é exatamente este: exporte OPENAI_API_BASE com seu endpoint, exporte OPENAI_API_KEY com a chave dele, e prefixe o nome do modelo com openai/ para que o Aider fale o protocolo chat-completions com essa base. A string depois do prefixo é passada direto para o endpoint, então qualquer id que o gateway sirva vale, ids Claude e DeepSeek incluídos. Essa é a conexão inteira. No Mac e Linux use export; no Windows use setx e abra um shell novo, já que setx não afeta a sessão atual. Os mesmos valores podem viver no arquivo de configuração do Aider ou em um arquivo .env se você preferir configuração por projeto em vez de estado de shell.
export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...
aider --model openai/claude-sonnet-4-6Como o Aider resolve modelos e provedores.
O Aider (Aider-AI no GitHub, cerca de 47 mil estrelas) é o pair programmer de terminal original: ele mapeia seu repositório git, recebe pedidos de mudança em chat, edita arquivos diretamente e faz o commit do resultado. Por baixo dos panos ele roteia as chamadas de modelo pelo litellm, e é por isso que o prefixo openai/ importa: o litellm lê o prefixo para escolher um protocolo de provedor, e openai/ significa "chat-completions contra o que quer que OPENAI_API_BASE diga". Um nome de modelo sem prefixo tem seu provedor inferido pela grafia, o que roteia um id Claude para a API nativa da Anthropic e sua ANTHROPIC_API_KEY em vez do seu gateway. Há um comportamento específico do Aider que vale a pena conhecer antes da sua primeira sessão: ele mantém seu próprio registro de capacidades de modelo, e um modelo que ele não reconhece dispara o aviso "Unknown context window size and costs, using sane defaults", depois do qual o Aider assume uma janela de contexto ilimitada e custo zero. A sessão ainda funciona, mas dois subsistemas úteis degradam: o orçamento de tokens não consegue te avisar antes de você estourar o limite real de contexto, e a exibição de custo na sessão marca zero. A correção é um pequeno arquivo de metadados, coberto abaixo, e vale os dois minutos. O Aider também roda mais de um modelo por sessão. O modelo principal faz a codificação; um modelo fraco cuida das mensagens de commit e resumo do chat; e no modo arquiteto, um modelo editor separado aplica o plano. Cada um aceita o mesmo prefixo openai/, então todos os três podem rotear pelo gateway em uma única chave.
Configuração completa: conexão mais metadados de modelo.
A conexão são as duas variáveis acima. O polimento é registrar metadados para que o Aider trate os modelos do gateway como grandezas conhecidas. Crie .aider.model.metadata.json no seu diretório home, na raiz do repositório git, ou no diretório de trabalho (ou passe --model-metadata-file), com chaves pelo nome totalmente qualificado incluindo o prefixo openai/; o campo litellm_provider deve corresponder a esse prefixo. Com max_input_tokens registrado, o orçamento de contexto do Aider funciona contra a janela real do modelo em vez de assumir que ela é infinita. Um segundo arquivo opcional, .aider.model.settings.yml, ajusta o comportamento por modelo: edit_format controla como o Aider pede mudanças de código (variantes de diff para modelos que lidam bem com isso, arquivo inteiro para modelos que não lidam), e use_repo_map controla a inclusão de contexto do repositório. O Aider não consegue inferir o melhor formato de edição para um modelo que não reconhece, então declará-lo é a diferença entre um modelo parecer medíocre e performar no seu nível.
{
"openai/claude-sonnet-4-6": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"litellm_provider": "openai",
"mode": "chat"
},
"openai/deepseek-v4-pro": {
"max_input_tokens": 128000,
"max_output_tokens": 16000,
"litellm_provider": "openai",
"mode": "chat"
}
}Escolhendo os modelos principal, fraco e editor.
Sessões do Aider são longas e iterativas, o que torna a comparação de modelos incomumente honesta aqui: rode a mesma feature branch com dois modelos principais em dias diferentes e a diferença aparece em quantas vezes você digita /undo. Um endpoint torna cada candidato uma mudança de flag, e o uso por chave precifica cada experimento.
- O modelo principal carrega cada edição. Ele lê o mapa do repositório, raciocina sobre seus arquivos, e produz diffs, então é aqui que claude-sonnet-4-6 ou gpt-5.5 pertencem; um modelo que erra a sintaxe de diff custa seu tempo de revisão em cada mudança.
- O modelo fraco (--weak-model) escreve mensagens de commit e resume o histórico do chat. Ele dispara constantemente e nunca toca em código, então roteie-o para um id rápido e barato pelo mesmo gateway em vez de deixá-lo cair em outro lugar por padrão.
- O modo arquiteto separa o planejamento da edição: o modelo principal planeja, o modelo editor (--editor-model) aplica. Um raciocinador forte planejando com um id ajustado para código como kimi-k2.7-code aplicando é uma combinação que chaves de fornecedor único não conseguem expressar.
- deepseek-v4-pro e gpt-5.4 valem a pena testar como modelos principais do dia a dia em trabalho pesado de refatoração, onde o volume de tokens por sessão faz a diferença de preço se acumular.
Pague pelo uso · abaixo do preço oficial
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modelo | Preço oficial | Nosso preço |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| GPT-5.4 | $2.50 / $15.00 per M | $2.00 / $12.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Kimi K2.7 Code | $0.95 / $4.00 per M | $1.00 / $4.00 per M |
Os modos de falha específicos do Aider.
Confiar nos "sane defaults". O fallback de modelo desconhecido assume contexto ilimitado e custo zero. Na prática, isso significa que o Aider vai deixar tranquilamente uma sessão longa crescer além da janela real do modelo até o gateway rejeitar a requisição ou o modelo perder silenciosamente o contexto inicial, e o rastreador de custo não mostra nada o tempo todo. Registre os metadados; os dois problemas desaparecem. Esquecer o prefixo openai/. Sem ele, o litellm infere o provedor pelo nome do modelo. Ids Claude são roteados para a API da Anthropic e falham por falta de uma ANTHROPIC_API_KEY, o que parece um problema de chave quando é um problema de prefixo. Metadados que não correspondem. As entradas em .aider.model.metadata.json têm chave pelo nome totalmente qualificado, prefixo incluído, e litellm_provider deve concordar com esse prefixo. Uma chave de id puro ou um campo de provedor incompatível falha silenciosamente ao aplicar, e você volta para os padrões sem nenhum erro dizendo isso. Estado de shell no Windows. setx grava a variável só para shells futuros. Rodar aider no mesmo terminal em que você acabou de rodar setx usa o ambiente antigo, e o 401 resultante é um problema de ciclo de vida do shell, não de credenciais. O formato de edição errado. Um modelo não registrado recebe um formato de edição padrão que pode não ser o que ele lida melhor. Se um modelo forte continua produzindo edições que o Aider rejeita, defina edit_format explicitamente em .aider.model.settings.yml antes de concluir que o modelo não sabe programar.
Quem roteia o Aider por um gateway.
- Usuários diários do Aider que querem Claude, GPT e DeepSeek trocáveis por sessão com --model, sem manter uma conta de fornecedor por família de modelo.
- Desenvolvedores combinando um modelo principal de ponta com um modelo fraco rápido para mensagens de commit, ambos cobrados em uma chave com visibilidade por sessão.
- Usuários do modo arquiteto misturando um modelo de planejamento e um modelo de edição de fornecedores diferentes na mesma sessão.
- Times integrando engenheiros com um segredo em vez de uma checklist de chaves por fornecedor, com o uso por chave como relatório de gasto.
- Desenvolvedores sem acesso ao faturamento de um determinado fornecedor. O acesso baseado em recarga sem exigência de cartão remove a dependência de cadastro por provedor.
Verifique o endpoint e depure a primeira sessão.
Liste os modelos do gateway antes de começar; o id depois de openai/ precisa corresponder exatamente a um id servido, sufixos de versão incluídos. As falhas da primeira sessão se resolvem rápido. Um 401 significa que OPENAI_API_KEY não está visível para o shell que lançou o aider (novos shells apenas no Windows depois do setx; confira com echo no mesmo terminal). Um erro de modelo não encontrado do gateway é um erro de digitação no id. Um erro mencionando a chave de um fornecedor diferente significa que um nome de modelo sem prefixo foi roteado nativamente. E o aviso de modelo desconhecido na inicialização não é um erro, mas é sua deixa para adicionar o arquivo de metadados antes de uma sessão longa, não depois de esbarrar no limite real de contexto. Na sessão, a leitura própria de token e custo do Aider fica precisa assim que os metadados são registrados, e o console da APIsRouter mostra as mesmas sessões pelo lado do endpoint: modelo, contagens de token e gasto por requisição. Para um pair programmer usado o dia inteiro, essa visão por chave é a resposta honesta para quanto uma semana de Aider realmente custa.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | head -50Perguntas frequentes
Como eu conecto o Aider a um endpoint compatível com OpenAI?
Exporte OPENAI_API_BASE com a URL do endpoint e OPENAI_API_KEY com a chave dele, depois rode aider --model openai/<model-id>. Esse é o caminho openai-compat documentado do Aider; o prefixo openai/ diz à sua camada litellm para falar chat-completions com sua base URL.
O Aider pode rodar modelos Claude ou DeepSeek com essa configuração?
Sim. O id depois de openai/ é passado para o endpoint como uma string simples, então qualquer modelo que o gateway sirva funciona: aider --model openai/claude-sonnet-4-6 ou openai/deepseek-v4-pro. Mantenha o prefixo, ou o id tem seu provedor inferido e é roteado para longe da sua base.
O que significa o aviso "Unknown context window size and costs"?
O Aider não reconhece o modelo, então assume uma janela de contexto ilimitada e custo zero. As sessões funcionam, mas o orçamento de contexto e a exibição de custo ficam errados. Registre o modelo em .aider.model.metadata.json, com chave pelo nome totalmente qualificado openai/, e o aviso e os dois problemas desaparecem.
O modelo fraco e o modelo editor também roteiam pelo gateway?
Sim, se você apontá-los para lá: --weak-model openai/<fast-id> para mensagens de commit e resumo, e --editor-model openai/<id> no modo arquiteto. Todos os três slots aceitam o prefixo, então uma chave pode cobrir uma mistura de principal/fraco/editor entre fornecedores.
Por que o Aider ainda está pedindo uma chave da Anthropic?
Um nome de modelo entrou sem o prefixo openai/. O litellm inferiu o fornecedor pelo nome e tentou a rota nativa da Anthropic, que quer ANTHROPIC_API_KEY. Adicione o prefixo e a requisição vai para OPENAI_API_BASE com sua chave de gateway.
Devo definir edit_format para modelos do gateway?
Para modelos que o Aider não reconhece, sim. edit_format em .aider.model.settings.yml controla como o Aider solicita mudanças de código, e modelos de ponta geralmente fazem seu melhor trabalho com um formato diff. Deixar um modelo desconhecido nos padrões pode fazer um modelo forte parecer pior do que é.