Codex CLI trên Muapi

Cấu hình

~/.codex/config.toml (macOS/Linux) hoặc %USERPROFILE%\.codex\config.toml (Windows):

model = "gpt-5-6-sol"
model_provider = "muapi"

[model_providers.muapi]
name = "Muapi"
base_url = "https://api.muapi.ai/openai/v1"
env_key = "MUAPI_API_KEY"
wire_api = "responses"

Khóa API

macOS/Linux:

export MUAPI_API_KEY=your_key

Windows PowerShell:

$env:MUAPI_API_KEY = "your_key"
setx MUAPI_API_KEY "your_key"

Chi tiết quan trọng

  • base_url là gốc; Codex sẽ tự thêm /responses.
  • env_key là tên biến chứa khóa, không phải bản thân khóa.
  • Hãy đặt model một cách tường minh thành một id lấy từ endpoint mô hình, thay vì giá trị mặc định tích hợp sẵn của Codex.
  • Các id provider openai, ollama và lmstudio đã được dành riêng; hãy dùng muapi.
  • Giữ cấu hình provider trong tệp cấp người dùng, không để trong các tệp của dự án.

Mô hình

curl -s -H "Authorization: Bearer $MUAPI_API_KEY" https://api.muapi.ai/openai/v1/models

Mô hình không kiểm duyệt (abliterated)

Endpoint mô hình cũng liệt kê các mô hình không kiểm duyệt của Muapi có hỗ trợ gọi công cụ (ví dụ qwen-3-8-27b-obliterated, mimo-v2-6-flash-abliterated). Đặt model = "<id>" trong config.toml để dùng một mô hình; Muapi sẽ chuyển đổi giữa giao thức của Codex và API chat của mô hình giúp bạn.

  • Mang tính thử nghiệm: chất lượng khác nhau tùy mô hình, và các mô hình nhỏ có thể bỏ sót bước trong các tác vụ nhiều tệp.
  • Không có prompt caching, nên mỗi lượt được tính phí cho toàn bộ cuộc hội thoại tính đến lúc đó.
  • Đầu ra mỗi phản hồi bị giới hạn ở 16.384 token, và cửa sổ ngữ cảnh nhỏ hơn của GPT.
  • Codex phải gửi toàn bộ cuộc hội thoại ở mỗi lượt (đây là mặc định của Codex với provider tùy chỉnh). Các yêu cầu dựa vào previous_response_id sẽ bị từ chối kèm một thông báo lỗi rõ ràng.
  • Các công cụ tích hợp sẵn của Codex ngoài function tool kiểu shell và apply_patch (ví dụ tìm kiếm web) không khả dụng trên các mô hình này.

Mức suy luận (tùy chọn)

model_reasoning_effort = "high"

Xác minh

codex doctor