Codex CLI হলো OpenAI-এর open-source terminal coding agent। এটা শুধু OpenAI Responses API বোঝে, তাই Tokens-এর সাথে https://tokens.bd/v1 ব্যবহার করে, আর প্রতিটা request যায় /v1/responses-এ।
Responses support নির্ভর করে model-এর ওপর
Tokens /v1/responses request যেমন আছে তেমনই এগিয়ে দেয়। সফল হবে কি না, সেটা নির্ভর করে ওই model-এর provider Responses API পুরোপুরি বোঝে কি না, streaming event আর tool calling সহ। যেসব model-এর upstream Responses support করে, Codex সেগুলোতেই সবচেয়ে ভালো চলে। কোনো model-এ request ব্যর্থ হলে অন্য কিছু বদলানোর আগে আরেকটা model চেষ্টা করুন।
Tokens CLI দিয়ে দ্রুত setup#
Tokens CLI sign in, key তৈরি আর model বাছাই সামলে নেয়, তারপর Codex-এর provider লিখে দেয়। এর জন্য Node 18 বা তার পরের version লাগবে।
curl -fsSL https://tokens.bd/cli/tokens.mjs -o tokens.mjs && node tokens.mjs setup --base-url https://tokens.bd --agents codexiwr https://tokens.bd/cli/tokens.mjs -OutFile tokens.mjs; node tokens.mjs setup --base-url https://tokens.bd --agents codexCLI ~/.codex/config.toml-এ (বা $CODEX_HOME/config.toml-এ) চিহ্ন দেওয়া একটা block যোগ করে, file-এর বাকি অংশ ছোঁয় না। setup আবার চালালে ওই block-টাই জায়গায় বদলে যায়:
[model_providers.tokens]
name = "Tokens"
base_url = "https://tokens.bd/v1"
env_key = "TOKENS_API_KEY"
wire_api = "responses"
[profiles.tokens]
model = "deepseek/deepseek-v4.1-flash"
model_provider = "tokens"file-এ কোনো secret থাকে না। Codex key পড়ে TOKENS_API_KEY থেকে, তাই পরের অংশ দেখে ওটা export করুন, তারপর codex --profile tokens দিয়ে Codex চালু করুন।
Note
Codex-এর এখনকার docs-এ profile আলাদা file হিসেবে বর্ণনা করা আছে (~/.codex/<name>.config.toml)। codex --profile tokens চালিয়ে যদি "profile নেই" জাতীয় error আসে, তাহলে নিচের manual setup করুন। ওতে Tokens-ই default provider হয়ে যায়, কোনো profile লাগে না।
TOKENS_API_KEY export করুন#
CLI key বানিয়ে না দিলে /dashboard/keys-এ গিয়ে একটা key তৈরি করুন (spend cap আর allow-list কী, তা API keys-এ বলা আছে)।
# add to ~/.bashrc or ~/.zshrc to keep it
export TOKENS_API_KEY="tok_live_your_key"$env:TOKENS_API_KEY = "tok_live_your_key" # this window
setx TOKENS_API_KEY "tok_live_your_key" # new windowssetx শুধু তার পরে খোলা terminal-এ কাজ করে। তাই codex চালানোর আগে একটা নতুন terminal খুলে নিন।
~/.codex/config.toml নিজে সাজান#
Codex install না থাকলে install করুন:
npm install -g @openai/codexWindows-এ চাইলে powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"-ও চালাতে পারেন।
Codex config.toml পড়ে CODEX_HOME থেকে। এটা default-এ ~/.codex (Windows-এ %USERPROFILE%\.codex)। provider যোগ করুন, আর top-level model_provider ও model key দিয়ে সেটা বেছে নিন:
model = "deepseek/deepseek-v4.1-flash"
model_provider = "tokens"
# model_context_window = 128000 # optional; placeholder, use the real value
[model_providers.tokens]
name = "Tokens"
base_url = "https://tokens.bd/v1"
env_key = "TOKENS_API_KEY"
wire_api = "responses"TOML-এ top-level key সব [table]-এর আগে থাকতে হয়, তাই model আর model_provider file-এর একদম ওপরের দিকে রাখুন।
Codex docs থেকে কয়েকটা নিয়ম:
- provider id built-in কোনোটা হতে পারবে না (
openai,ollama,lmstudio)।tokensনামটা ঠিক আছে। wire_apiঅবশ্যই"responses"হতে হবে। পুরোনো"chat"value এখন আর নেয় না।model_context_windowদিলে সংখ্যাটা নিন /models-এ model-এর পাতা থেকে। ওপরের128000একটা placeholder।
Model বদলানো#
config.toml-এ model বদলান (CLI-র block ব্যবহার করলে [profiles.tokens]-এর ভেতরে), তারপর Codex restart করুন। ঠিক id পাবেন /models, node tokens.mjs models বা GET /v1/models থেকে। upstream ভেদে Responses support আলাদা, তাই নতুন model ধরে নেওয়ার আগে নিচের curl দিয়ে test করে নিন। agent-এর কাজের জন্য model বাছাই নিয়ে পরামর্শ আছে Choosing a model-এ।
ঠিকমতো চলছে কি না দেখুন#
আগে দেখুন model-টা Responses endpoint-এ উত্তর দিচ্ছে কি না:
curl https://tokens.bd/v1/responses \
-H "Authorization: Bearer $TOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek/deepseek-v4.1-flash", "input": "Reply with OK", "max_output_tokens": 20}'তারপর Codex দিয়ে একটা one-shot কাজ চালান:
codex exec "Reply with OK"Interactive-ভাবে চালাতে codex (বা codex --profile tokens) দিন, আর status line-এ model ও provider ঠিক আছে কি না দেখুন।
সমস্যা হলে#
Error loading config.toml: wire_api = "chat" is no longer supported। wire_api বদলে "responses" করুন। Codex Chat Completions support তুলে দিয়েছে।
/v1/responses-এ upstream থেকে 400 বা 404। ওই model-এর পেছনের provider Responses API বানায়নি, অথবা Codex যে অংশটা ব্যবহার করে সেটা বানায়নি। অন্য model নিন। chat completions ব্যবহার করে এমন tool-এ একই model হয়তো ঠিকই চলবে।
401 missing_api_key। যে shell থেকে Codex চালু করেছেন, সেখানে TOKENS_API_KEY সেট নেই। setx-এর পর নতুন terminal খুলুন। macOS/Linux-এ দেখুন আপনার profile file-এ এটা export করা আছে কি না।
403 model_not_allowed_on_key। key-এর allow-list-এ এই model নেই। allow-list বদলানো যায় না, তাই নতুন key বানান।
file edit করার পর TOML parse error। [table] header-এর পরে বসানো top-level key ওই table-এরই অংশ হয়ে যায়। model আর model_provider প্রথম table-এর ওপরে নিয়ে যান।
Tokens CLI Codex বাদ দিয়ে গেছে। চিহ্ন দেওয়া block-এর বাইরে file-এ আপনার নিজের [model_providers.tokens] বা [profiles.tokens] table থাকলে CLI file ছোঁয় না। আপনারটা সরিয়ে দিন বা নাম বদলান, তারপর setup আবার চালান।
402, 429 আর 5xx code-এর জন্য Troubleshooting দেখুন। Support ticket-এ x-tokens-request-id response header-টা অবশ্যই দিন।