NieuwKoppel elke agent aan UberLLM: één sleutel, elk model, voor de catalogusprijs of minder.
UberLLM

Codex CLI met UberLLM: voer OpenAI's coding agent uit op elk model

Exporteer UBERLLM_API_KEY, voeg vervolgens een [model_providers.uberllm] tabel toe aan ~/.codex/config.toml met base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY en wire_api "responses", en stel model_provider = "uberllm" in plus de model id. UberLLM bedient de Responses API Codex-aanroepen, zodat shell-commando's, bestandsbewerkingen en taken in meerdere stappen werken op elk chatmodel.

Stappen

  1. Maak een sleutel aan op je sleutels pagina en voeg tegoed toe.
  2. Installeer Codex als je het nog niet hebt: npm install -g @openai/codex.
  3. Plaats de sleutel in je shell profile (~/.zshrc of ~/.bashrc) en open een nieuwe terminal:
export UBERLLM_API_KEY="ull_..."
  1. Open ~/.codex/config.toml (maak het aan als het ontbreekt) en voeg toe:
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. Voer codex uit in een projectmap en geef het een taak.

Houd base_url eindigend in /v1: Codex voegt /responses eraan toe. env_key is de naam van de variabele, niet de sleutel zelf.

Modellen wisselen

Geef -m mee voor één sessie, bijvoorbeeld codex -m deepseek/deepseek-v4.1-flash voor een kleine aanpassing, of wijzig model in het bestand. Elke chat model id van uberllm.dev/models werkt.

Voor scripts en CI, voert codex exec één taak uit zonder het interactieve scherm:

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

Nuttige instellingen om toe te voegen

  • model_context_window: Codex kent de contextgrootte van modellen buiten de lijst van OpenAI niet en gaat uit van 272,000 tokens. Voor een kleiner model, stel het nummer in vanaf de pagina op uberllm.dev/models (bijvoorbeeld model_context_window = 131072), zodat Codex het gesprek comprimeert voordat de ruimte opraakt.
  • model_reasoning_effort: "low", "medium" of "high" wordt doorgegeven aan modellen die denken (DeepSeek, Kimi Thinking, GLM, GPT-5). Laat het weg voor de standaardinstelling van het model.
  • web_search = "disabled": De webzoekfunctie van Codex draait op de eigen servers van OpenAI, dus het kan niet via een andere provider draaien. Als het uitgeschakeld is, krijgt het model geen tool aangeboden die het niet kan gebruiken.

Wat werkt

Elke Codex tool is een normale functieaanroep vanuit de API, dus commando-uitvoeringen, bestandsbewerkingen, plannen en MCP servers die je toevoegt aan Codex werken allemaal op elk model dat tool calls accepteert. Codex stuurt de hele conversatie bij elke beurt (store = false), dus er wordt niets bewaard op UberLLM tussen aanroepen. Elke aanroep verschijnt in Dashboard → Activiteit onder de appnaam codex, met de bijbehorende kosten.

Probleemoplossing

  • wire_api = "chat" wordt niet langer ondersteund: Codex 0.95 en later spreken alleen de Responses API. Stel wire_api = "responses" in.
  • 401 of "Missing environment variable: UBERLLM_API_KEY": de variabele is niet geëxporteerd in de terminal waarin Codex draait. Open een nieuwe terminal na het bewerken van je profiel, of voer eerst export UBERLLM_API_KEY=... uit.
  • 404 bij elke beurt: base_url mist /v1. Het moet precies https://api.uberllm.dev/v1 zijn.
  • "Model metadata for … not found. Defaulting to fallback metadata": Codex print dit voor elk model buiten de eigen lijst van OpenAI. Het is onschadelijk; stel model_context_window in zoals hierboven.
  • Het model antwoordt, maar voert nooit een commando uit: kies een model uit de eerste tabel. Kleine modellen wijken af van het toolformaat van Codex.
  • 402 onvoldoende tegoed: voeg tegoed toe op de tegoedpagina. Voor een harde limiet, stel een bestedingslimiet in op de sleutel.

Lees verder

Modellen die Codex goed aansturen

Allemaal ondersteunen ze tool calls, die Codex gebruikt voor elk commando en elke bewerking. De eerste staat in de onderstaande configuratie.

ModelModel-ID (plak dit)Prijs nu
Kimi K3moonshotai/kimi-k3$0.0010 invoer · $0.0788 uitvoer / 1M
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 invoer · $0.0014 uitvoer / 1M
GLM 5.3z-ai/glm-5.3$0.00070 invoer · $0.0141 uitvoer / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.1099 invoer · $0.5495 uitvoer / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 invoer · $0.0099 uitvoer / 1M
GPT-5.5openai/gpt-5.5$0.1250 invoer · $0.7500 uitvoer / 1M
Claude Opus 5.5anthropic/claude-opus-5.5$0.1579 invoer · $0.7897 uitvoer / 1M
DeepSeek V4 Prodeepseek/deepseek-v4-pro$0.0016 invoer · $0.0032 uitvoer / 1M
MiniMax M3minimax/minimax-m3$0.0180 invoer · $0.0719 uitvoer / 1M

Prijzen van de laatste uurlijkse update, zonder toeslag · alle modellen →

Goedkopere modellen voor kleine taken en codex exec scripts

ModelModel-ID (plak dit)Prijs nu
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 invoer · $0.0014 uitvoer / 1M
GLM 5.3z-ai/glm-5.3$0.00070 invoer · $0.0141 uitvoer / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 invoer · $0.0099 uitvoer / 1M
DeepSeek V3.2deepseek/deepseek-v3.2$0.0026 invoer · $0.0039 uitvoer / 1M
GPT-OSS 120Bopenai/gpt-oss-120b$0.000069 invoer · $0.00030 uitvoer / 1M
Kimi K2 Thinkingmoonshotai/kimi-k2-thinking$0.0059 invoer · $0.0248 uitvoer / 1M

Prijzen van de laatste uurlijkse update, zonder toeslag · alle modellen →

Veelgestelde vragen

Werkt Codex CLI met UberLLM?

Ja. Voeg een modelprovider toe in ~/.codex/config.toml met base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY en wire_api "responses". UberLLM levert de Responses API (POST /v1/responses) die Codex aanroept, met streaming en tool calls.

Welke modellen kan ik gebruiken in Codex via UberLLM?

Elk chatmodel in de UberLLM-catalogus dat tool calls ondersteunt, zoals DeepSeek, GLM, Kimi, Qwen Coder, Claude en GPT. Stel het model in op zijn id, bijvoorbeeld deepseek/deepseek-v4.1-flash.

Heb ik previous_response_id of opgeslagen responses nodig voor Codex?

Nee. Codex stuurt de hele conversatie bij elk verzoek met store ingesteld op false, dus UberLLM bewaart niets tussen aanroepen.