Codex CLI với UberLLM: chạy tác nhân mã hóa của OpenAI trên bất kỳ mô hình nào
Xuất UBERLLM_API_KEY, sau đó thêm bảng [model_providers.uberllm] vào ~/.codex/config.toml với base_url https://api.uberllm.dev/v1, env_key UBERLLM_API_KEY và wire_api "responses", và đặt model_provider = "uberllm" cùng với model id. UberLLM phục vụ các lệnh gọi Responses API của Codex, vì vậy các shell commands, file edits và multi-step tasks hoạt động trên mọi chat model.
Các bước
- Tạo một khóa trên trang khóa của bạn và nạp tín dụng.
- Cài đặt Codex nếu bạn chưa có:
npm install -g @openai/codex. - Đặt khóa vào hồ sơ shell của bạn (
~/.zshrchoặc~/.bashrc) và mở một terminal mới:
export UBERLLM_API_KEY="ull_..."
- Mở
~/.codex/config.toml(tạo nó nếu chưa có) và thêm:
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"
- Chạy
codextrong một thư mục dự án và giao cho nó một nhiệm vụ.
Giữ base_url kết thúc bằng /v1: Codex sẽ thêm /responses vào đó. env_key là tên của biến, không phải bản thân khóa.
Thay đổi mô hình
Sử dụng -m cho một phiên, ví dụ codex -m deepseek/deepseek-v4.1-flash cho một sửa lỗi nhỏ, hoặc thay đổi model trong tệp. Bất kỳ ID mô hình trò chuyện nào từ uberllm.dev/models đều hoạt động.
Đối với các script và CI, codex exec chạy một tác vụ mà không cần màn hình tương tác:
codex exec --skip-git-repo-check "add a docstring to every function in utils.py"
Các cài đặt đáng thêm
model_context_window: Codex không biết kích thước ngữ cảnh của các mô hình ngoài danh sách của OpenAI và giả định 272,000 token. Đối với một mô hình nhỏ hơn, hãy đặt số từ trang của nó trên uberllm.dev/models (ví dụmodel_context_window = 131072), để Codex nén cuộc trò chuyện trước khi hết dung lượng.model_reasoning_effort:"low","medium"hoặc"high"được truyền cho các mô hình có khả năng suy nghĩ (DeepSeek, Kimi Thinking, GLM, GPT-5). Hãy bỏ qua nó để sử dụng cài đặt mặc định của mô hình.web_search = "disabled": Tìm kiếm web của Codex chạy trên máy chủ của OpenAI, vì vậy nó không thể chạy thông qua một nhà cung cấp khác. Khi tắt tính năng này, mô hình sẽ không được cung cấp một công cụ mà nó không thể sử dụng.
Những gì hoạt động
Mọi công cụ Codex đều là một lệnh gọi hàm thông thường từ phía API, vì vậy các lệnh chạy, chỉnh sửa tệp, kế hoạch và máy chủ MCP bạn thêm vào Codex đều hoạt động trên bất kỳ mô hình nào hỗ trợ tool calls. Codex gửi toàn bộ cuộc trò chuyện trong mỗi lượt (store = false), vì vậy không có gì được lưu giữ trên UberLLM giữa các lệnh gọi. Mỗi lệnh gọi hiển thị trong Dashboard → Activity dưới tên ứng dụng codex, cùng với chi phí của nó.
Khắc phục sự cố
wire_api = "chat"không còn được hỗ trợ: Codex 0.95 trở lên chỉ giao tiếp bằng Responses API. Đặtwire_api = "responses".- 401 hoặc "Missing environment variable: UBERLLM_API_KEY": biến này chưa được xuất trong terminal mà Codex đang chạy. Mở một terminal mới sau khi chỉnh sửa hồ sơ của bạn, hoặc chạy
export UBERLLM_API_KEY=...trước. - 404 ở mỗi lượt:
base_urlbị thiếu/v1. Nó phải chính xác làhttps://api.uberllm.dev/v1. - "Model metadata for … not found. Defaulting to fallback metadata": Codex in thông báo này cho mọi mô hình không nằm trong danh sách của OpenAI. Điều này vô hại; đặt
model_context_windownhư trên. - Mô hình trả lời nhưng không bao giờ chạy lệnh: chọn một mô hình từ bảng đầu tiên. Các mô hình nhỏ có thể lệch khỏi định dạng công cụ của Codex.
- 402 không đủ tín dụng: thêm tín dụng trên trang tín dụng. Để có một giới hạn cứng, hãy đặt giới hạn chi tiêu cho khóa.