Codex CLI con modelli UE: Kimi K3, GLM 5.3 e DeepSeek V4.1 Flash tramite un provider personalizzato

Scheda di configurazione di Codex con le righe model_provider nodion e wire_api responses, collegata a una scheda del modello Kimi K3 con un chip verde Connected e, sotto, i riquadri di GLM 5.3 e DeepSeek

In breve

  • Codex CLI funziona con l'AI Gateway di Nodion grazie a un provider personalizzato in ~/.codex/config.toml: base URL https://api.nodion.ai/v1, env_key = "NODION_AI_KEY" e wire_api = "responses", l'unica wire API che Codex accetta ancora.
  • Il gateway instrada solo verso provider con sede nell'UE, che servono tutti con zero data retention, e Codex chiama Kimi K3, GLM 5.3 e DeepSeek V4.1 Flash con la tua chiave API di Nodion, senza un account presso i provider.
  • Codex non conosce questi id di modello e ripiega su una finestra di contesto di 272.000 token, inferiore al valore del catalogo; da Codex 0.134.0 ogni profilo è un file separato in ~/.codex, e un .codex/config.toml di progetto non può impostare il provider.
  • Il /v1/responses di Nodion è stateless: Codex invia l'intera conversazione a ogni richiesta, la ricerca web funziona e nessuna risposta viene salvata; i dettagli sono nel riferimento dell'API AI.

Codex CLI può usare qualsiasi provider che supporti la OpenAI Responses API. L'AI Gateway di Nodion su https://api.nodion.ai/v1 offre /v1/responses, quindi basta un blocco di configurazione del provider in ~/.codex/config.toml per usare Codex con Kimi K3, GLM 5.3 o DeepSeek V4.1 Flash. Il gateway instrada solo verso provider con sede nell'UE, tutti con zero data retention. Non ti serve un account presso quei provider: Codex chiama tutto con la tua chiave API di Nodion.

Questa guida segue la documentazione di Codex aggiornata alla release 0.165.0 (ottobre 2026).

Cosa ti serve

  • Un account Nodion e un progetto con AI Inference.
  • Una chiave API: una chiave di inferenza da AI Inference → Keys (inizia con nodion_ai_ e viene mostrata una sola volta), oppure una chiave che crei sul tuo AI Coding Plan. Le chiavi per l'API della piattaforma Nodion qui non funzionano.
  • Credito prepagato, a meno che la chiave non sia associata a un AI Coding Plan.
  • Codex CLI. I file di profilo più avanti richiedono la 0.134.0 o successiva.

Imposta la chiave nella shell in cui gira Codex:

export NODION_AI_KEY=nodion_ai_your_key

Aggiungi Nodion come provider personalizzato

Apri ~/.codex/config.toml e aggiungi:

# ~/.codex/config.toml
model = "moonshot/kimi-k3"
model_provider = "nodion"

[model_providers.nodion]
name = "Nodion"
base_url = "https://api.nodion.ai/v1"
env_key = "NODION_AI_KEY"
wire_api = "responses"
  • model è l'ID del modello nel catalogo Nodion, barra inclusa.
  • model_provider seleziona il blocco sottostante. Gli ID openai, ollama e lmstudio sono riservati, quindi il provider ha bisogno di un ID proprio.
  • env_key indica la variabile d'ambiente che contiene la chiave. I provider personalizzati non richiedono il login OpenAI, a meno che tu non imposti requires_openai_auth.
  • wire_api = "responses" è l'unico valore che Codex accetta, ed è quello predefinito. Codex rifiuta le configurazioni più vecchie con wire_api = "chat" quando le legge: `wire_api = "chat"` is no longer supported.

Fonti, verificate a ottobre 2026: riferimento della configurazione di Codex, discussione #7782, model-provider-info.

Scegli un modello

Tre modelli per la chat dall'elenco degli AI Coding Plans, tutti con supporto ai tool e al reasoning:

ModelloIDInputContesto (catalogo)Output max
Kimi K3moonshot/kimi-k3Testo, immagini, video1.048.57632.768
GLM 5.3z-ai/glm-5.3Testo1.048.576131.072
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flashTesto, immagini1.048.576393.216

Per cambiare modello in una sessione usa -m (--model); il provider resta quello della tua configurazione:

codex -m z-ai/glm-5.3
codex -m deepseek/deepseek-v4.1-flash

Ora i profili sono file separati

Da Codex 0.134.0, --profile non legge più le tabelle [profiles.name] da config.toml. Ogni profilo è un file separato, ~/.codex/<name>.config.toml, con chiavi di primo livello che Codex sovrappone alla tua configurazione di base. Lascia il blocco del provider in config.toml e crea un profilo per ogni modello:

# ~/.codex/nodion-glm.config.toml
model = "z-ai/glm-5.3"
model_provider = "nodion"
codex --profile nodion-glm
codex exec --profile nodion-glm "Summarize the open TODOs in this repo"

Le configurazioni di progetto non possono impostare il provider

Per i progetti attendibili Codex legge un .codex/config.toml all'interno del repository, ma lì ignora model_provider e model_providers e mostra un avviso all'avvio. Il blocco del provider va quindi in ~/.codex/config.toml o in un file di profilo. Se le tue impostazioni sembrano non avere effetto, /debug-config mostra quali livelli di configurazione Codex ha caricato.

Fonti: configurazione avanzata di Codex, basi della configurazione di Codex, comandi slash.

Il limite della finestra di contesto

