BaruArahkan agen apa pun ke UberLLM — satu key, semua model, harga resmi atau lebih murah.
UberLLM

Codex CLI dengan UberLLM: jalankan agen pengkodean OpenAI pada model apa pun

Ekspor UBERLLM_API_KEY, lalu tambahkan tabel [model_providers.uberllm] ke ~/.codex/config.toml dengan base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY dan wire_api "responses", dan atur model_provider = "uberllm" ditambah model id. UberLLM melayani panggilan Responses API Codex, sehingga perintah shell, pengeditan file, dan tugas multi-langkah berfungsi pada setiap model chat.

Langkah-langkah

  1. Buat kunci di halaman kunci Anda dan tambahkan kredit.
  2. Instal Codex jika Anda belum memilikinya: npm install -g @openai/codex.
  3. Masukkan kunci ke profil shell Anda (~/.zshrc atau ~/.bashrc) dan buka terminal baru:
export UBERLLM_API_KEY="ull_..."
  1. Buka ~/.codex/config.toml (buat jika belum ada) dan tambahkan:
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. Jalankan codex di folder proyek dan berikan tugas.

Pertahankan base_url yang diakhiri dengan /v1: Codex menambahkan /responses ke dalamnya. env_key adalah nama variabelnya, bukan kuncinya sendiri.

Ganti model

Teruskan -m untuk satu sesi, misalnya codex -m deepseek/deepseek-v4.1-flash untuk perbaikan kecil, atau ubah model di dalam file. ID model chat apa pun dari uberllm.dev/models berfungsi.

Untuk skrip dan CI, codex exec menjalankan satu tugas tanpa layar interaktif:

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

Pengaturan yang Patut Ditambahkan

  • model_context_window: Codex tidak tahu ukuran konteks model di luar daftar OpenAI dan mengasumsikan 272,000 token. Untuk model yang lebih kecil, atur angkanya dari halamannya di uberllm.dev/models (misalnya model_context_window = 131072), agar Codex memadatkan percakapan sebelum kehabisan ruang.
  • model_reasoning_effort: "low", "medium" atau "high" diteruskan ke model yang berpikir (DeepSeek, Kimi Thinking, GLM, GPT-5). Biarkan kosong untuk pengaturan default model.
  • web_search = "disabled": Pencarian web Codex berjalan di server milik OpenAI sendiri, jadi tidak bisa berjalan melalui penyedia lain. Dengan mematikannya, model tidak ditawari alat yang tidak bisa digunakannya.

Apa yang berfungsi

Setiap alat Codex adalah panggilan fungsi normal dari sisi API, jadi eksekusi perintah, pengeditan file, rencana, dan server MCP yang Anda tambahkan ke Codex semuanya berfungsi pada model apa pun yang menerima panggilan alat. Codex mengirimkan seluruh percakapan pada setiap giliran (store = false), jadi tidak ada yang disimpan di UberLLM di antara panggilan. Setiap panggilan muncul di Dashboard → Activity di bawah nama aplikasi codex, dengan biayanya.

Pemecahan Masalah

  • wire_api = "chat" tidak lagi didukung: Codex 0.95 dan yang lebih baru hanya mendukung Responses API. Atur wire_api = "responses".
  • 401 atau "Missing environment variable: UBERLLM_API_KEY": variabel tersebut tidak diekspor di terminal tempat Codex berjalan. Buka terminal baru setelah mengedit profil Anda, atau jalankan export UBERLLM_API_KEY=... terlebih dahulu.
  • 404 di setiap giliran: base_url tidak memiliki /v1. Itu harus persis https://api.uberllm.dev/v1.
  • "Model metadata for … not found. Defaulting to fallback metadata": Codex mencetak ini untuk setiap model di luar daftar OpenAI sendiri. Ini tidak berbahaya; atur model_context_window seperti di atas.
  • Model menjawab tetapi tidak pernah menjalankan perintah: pilih model dari tabel pertama. Model kecil cenderung keluar dari format alat Codex.
  • 402 kredit tidak mencukupi: tambahkan kredit di halaman kredit. Untuk batas keras, atur batas pengeluaran pada kunci tersebut.

Lanjutkan membaca

Model yang bekerja baik dengan Codex

Semua mendukung tool calls, yang digunakan Codex untuk setiap perintah dan pengeditan. Yang pertama ada di konfigurasi di bawah.

ModelID model (tempel ini)Harga sekarang
Kimi K3moonshotai/kimi-k3$0.00095 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.00032 input · $0.0145 output / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.0610 input · $0.3052 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.1907 input · $0.9534 output / 1M
DeepSeek V4 Prodeepseek/deepseek-v4-pro$0.0051 input · $0.0102 output / 1M
MiniMax M3minimax/minimax-m3$0.0177 input · $0.0708 output / 1M

Harga pada build per jam terakhir, tanpa tambahan biaya · semua model →

Model yang lebih murah untuk tugas kecil dan skrip exec codex

ModelID model (tempel ini)Harga sekarang
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 input · $0.0014 output / 1M
GLM 5.3z-ai/glm-5.3$0.00032 input · $0.0145 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

Harga pada build per jam terakhir, tanpa tambahan biaya · semua model →

FAQ

Apakah Codex CLI berfungsi dengan UberLLM?

Ya. Tambahkan penyedia model di ~/.codex/config.toml dengan base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY dan wire_api "responses". UberLLM menyediakan Responses API (POST /v1/responses) yang dipanggil Codex, dengan streaming dan tool calls.

Model apa saja yang bisa saya gunakan di Codex melalui UberLLM?

Model chat apa pun di katalog UberLLM yang mendukung tool calls, seperti DeepSeek, GLM, Kimi, Qwen Coder, Claude, dan GPT. Atur model ke ID-nya, misalnya deepseek/deepseek-v4.1-flash.

Apakah saya memerlukan previous_response_id atau respons yang tersimpan untuk Codex?

Tidak. Codex mengirimkan seluruh percakapan pada setiap permintaan dengan store diatur ke false, jadi UberLLM tidak menyimpan apa pun di antara panggilan.