Punta Aider verso una base API compatibile OpenAI.
Updated 2026-07-29
Aider si connette a endpoint compatibili OpenAI con due variabili d'ambiente e un prefisso di modello. Imposta OPENAI_API_BASE su https://api.apisrouter.com/v1, esegui aider --model openai/<model-id>, e le sessioni di pair programming si instradano attraverso una chiave con ogni modello del catalogo indirizzabile.
Risposta rapida: due variabili d'ambiente e un prefisso di modello.
Il percorso compatibile OpenAI documentato di Aider è esattamente questo: esporta OPENAI_API_BASE con il tuo endpoint, esporta OPENAI_API_KEY con la chiave per esso, e prefissa il nome del modello con openai/ così che Aider parli il protocollo chat-completions verso quella base. La stringa dopo il prefisso viene passata direttamente all'endpoint, quindi qualsiasi id servito dal gateway è utilizzabile, id Claude e DeepSeek inclusi. Questa è l'intera connessione. Su Mac e Linux usa export; su Windows usa setx e apri una nuova shell, dato che setx non influisce sulla sessione corrente. Gli stessi valori possono vivere nel file di configurazione di Aider o in un file .env se preferisci una configurazione per progetto invece dello stato di shell.
export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...
aider --model openai/claude-sonnet-4-6Come Aider risolve modelli e provider.
Aider (Aider-AI su GitHub, circa 47K stelle) è il pair programmer da terminale originale: mappa il tuo repo git, prende richieste di modifica in chat, modifica i file direttamente, e fa il commit del risultato. Sotto il cofano instrada le chiamate ai modelli tramite litellm, ed è per questo che il prefisso openai/ conta: litellm legge il prefisso per scegliere un protocollo di provider, e openai/ significa "chat-completions contro qualunque cosa dica OPENAI_API_BASE". Un nome di modello senza prefisso viene invece dedotto come provider dalla sua ortografia, il che instrada un id Claude verso l'API nativa di Anthropic e la tua ANTHROPIC_API_KEY invece che verso il tuo gateway. C'è un comportamento specifico di Aider che vale la pena conoscere prima della tua prima sessione: mantiene un proprio registro delle capacità dei modelli, e un modello che non riconosce fa scattare l'avviso "Unknown context window size and costs, using sane defaults", dopo di che Aider assume una finestra di contesto illimitata e costo zero. La sessione funziona comunque, ma due sottosistemi utili si degradano: il budgeting dei token non può avvisarti prima che tu superi il limite di contesto reale, e la visualizzazione del costo in sessione segna zero. La correzione è un piccolo file di metadata, trattato sotto, e vale i due minuti. Aider esegue anche più di un modello per sessione. Il modello main fa il coding; un modello weak gestisce i messaggi di commit e il riassunto della chat; e in modalità architect, un modello editor separato applica il piano. Ciascuno accetta lo stesso prefisso openai/, quindi tutti e tre possono instradare attraverso il gateway con una chiave.
Configurazione completa: connessione più metadata dei modelli.
La connessione è le due variabili sopra. Il rifinimento è registrare i metadata così che Aider tratti i modelli del gateway come quantità note. Crea .aider.model.metadata.json nella tua home directory, nella radice del repo git, o nella directory di lavoro (o passa --model-metadata-file), indicizzato per nome completamente qualificato incluso il prefisso openai/; il campo litellm_provider dovrebbe corrispondere a quel prefisso. Con max_input_tokens registrato, il budgeting del contesto di Aider funziona contro la finestra reale del modello invece di assumerla infinita. Un secondo file opzionale, .aider.model.settings.yml, regola il comportamento per modello: edit_format controlla come Aider chiede le modifiche al codice (varianti diff per i modelli che le gestiscono, whole-file per quelli che non lo fanno), e use_repo_map controlla l'inclusione del contesto del repo. Aider non può dedurre il miglior edit format per un modello che non riconosce, quindi dichiararlo è la differenza tra un modello che sembra mediocre e uno che rende al suo livello.
{
"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"
}
}Scegliere i modelli main, weak ed editor.
Le sessioni di Aider sono lunghe e iterative, il che rende il confronto tra modelli insolitamente onesto qui: esegui lo stesso feature branch con due modelli main in giorni diversi e la differenza si vede in quante volte digiti /undo. Un unico endpoint rende ogni candidato un cambio di flag, e l'utilizzo per chiave prezza ogni esperimento.
- Il modello main porta ogni modifica. Legge la mappa del repo, ragiona sui tuoi file, e produce diff, quindi è qui che appartengono claude-sonnet-4-6 o gpt-5.5; un modello che pasticcia con la sintassi diff ti costa tempo di revisione a ogni modifica.
- Il modello weak (--weak-model) scrive i messaggi di commit e riassume la cronologia della chat. Si attiva costantemente e non tocca mai il codice, quindi instradalo verso un id veloce ed economico attraverso lo stesso gateway invece di lasciarlo di default altrove.
- La modalità architect separa la pianificazione dalla modifica: il modello main pianifica, il modello editor (--editor-model) applica. Un ragionatore forte che pianifica con un id ottimizzato per il coding come kimi-k2.7-code che applica è un abbinamento che le chiavi a fornitore singolo non possono esprimere.
- deepseek-v4-pro e gpt-5.4 vale la pena testarli come modelli main daily-driver su lavori ricchi di refactoring, dove il volume di token per sessione fa accumulare la differenza di prezzo.
Pagamento a consumo · sotto i prezzi ufficiali
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modello | Prezzo ufficiale | Il nostro prezzo |
|---|---|---|
| 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 |
Le modalità di errore specifiche di Aider.
Fidarsi dei "sane defaults". Il fallback per modello sconosciuto assume contesto illimitato e costo zero. In pratica, questo significa che Aider lascerà volentieri che una sessione lunga cresca oltre la finestra reale del modello finché il gateway non rifiuta la richiesta o il modello perde silenziosamente il contesto iniziale, e il tracker dei costi non mostra nulla per tutto il tempo. Registra i metadata; entrambi i problemi scompaiono. Perdere il prefisso openai/. Senza di esso, litellm deduce il provider dal nome del modello. Gli id Claude si instradano verso l'API di Anthropic e falliscono per una ANTHROPIC_API_KEY mancante, il che sembra un problema di chiave quando è un problema di prefisso. Metadata che non corrisponde. Le voci in .aider.model.metadata.json sono indicizzate per nome completamente qualificato, prefisso incluso, e litellm_provider dovrebbe concordare con quel prefisso. Una chiave con id nudo o un campo provider non corrispondente non si applica silenziosamente, e ti ritrovi sui default senza un errore che lo dica. Stato della shell su Windows. setx scrive la variabile solo per le shell future. Eseguire aider nello stesso terminale in cui hai appena eseguito setx usa il vecchio ambiente, e il 401 risultante è un problema di ciclo di vita della shell, non un problema di credenziali. Il formato di modifica sbagliato. Un modello non registrato ottiene un edit format predefinito che potrebbe non essere quello che gestisce meglio. Se un modello forte continua a produrre modifiche che Aider rifiuta, imposta edit_format esplicitamente in .aider.model.settings.yml prima di concludere che il modello non sa programmare.
Chi instrada Aider tramite un gateway.
- Utenti quotidiani di Aider che vogliono Claude, GPT e DeepSeek commutabili per sessione con --model, senza mantenere un account fornitore per ogni famiglia di modelli.
- Sviluppatori che abbinano un modello main di frontiera con un modello weak veloce per i messaggi di commit, entrambi fatturati su una chiave con visibilità per sessione.
- Utenti della modalità architect che mescolano un modello di pianificazione e un modello di modifica da fornitori diversi nella stessa sessione.
- Team che integrano ingegneri con un solo segreto invece di una checklist di chiavi fornitore, con l'utilizzo per chiave come report di spesa.
- Sviluppatori senza accesso alla fatturazione di un dato fornitore. L'accesso basato su ricarica senza obbligo di carta rimuove la dipendenza dalla registrazione per provider.
Verifica l'endpoint e fai debug della prima sessione.
Elenca i modelli del gateway prima di iniziare; l'id dopo openai/ deve corrispondere esattamente a un id servito, suffissi di versione inclusi. I fallimenti della prima sessione si smistano rapidamente. Un 401 significa che OPENAI_API_KEY non è visibile alla shell che ha lanciato aider (solo nuove shell su Windows dopo setx; controlla con echo nello stesso terminale). Un errore modello-non-trovato dal gateway è un errore di battitura nell'id. Un errore che menziona la chiave di un fornitore diverso significa che un nome di modello senza prefisso si è instradato nativamente. E l'avviso modello-sconosciuto all'avvio non è un errore, ma è il tuo segnale per aggiungere il file di metadata prima di una sessione lunga, non dopo che una ha colpito il limite di contesto reale. In sessione, la lettura di token e costo propria di Aider diventa accurata una volta registrati i metadata, e la console di APIsRouter mostra le stesse sessioni dal lato endpoint: modello per richiesta, conteggi dei token e spesa. Per un pair programmer che lavora tutto il giorno, quella vista per chiave è la risposta onesta a quanto costa davvero una settimana di Aider.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | head -50Domande frequenti
Come collego Aider a un endpoint compatibile OpenAI?
Esporta OPENAI_API_BASE con l'URL dell'endpoint e OPENAI_API_KEY con la sua chiave, poi esegui aider --model openai/<model-id>. Questo è il percorso openai-compat documentato di Aider; il prefisso openai/ dice al suo layer litellm di parlare chat-completions verso il tuo base URL.
Aider può far girare modelli Claude o DeepSeek con questa configurazione?
Sì. L'id dopo openai/ viene passato direttamente all'endpoint come semplice stringa, quindi funziona qualsiasi modello servito dal gateway: aider --model openai/claude-sonnet-4-6 o openai/deepseek-v4-pro. Mantieni il prefisso, altrimenti l'id viene dedotto come provider e instradato lontano dalla tua base.
Cosa significa l'avviso "Unknown context window size and costs"?
Aider non riconosce il modello, quindi assume una finestra di contesto illimitata e costo zero. Le sessioni funzionano, ma il budgeting del contesto e la visualizzazione del costo sono sbagliati. Registra il modello in .aider.model.metadata.json, indicizzato per il suo nome completamente qualificato openai/, e l'avviso ed entrambi i problemi spariscono.
Anche il modello weak e il modello editor si instradano attraverso il gateway?
Sì, se li punti lì: --weak-model openai/<fast-id> per i messaggi di commit e il riassunto, e --editor-model openai/<id> in modalità architect. Tutti e tre gli slot accettano il prefisso, quindi una chiave può coprire un mix main/weak/editor tra fornitori diversi.
Perché Aider chiede ancora una chiave Anthropic?
Un nome di modello è stato inserito senza il prefisso openai/. litellm ha dedotto il fornitore dal nome e ha provato la via nativa di Anthropic, che vuole ANTHROPIC_API_KEY. Aggiungi il prefisso e la richiesta va invece a OPENAI_API_BASE con la tua chiave gateway.
Dovrei impostare edit_format per i modelli del gateway?
Per i modelli che Aider non riconosce, sì. edit_format in .aider.model.settings.yml controlla come Aider richiede le modifiche al codice, e i modelli di frontiera generalmente danno il meglio con un formato diff. Lasciare un modello sconosciuto sui default può far sembrare un modello forte peggiore di quanto sia.