Codex non ha metadati integrati per questi ID di modello. Segnala Unknown model moonshot/kimi-k3 is used. This will use fallback model metadata. e usa una finestra di contesto di 272.000 token. model_context_window può abbassare questo valore ma non alzarlo. In Codex, quindi, il contesto utilizzabile resta sotto i 1.048.576 token che il catalogo indica per tutti e tre i modelli. Questo avviso è normale.

Fonte: model_info.rs nel repository di Codex.

Verifica la configurazione

Avvia codex in un repository ed esegui /status. Mostra la configurazione della sessione: il modello attivo, la policy di approvazione, le directory scrivibili e il contesto rimanente. Questo non conferma che una chiamata sia riuscita: invia quindi un primo prompt, ad esempio “Spiega in due frasi cosa fa questo repository.” Se arriva una risposta, la chiave, l'URL di base e l'ID del modello funzionano. Le schede Usage e Requests in AI Inference mostrano il traffico.

Cosa comporta in pratica un endpoint /v1/responses senza stato

  • Non viene salvato nulla. Nodion non salva le risposte: store viene ignorato e la risposta riporta store: false. Non esistono previous_response_id, conversation né GET /v1/responses/{id}. Codex invia l'intera conversazione in input a ogni richiesta, quindi non ne ha bisogno.
  • Le sessioni lunghe costano di più a ogni turno. Ogni richiesta porta con sé la conversazione fin lì, quindi i token di input crescono con la sessione. L'input in cache viene fatturato al prezzo della cache quando la route lo riporta.
  • La ricerca web funziona. Il gateway esegue web_search da sé tramite la ricerca web di Nodion e restituisce la query e gli URL delle fonti in un elemento web_search_call. La ricerca restituisce risultati dall'indice (titolo, URL, snippet) e non apre pagine. Per impostazione predefinita al massimo 10 ricerche per risposta (max_tool_calls, fino a 20).
  • Tool: function, custom, namespace e web_search. Gli altri tool ospitati vengono rifiutati.
  • Gli output dei tool sono testo. Immagini e file negli output dei tool non raggiungono il modello; una nota nel testo li sostituisce.

Fatturazione: credito prepagato o coding plan

Le richieste con una chiave non legata a un piano vengono addebitate al credito prepagato: token di input e di output al prezzo del modello. Ogni ricerca web viene fatturata come una chiamata al tool di ricerca web e ogni turno del modello come una chat completion. Una chiave su un AI Coding Plan (Go, Pro o Max) usa invece l'utilizzo incluso nel piano per chat e tool. Questo utilizzo viene conteggiato in una finestra di 5 ore, una settimanale e una mensile. Quando esaurisci il limite in una di queste finestre, le richieste continuano sul credito prepagato solo se il piano consente l'uso del credito. I prezzi per modello sono nelle pagine dei modelli sotto AI Inference, i piani su AI Coding Plans.

Risoluzione dei problemi

  • 401: la chiave manca o è del tipo sbagliato. Le chiavi della piattaforma (nodion_…) non funzionano su questa API. Usa una chiave di inferenza (nodion_ai_…) o una chiave del tuo coding plan, e verifica che NODION_AI_KEY sia esportata nella shell che avvia Codex.
  • 400 per un tool: i tool ospitati diversi da web_search, come file_search o code_interpreter, vengono rifiutati con 400. Lo stesso vale per background, prompt, truncation: "auto", file_id e file_url.
  • 404 model not found: l'ID del modello è errato. curl https://api.nodion.ai/v1/models elenca gli ID esatti e non richiede una chiave.
  • 402: il credito non copre la richiesta, oppure è stato raggiunto un limite di spesa. Ricarica nella scheda Billing o controlla il limite giornaliero della chiave.
  • 503: nessuna route funzionante per il modello è compatibile con le impostazioni AI del progetto, ad esempio perché lì i suoi provider sono esclusi.

Fonti: riferimento dell'API AI: Responses API, errori e limiti, documentazione di AI Inference, AI Coding Plans.

Prossimi passi

Domande frequenti

Codex CLI può usare modelli diversi da quelli di OpenAI?

Sì. Codex supporta provider personalizzati che servono la OpenAI Responses API. Con un blocco model_providers per https://api.nodion.ai/v1 funziona con Kimi K3, GLM 5.3 o DeepSeek V4.1 Flash tramite l'AI Gateway di Nodion, che instrada solo verso provider con sede nell'UE.

Codex CLI supporta ancora wire_api = "chat"?

No. Codex rifiuta wire_api = "chat" quando legge la configurazione. "responses" è l'unico valore supportato ed è quello predefinito, quindi un provider personalizzato deve servire la Responses API.

Perché in Codex la finestra di contesto è più piccola di quella del modello?

Codex non ha metadati per gli id di modello che non conosce e ripiega su una finestra di 272.000 token. L'impostazione model_context_window può abbassare questo valore ma non alzarlo.

Posso pagare l'uso di Codex con un AI Coding Plan?

Sì. Una chiave creata su un AI Coding Plan di Nodion usa l'utilizzo incluso nel piano per chat e tool, conteggiato su finestre di 5 ore, settimanali e mensili. Le chiavi senza piano pagano dal credito prepagato.

Dai al tuo agente un cloud tutto suo.

Fino a 15 € di credito quando ti registri.

Continua con GitHub

oppure con l'email

Resta aggiornato.

Novità sul prodotto, niente spam. Puoi annullare l'iscrizione quando vuoi.