NovitàCollega qualsiasi agente a UberLLM: una chiave, tutti i modelli, a prezzo di listino o meno.
UberLLM

Codex CLI con UberLLM: esegui l'agente di codifica di OpenAI su qualsiasi modello

Esporta UBERLLM_API_KEY, quindi aggiungi una tabella [model_providers.uberllm] a ~/.codex/config.toml con base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY e wire_api "responses", e imposta model_provider = "uberllm" più l'ID del modello. UberLLM gestisce le chiamate API Responses di Codex, quindi i comandi shell, le modifiche ai file e le attività multi-step funzionano su ogni modello di chat.

Passaggi

  1. Crea una chiave sulla tua pagina delle chiavi e aggiungi credito.
  2. Installa Codex se non lo hai: npm install -g @openai/codex.
  3. Metti la chiave nel tuo profilo shell (~/.zshrc o ~/.bashrc) e apri un nuovo terminale:
export UBERLLM_API_KEY="ull_..."
  1. Apri ~/.codex/config.toml (crealo se manca) e aggiungi:
model = "moonshotai/kimi-k3"
model_provider = "uberllm"
web_search = "disabled"

[model_providers.uberllm]
name = "UberLLM"
base_url = "https://api.uberllm.dev/v1"
env_key = "UBERLLM_API_KEY"
wire_api = "responses"
  1. Esegui codex in una cartella di progetto e dagli un compito.

Mantieni base_url che termina con /v1: Codex vi aggiunge /responses. env_key è il nome della variabile, non la chiave stessa.

Cambio modelli

Passa -m per una sessione, ad esempio codex -m deepseek/deepseek-v4.1-flash per una piccola correzione, o cambia model nel file. Qualsiasi ID di modello di chat da uberllm.dev/models funziona.

Per script e CI, codex exec esegue un'attività senza la schermata interattiva:

codex exec --skip-git-repo-check "add a docstring to every function in utils.py"

Impostazioni utili da aggiungere

  • model_context_window: Codex non conosce la dimensione del contesto dei modelli al di fuori dell'elenco di OpenAI e assume 272,000 token. Per un modello più piccolo, imposta il numero dalla sua pagina su uberllm.dev/models (ad esempio model_context_window = 131072), in modo che Codex compatti la conversazione prima che esaurisca lo spazio.
  • model_reasoning_effort: "low", "medium" o "high" viene passato ai modelli che "pensano" (DeepSeek, Kimi Thinking, GLM, GPT-5). Lascialo fuori per il default del modello.
  • web_search = "disabled": La ricerca web di Codex viene eseguita sui server di OpenAI, quindi non può essere eseguita tramite un altro provider. Con essa disattivata, al modello non viene offerto uno strumento che non può usare.

Cosa funziona

Ogni strumento Codex è una normale chiamata di funzione dal lato dell'API, quindi le esecuzioni di comandi, le modifiche di file, i piani e i server MCP che aggiungi a Codex funzionano tutti su qualsiasi modello che accetta tool calls. Codex invia l'intera conversazione ad ogni turno (store = false), quindi nulla viene conservato su UberLLM tra una chiamata e l'altra. Ogni chiamata appare in Dashboard → Attività sotto il nome dell'app codex, con il suo costo.

Risoluzione dei problemi

  • wire_api = "chat" non è più supportato: Codex 0.95 e versioni successive supportano solo la Responses API. Imposta wire_api = "responses".
  • 401 o "Missing environment variable: UBERLLM_API_KEY": la variabile non è esportata nel terminale in cui è in esecuzione Codex. Apri un nuovo terminale dopo aver modificato il tuo profilo, oppure esegui export UBERLLM_API_KEY=... prima.
  • 404 ad ogni turno: A base_url manca /v1. Deve essere esattamente https://api.uberllm.dev/v1.
  • "Model metadata for … not found. Defaulting to fallback metadata": Codex lo stampa per ogni modello al di fuori dell'elenco di OpenAI. È innocuo; imposta model_context_window come sopra.
  • Il modello risponde ma non esegue mai un comando: scegli un modello dalla prima tabella. I modelli piccoli si discostano dal formato degli strumenti di Codex.
  • 402 crediti insufficienti: aggiungi credito sulla pagina dei crediti. Per un limite massimo, imposta un limite di spesa sulla chiave.

Continua a leggere

Modelli che gestiscono bene Codex

Tutti supportano le tool calls, che Codex usa per ogni comando e modifica. Il primo è nella configurazione qui sotto.

ModelloID del modello (incollalo)Prezzo attuale
Kimi K3moonshotai/kimi-k3$0.0010 input · $0.0788 output / 1M
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 input · $0.0014 output / 1M
GLM 5.3z-ai/glm-5.3$0.00070 input · $0.0141 output / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.1062 input · $0.5310 output / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 input · $0.0099 output / 1M
GPT-5.5openai/gpt-5.5$0.1250 input · $0.7500 output / 1M
Claude Opus 5.5anthropic/claude-opus-5.5$0.1605 input · $0.8023 output / 1M
DeepSeek V4 Prodeepseek/deepseek-v4-pro$0.0022 input · $0.0044 output / 1M
MiniMax M3minimax/minimax-m3$0.0127 input · $0.0507 output / 1M

Prezzi all’ultimo aggiornamento orario, senza commissioni aggiunte · tutti i modelli →

Modelli più economici per piccole attività e script di esecuzione di Codex

ModelloID del modello (incollalo)Prezzo attuale
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 input · $0.0014 output / 1M
GLM 5.3z-ai/glm-5.3$0.00070 input · $0.0141 output / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 input · $0.0099 output / 1M
DeepSeek V3.2deepseek/deepseek-v3.2$0.0026 input · $0.0039 output / 1M
GPT-OSS 120Bopenai/gpt-oss-120b$0.000069 input · $0.00030 output / 1M
Kimi K2 Thinkingmoonshotai/kimi-k2-thinking$0.0059 input · $0.0248 output / 1M

Prezzi all’ultimo aggiornamento orario, senza commissioni aggiunte · tutti i modelli →

Domande frequenti

La CLI di Codex funziona con UberLLM?

Sì. Aggiungi un provider di modelli in ~/.codex/config.toml con base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY e wire_api "responses". UberLLM serve l'API Responses (POST /v1/responses) che Codex chiama, con streaming e tool calls.

Quali modelli posso usare in Codex tramite UberLLM?

Qualsiasi modello di chat nel catalogo UberLLM che supporta le tool calls, come DeepSeek, GLM, Kimi, Qwen Coder, Claude e GPT. Imposta il modello al suo ID, per esempio deepseek/deepseek-v4.1-flash.

Ho bisogno di previous_response_id o di risposte memorizzate per Codex?

No. Codex invia l'intera conversazione ad ogni richiesta con store impostato su false, quindi UberLLM non conserva nulla tra una chiamata e l'altra.