OpenAI Codex CLI
Cấu hình Codex CLI bằng CC Switch hoặc bằng ~/.codex/config.toml, với wire_api responses.
Codex CLI gọi model qua giao thức OpenAI Responses. Router có endpoint /v1/responses, nên Codex chạy được mà không cần chuyển đổi gì thêm.
Đã kiểm tra với Codex CLI 0.166.0 và tài liệu cấu hình chính thức (config reference, config advanced) tại learn.chatgpt.com/docs, ngày 31/10/2026. Mã nguồn Codex hiện chỉ chấp nhận
wire_api = "responses". Giá trị"chat"đã bị gỡ, và gateway chỉ có Chat Completions sẽ không dùng được với bản mới.
Bạn cần API key (xem Bắt đầu nhanh) và tên một model trong /v1/models. MODEL-ID bên dưới là tên đó.
CC Switch
CC Switch viết hộ phần provider vào cấu hình Codex. Cài CC Switch theo hướng dẫn trước.
- Trong thanh bên trái, chọn Codex.
- Nhấn + (Add Provider) ở góc trên bên phải, rồi chọn Custom Configuration.
- Điền endpoint là
https://YOUR-DOMAIN/v1, API key là keysk-...của bạn và model làMODEL-ID. Phần cấu hìnhconfig.tomltrong trình soạn thảo có dạng:
model_provider = "custom"
model = "MODEL-ID"
[model_providers.custom]
name = "custom"
base_url = "https://YOUR-DOMAIN/v1"
wire_api = "responses"
requires_openai_auth = true
Phần xác thực trong trình soạn thảo là {"OPENAI_API_KEY": "sk-YOUR-KEY"}.
Form thêm provider tùy chỉnh cho Codex trong CC Switch, đã điền endpoint, API key và model
- Nhấn Add, rồi nhấn Switch trên thẻ provider. Khi chuyển sang provider bên thứ ba, CC Switch ghi key vào
[model_providers.custom]trong~/.codex/config.tomlvà bỏ đăng nhập ChatGPT khỏiauth.json(nó lưu bản sao để khôi phục khi chuyển về). - Đóng terminal đang chạy Codex và mở lại. Codex không nạp lại cấu hình khi đang chạy.
Codex đang chạy sau khi chuyển provider trong CC Switch, trả lời một yêu cầu
Nếu CC Switch hiện cảnh báo biến môi trường xung đột với OPENAI_*, xóa các biến đó theo hướng dẫn trong banner rồi mở lại terminal.
Thủ công
Sửa ~/.codex/config.toml. Thư mục ~/.codex đổi được bằng biến CODEX_HOME. Trên Windows, tài liệu chính thức không ghi đường dẫn cụ thể. Thông thường là %USERPROFILE%\.codex\config.toml, nhưng điều này chưa được xác nhận từ nguồn chính thức.
model_provider = "derouter"
model = "MODEL-ID"
[model_providers.derouter]
name = "derouter"
base_url = "https://YOUR-DOMAIN/v1"
env_key = "DEROUTER_API_KEY"
wire_api = "responses"
Tệp ~/.codex/config.toml mở trong trình soạn thảo với khối model_providers.derouter
Đặt key vào biến môi trường mà env_key chỉ tới. Tên biến do bạn chọn, ở đây là DEROUTER_API_KEY.
export DEROUTER_API_KEY=sk-YOUR-KEY
Trên Windows PowerShell: $env:DEROUTER_API_KEY = "sk-YOUR-KEY".
Giải thích các khóa:
| Khóa | Ý nghĩa |
|---|---|
model_provider |
id của provider trong model_providers mà Codex dùng |
model |
Tên model, lấy từ /v1/models |
base_url |
Địa chỉ gốc của API. Dùng dạng có /v1 vì Codex gọi /v1/responses |
env_key |
Tên biến môi trường chứa API key |
wire_api |
Chỉ nhận responses (cũng là mặc định) |
Chạy codex trong thư mục dự án. Lần đầu, nếu Codex hỏi đăng nhập, kiểm tra lại env_key và rằng biến đã được export trong cùng terminal.
Codex đang chạy với provider derouter, trả lời một yêu cầu
Lưu ý:
- Không đặt
requires_openai_auth = truekhi dùngenv_key: khi đó Codex bỏ quaenv_keyvà dùng đăng nhập OpenAI. - Các id
openai,ollamavàlmstudiolà id có sẵn và không ghi đè được. Đừng dùng chúng làm id provider. - Codex bỏ qua
model_providervàmodel_providerstrong.codex/config.tomlcủa dự án. Hãy đặt chúng trong tệp cấp người dùng. - Từ Codex 0.134, mục
[profiles.x]trongconfig.tomlkhông còn dùng được. Hồ sơ nay là tệp riêng~/.codex/<tên>.config.tomlvới các khóa ở cấp cao nhất, chọn bằngcodex --profile <tên>.
Khi gặp lỗi
- Codex báo
wire_api = "chat" is no longer supported: đổi thànhwire_api = "responses". - Lỗi 404 ngay lần gọi đầu: kiểm tra
base_urlcó kết thúc bằng/v1và tên model có trong/v1/models. - Lỗi 401, 402, 403, 429 từ router: xem Bắt đầu nhanh.
Cập nhật 1/11/2026