Dùng DeepSeek, GLM, Qwen với Codex
Cài OpenCodex để kết nối Codex với model China và mọi API tương thích OpenAI SDK
OpenCodex là proxy chạy trên máy của bạn. Nó chuyển request của Codex sang định dạng mà DeepSeek, GLM, Qwen và các API tương thích OpenAI SDK có thể xử lý.
Tương thích OpenAI SDK chưa đủ
Model phải hỗ trợ streaming và tool/function calling thì các chức năng agent của Codex mới hoạt động đầy đủ. Một endpoint chỉ hỗ trợ chat có thể trả lời văn bản nhưng sẽ không dùng được terminal, browser hoặc tool. Hãy chọn model dành cho coding/agent và chạy bước Test bên dưới.
Kiểm tra điều kiện
Bạn cần Node.js 18 trở lên và Codex CLI:
node --version
codex --versionNếu chưa có Codex CLI:
npm install -g @openai/codexCài OpenCodex
npm install -g @bitkyc08/opencodex
ocx --versionOpenCodex đã kèm sẵn Bun runtime, bạn không cần cài Bun riêng.
Khởi động proxy
ocx startDashboard chạy tại http://localhost:10100. Nếu trình duyệt không tự mở:
ocx guiOpenCodex phải luôn chạy
Codex gửi request qua proxy local này. Nếu đóng terminal đang chạy ocx start, Codex sẽ báo lỗi
kết nối. Muốn proxy tự chạy nền khi đăng nhập máy, dùng ocx service install.
Thêm provider và API key
Trong dashboard, mở Providers → Add provider:
- Với DeepSeek, Z.AI/GLM hoặc Qwen, chọn preset có sẵn. OpenCodex sẽ tự điền endpoint và adapter.
- Dán API key do provider cấp.
- Chọn model mặc định rồi bấm Test và Save.
Với một dịch vụ khác tương thích OpenAI SDK, chọn Custom và điền:
| Trường | Giá trị |
|---|---|
| Name | Tên ngắn, ví dụ my-provider |
| Adapter | OpenAI Chat Completions (openai-chat) |
| Base URL | Endpoint của dịch vụ, thường kết thúc bằng /v1 |
| API key | Key của dịch vụ |
| Default model | Model ID chính xác mà API công bố |
Ưu tiên preset nếu có; chỉ dùng Custom khi provider chưa nằm trong danh sách.
Đồng bộ model vào Codex
Trong trang Models, bật các model muốn dùng. Sau đó chạy:
ocx sync --restart-codexLệnh này cập nhật model catalog và khởi động lại Codex để model mới xuất hiện ngay. Các model được
hiển thị theo dạng provider/model, ví dụ deepseek/deepseek-flash.
Kiểm tra trong Codex
ocx status
ocx models live
codex -m "provider/model-id"Thay provider/model-id bằng ID hiển thị trong ocx models live, rồi yêu cầu Codex thực hiện một
tác vụ có dùng tool, ví dụ đọc một file và chạy test. Nếu cả phản hồi lẫn tool call đều chạy, setup
đã hoàn tất.
Cấu hình thủ công bằng CLI
Dùng cách này khi dashboard không mở hoặc bạn đang setup trên máy không có giao diện. Proxy phải đang chạy trước khi dùng các lệnh quản lý provider:
ocx startProvider có preset
Ví dụ với DeepSeek:
ocx provider add deepseek --api-key "<API_KEY>" --set-default --sync
ocx provider test deepseek
ocx models live --provider deepseekThay deepseek bằng ID preset hiển thị trong ocx provider presets. Không thêm --adapter hoặc
--base-url khi dùng preset vì OpenCodex đã cấu hình sẵn.
API tương thích OpenAI SDK
ocx provider add my-provider --adapter openai-chat --base-url "https://example.com/v1" --api-key "<API_KEY>" --default-model "model-id" --set-default --sync
ocx provider test my-provider
ocx models live --provider my-provider
ocx models enable "my-provider/model-id"
ocx sync --restart-codexThay URL, key và model ID bằng thông tin thật của dịch vụ. Nếu key đã được lưu trong file cấu hình và máy có keychain đang mở khóa, có thể chuyển key sang kho bí mật của hệ điều hành:
ocx provider keychain my-provider storeKhông sửa config Codex khi proxy đang chạy
Cấu hình OpenCodex nằm tại ~/.opencodex/config.json (Windows:
%USERPROFILE%\.opencodex\config.json). Hãy ưu tiên dashboard hoặc lệnh ocx provider để file
được kiểm tra hợp lệ. Không tự sửa ~/.codex/config.toml: OpenCodex quản lý phần kết nối này và
có thể ghi lại khi đồng bộ.
Chẩn đoán nhanh
Chạy lần lượt các lệnh sau trước khi thay đổi cấu hình:
ocx status
ocx health
ocx ready --wait --timeout 30
ocx doctor
ocx provider test <provider>
ocx models live --provider <provider>ocx doctor thường ghi rõ nguyên nhân và hành động cần làm. Không gửi API key hoặc toàn bộ file
config.json khi nhờ hỗ trợ.
Lỗi thường gặp
ocx: command not found
Mở terminal mới sau khi cài. Nếu vẫn lỗi, kiểm tra npm global bin đã nằm trong PATH:
npm config get prefix
npm list -g @bitkyc08/opencodexBun runtime bị thiếu hoặc npm chặn install script
Nếu lúc cài có cảnh báo install-scripts ... blocked, cài lại và cho phép script của Bun:
npm install -g --allow-scripts=bun @bitkyc08/opencodexconnection refused hoặc stream disconnected before completion
Proxy đã dừng hoặc chưa sẵn sàng:
ocx status
ocx startMuốn tự khởi động lại khi proxy crash hoặc khi đăng nhập máy:
ocx service installPort 10100 đang được sử dụng
ocx start sẽ báo process đang giữ port. Dừng process đó hoặc chọn port khác, rồi đồng bộ lại:
ocx start --port 10101
ocx sync --restart-codexLỗi 401 hoặc 403
API key sai, hết hạn hoặc tiến trình service không đọc được biến môi trường chứa key. Kiểm tra đúng provider trước:
ocx provider test <provider>
ocx provider show <provider> --jsonCập nhật key trong dashboard. Nếu key được tham chiếu bằng ${ENV_VAR}, biến đó phải tồn tại trong
môi trường của chính proxy/service, không chỉ trong terminal đang mở.
Lỗi 404 model not found
Model ID không đúng hoặc tài khoản chưa được cấp quyền. Lấy ID mà provider thực sự công bố:
ocx models live --provider <provider>Sau đó chọn đúng chuỗi provider/model-id; không dùng tên hiển thị của model thay cho ID.
Model không xuất hiện trong Codex
Model có thể đang tắt hoặc Codex vẫn giữ catalog cũ:
ocx models enable "provider/model-id"
ocx sync --restart-codexNếu vẫn chưa thấy, thoát hoàn toàn Codex App rồi mở lại và tạo task mới.
Chat chạy nhưng terminal hoặc tool không hoạt động
Provider đang dùng sai adapter hoặc model không hỗ trợ function calling. Với API tương thích OpenAI
SDK thông thường, dùng openai-chat; ưu tiên preset nếu có và kiểm tra lại bằng:
ocx provider test <provider>Nếu provider chỉ hỗ trợ chat văn bản, cần đổi sang model/endpoint có tool calling; OpenCodex không thể tự bổ sung khả năng mà model không có.
Muốn quay lại cấu hình Codex ban đầu
ocx stop # dừng proxy và tự khôi phục Codex
ocx restore # dùng riêng nếu proxy đã dừng nhưng config chưa được khôi phụcOpenCodex chỉ gỡ phần cấu hình do nó thêm; không cần xóa thư mục ~/.codex.
Lệnh thường dùng
| Lệnh | Tác dụng |
|---|---|
ocx gui | Mở dashboard |
ocx status | Kiểm tra proxy |
ocx doctor | Kiểm tra cấu hình và gợi ý cách sửa |
ocx models live | Xem model Codex đang nhận |
ocx sync --restart-codex | Đồng bộ model và khởi động lại Codex |
ocx stop | Dừng proxy và khôi phục cấu hình Codex ban đầu |
Xem thêm tài liệu OpenCodex và danh sách provider.