Codex adalah asisten coding AI berbasis terminal dari OpenAI. Hubungkan ke Alibaba Cloud Model Studio melalui Token Plan Personal Edition, Token Plan Team Edition, Coding Plan, atau pay-as-you-go.
Install Codex
- Instal atau perbarui Node.js (v18.0 atau lebih baru).
- Instal Codex:
npm install -g @openai/codex
Verifikasi instalasi:
codex --version
Konfigurasikan Kredensial Akses
Edit ~/.codex/config.toml dan atur variabel lingkungan OPENAI_API_KEY sesuai rencana penagihan Anda:
Konfigurasikan Metadata Model
Saat menggunakan model kustom seperti qwen3.8-max, Anda harus mengonfigurasi file metadata model agar Codex dapat mengenali dengan benar jendela konteks, kedalaman reasoning, dan parameter lainnya.
- Buat file
~/.codex/model-catalog.local.jsondengan konten berikut:
{
"models": [
{
"slug": "qwen3.8-max",
"display_name": "qwen3.8-max",
"description": "DashScope model: qwen3.8-max",
"default_reasoning_level": "xhigh",
"supported_reasoning_levels": [
{
"effort": "low",
"description": "Fast responses with lighter reasoning"
},
{
"effort": "medium",
"description": "Greater reasoning depth for complex problems"
},
{
"effort": "xhigh",
"description": "Extra high reasoning depth for complex problems"
}
],
"context_window": 983616,
"effective_context_window_percent": 95,
"supports_parallel_tool_calls": false,
"supports_image_detail_original": true,
"input_modalities": ["text", "image"],
"shell_type": "default",
"visibility": "list",
"supported_in_api": true,
"priority": 1,
"base_instructions": "",
"support_verbosity": false,
"supports_reasoning_summaries": false,
"experimental_supported_tools": [],
"truncation_policy": {
"mode": "bytes",
"limit": 10000
}
} ]
}
- Tambahkan baris berikut ke
~/.codex/config.tomluntuk mengarahkan ke file metadata:
model_catalog_json = "~/.codex/model-catalog.local.json"
Token Plan Personal Edition
Untuk model, pilih model yang didukung. Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Token Plan Personal Edition.
Responses API
Jika model yang dipilih mendukung OpenAI Responses API, Anda dapat menggunakan versi terbaru Codex.
model_provider = "Model_Studio_Token_Plan_Personal"
model = "qwen3.8-max"
[model_providers.Model_Studio_Token_Plan_Personal]
name = "Model_Studio_Token_Plan_Personal"
base_url = "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
Chat/Completions API (model lainnya)
Model lainnya memerlukan Chat/Completions API. Instal versi lama Codex, misalnya 0.80.0:
npm install -g @openai/codex@0.80.0
model_provider = "Model_Studio_Token_Plan_Personal"
model = "glm-5"
[model_providers.Model_Studio_Token_Plan_Personal]
name = "Model_Studio_Token_Plan_Personal"
base_url = "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Konfigurasikan Variabel Lingkungan
Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Token Plan Personal Edition.
macOS
- Periksa shell default Anda:
echo $SHELL
-
Atur variabel lingkungan sesuai jenis shell Anda:
# Ganti YOUR_API_KEY dengan API Key Token Plan Personal Edition echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc# Ganti YOUR_API_KEY dengan API Key Token Plan Personal Edition echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.bash_profile -
Terapkan perubahan:
source ~/.zshrcsource ~/.bash_profile
Windows
CMD
- Atur variabel lingkungan:
REM Ganti YOUR_API_KEY dengan API Key Token Plan Personal Edition
setx OPENAI_API_KEY "YOUR_API_KEY"
- Buka jendela CMD baru untuk verifikasi:
echo %OPENAI_API_KEY%
PowerShell
- Atur variabel lingkungan:
# Ganti YOUR_API_KEY dengan API Key Token Plan Personal Edition
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "YOUR_API_KEY", [EnvironmentVariableTarget]::User)
- Buka jendela PowerShell baru untuk verifikasi:
echo $env:OPENAI_API_KEY
Token Plan Team Edition
Untuk model, pilih model yang didukung. Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Token Plan Team Edition.
Responses API
Jika model yang dipilih mendukung OpenAI Responses API, Anda dapat menggunakan versi terbaru Codex.
model_provider = "Model_Studio_Token_Plan"
model = "qwen3.8-max"
[model_providers.Model_Studio_Token_Plan]
name = "Model_Studio_Token_Plan"
base_url = "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
Chat/Completions API (model lainnya)
Model lainnya memerlukan Chat/Completions API. Instal versi lama Codex, misalnya 0.80.0:
model_provider = "Model_Studio_Token_Plan"
model = "glm-5"
[model_providers.Model_Studio_Token_Plan]
name = "Model_Studio_Token_Plan"
base_url = "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Konfigurasikan Variabel Lingkungan
Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Token Plan Team Edition.
macOS
- Periksa shell default Anda:
echo $SHELL
-
Atur variabel lingkungan sesuai jenis shell Anda:
# Ganti YOUR_API_KEY dengan API Key Token Plan Team Edition echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc# Ganti YOUR_API_KEY dengan API Key Token Plan Team Edition echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.bash_profile -
Terapkan perubahan:
source ~/.zshrcsource ~/.bash_profile
Windows
CMD
- Atur variabel lingkungan:
REM Ganti YOUR_API_KEY dengan API Key Token Plan Team Edition
setx OPENAI_API_KEY "YOUR_API_KEY"
- Buka jendela CMD baru untuk verifikasi:
echo %OPENAI_API_KEY%
PowerShell
- Atur variabel lingkungan:
# Ganti YOUR_API_KEY dengan API Key Token Plan Team Edition
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "YOUR_API_KEY", [EnvironmentVariableTarget]::User)
- Buka jendela PowerShell baru untuk verifikasi:
echo $env:OPENAI_API_KEY
Coding Plan
Untuk model, pilih model yang didukung. Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Coding Plan.
Chat/Completions API
Coding Plan hanya mendukung Chat/Completions API. Instal versi lama Codex, misalnya 0.80.0:
model_provider = "Model_Studio_Coding_Plan"
model = "qwen3.7-plus"
[model_providers.Model_Studio_Coding_Plan]
name = "Model_Studio_Coding_Plan"
base_url = "https://coding-intl.dashscope.aliyuncs.com/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Konfigurasikan Variabel Lingkungan
Atur variabel lingkungan OPENAI_API_KEY ke API Key khusus Coding Plan.
macOS
- Periksa shell default Anda:
echo $SHELL
-
Atur variabel lingkungan sesuai jenis shell Anda:
# Ganti YOUR_API_KEY dengan API Key Coding Plan echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc# Ganti YOUR_API_KEY dengan API Key Coding Plan echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.bash_profile -
Terapkan perubahan:
source ~/.zshrcsource ~/.bash_profile
Windows
CMD
- Atur variabel lingkungan:
REM Ganti YOUR_API_KEY dengan API Key Coding Plan
setx OPENAI_API_KEY "YOUR_API_KEY"
- Buka jendela CMD baru untuk verifikasi:
echo %OPENAI_API_KEY%
PowerShell
- Atur variabel lingkungan:
# Ganti YOUR_API_KEY dengan API Key Coding Plan
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "YOUR_API_KEY", [EnvironmentVariableTarget]::User)
- Buka jendela PowerShell baru untuk verifikasi:
echo $env:OPENAI_API_KEY
Pay-as-you-go
Atur OPENAI_API_KEY ke Model Studio API Key Anda dan pilih dari model yang didukung.
Atur base_url sesuai Wilayah Anda. API Key harus sesuai dengan Wilayah yang dipilih; ganti {WorkspaceId} pada URL dengan Workspace ID aktual Anda:
- China North 2 (Beijing):
https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 - Singapore:
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
Pay-as-you-go mendukung Responses API dan Chat/Completions API. Pilih sesuai model Anda:
Responses API
Untuk model yang mendukung OpenAI Responses API (seperti qwen3.7-max), kompatibel dengan versi terbaru Codex.
model_provider = "Model_Studio"
model = "qwen3.7-max"
[model_providers.Model_Studio]
name = "Model_Studio"
base_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
Chat/Completions API
Untuk model yang hanya mendukung Chat/Completions API, instal Codex 0.80.0:
model_provider = "Model_Studio"
model = "qwen3.6-plus"
[model_providers.Model_Studio]
name = "Model_Studio"
base_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Konfigurasikan Variabel Lingkungan
Atur variabel lingkungan OPENAI_API_KEY ke Model Studio API Key.
macOS
- Periksa shell default Anda:
echo $SHELL
-
Atur variabel lingkungan sesuai jenis shell Anda:
# Ganti YOUR_API_KEY dengan Model Studio API Key echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc# Ganti YOUR_API_KEY dengan Model Studio API Key echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.bash_profile -
Terapkan perubahan:
source ~/.zshrcsource ~/.bash_profile
Windows
CMD
- Atur variabel lingkungan:
REM Ganti YOUR_API_KEY dengan Model Studio API Key
setx OPENAI_API_KEY "YOUR_API_KEY"
- Buka jendela CMD baru untuk verifikasi:
echo %OPENAI_API_KEY%
PowerShell
- Atur variabel lingkungan:
# Ganti YOUR_API_KEY dengan Model Studio API Key
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "YOUR_API_KEY", [EnvironmentVariableTarget]::User)
- Buka jendela PowerShell baru untuk verifikasi:
echo $env:OPENAI_API_KEY
Verifikasi Konfigurasi
Buka terminal baru dan jalankan Codex:
codex
Jika antarmuka chat muncul, berarti konfigurasi telah berhasil.
FAQ
Apa yang harus saya lakukan jika tool pihak ketiga melaporkan "domestic models not supported" atau "check rejected / Bad request (400)"?
Penyebab: Beberapa tool manajemen pihak ketiga (seperti CC-Switch) mengirim permintaan probe "health check / connection test" saat beralih penyedia. Format probe ini berbeda dari format permintaan yang sebenarnya digunakan oleh Codex, sehingga gerbang Model Studio mungkin menolaknya dengan kode 400 Bad Request, dan tool tersebut kemudian melaporkan "domestic models not supported". Pesan ini hanya menunjukkan bahwa probe health check gagal; tidak berarti Model Studio tidak mendukung model domestik dan tidak memengaruhi penggunaan Codex yang sebenarnya.
Catatan: Model Studio mendukung penggunaan model China (daratan) melalui Codex. Untuk detail konfigurasi, lihat Konfigurasikan Kredensial Akses di atas.
Solusi: Konfigurasikan Codex langsung di ~/.codex/config.toml seperti dijelaskan dalam bagian Konfigurasikan Kredensial Akses, tanpa bergantung pada hasil health check tool pihak ketiga. Setelah dikonfigurasi, jalankan Codex seperti dijelaskan dalam Verifikasi Konfigurasi; jika antarmuka chat muncul secara normal, model domestik berfungsi.
Apa yang harus saya lakukan jika mendapatkan error konfigurasi wire_api?
Penyebab: Versi Codex yang lebih baru tidak lagi mendukung wire_api = "chat". Bergantung pada versinya, Anda mungkin melihat salah satu error berikut:
wire_api = "chat" is no longer supportedunknown configuration field wire_api
Solusi:
- Error
wire_api = "chat" is no longer supported: Ubahwire_apimenjadiresponsesdan pastikanbase_urlsudah benar. Lihat contoh konfigurasi di Konfigurasikan Kredensial Akses. - Error
unknown configuration field wire_api: Hapus bariswire_apidari bagian penyedia terkait di~/.codex/config.toml.
Apa yang harus saya lakukan jika mendapatkan error unexpected status 401 Unauthorized?
Penyebab:
- Ketidaksesuaian API Key (kunci Token Plan, Coding Plan, dan pay-as-you-go tidak dapat saling ditukar)
- Langganan telah kedaluwarsa
- API Key disalin secara tidak benar (tidak lengkap, mengandung spasi, atau terdapat typo)
Solusi:
- Pastikan Anda menggunakan API Key yang sesuai untuk rencana Anda.
- Periksa halaman manajemen rencana Anda untuk masa berlaku langganan.
- Salin ulang API Key tanpa spasi tambahan.
- Jika error tetap muncul, reset API Key di halaman manajemen rencana Anda dan konfigurasikan ulang dengan kunci baru.
Apa yang harus saya lakukan jika mendapatkan error unexpected status 404 Not Found?
Penyebab: base_url atau wire_api dalam file konfigurasi salah.
Solusi: Pastikan base_url dan wire_api sesuai dengan konfigurasi rencana Anda di Konfigurasikan Kredensial Akses di atas.
Apa yang harus saya lakukan jika mendapatkan error "stream disconnected before completion: stream closed before response.completed"?
Penyebab: Koneksi streaming antara Codex dan server terputus sebelum respons selesai. Hal ini umum terjadi dalam skenario berikut:
- Thread percakapan terlalu panjang, menyebabkan permintaan pemadatan konteks gagal
- Jaringan tidak stabil menyebabkan koneksi SSE atau WebSocket terputus di tengah aliran
- Server kelebihan beban atau pembatasan laju yang menghentikan koneksi lebih awal
Solusi:
- Mulai thread percakapan baru untuk menghindari akumulasi konteks berlebihan dalam satu thread.
- Periksa koneksi jaringan Anda. Coba nonaktifkan VPN atau proxy lalu ulangi.
- Tunggu dan coba lagi. Codex memiliki mekanisme retry bawaan yang secara otomatis menyelesaikan sebagian besar kegagalan sementara.