Qwen Code হলো Alibaba-র terminal coding agent, যেটা মূলত Gemini CLI থেকে fork করা। এটা কয়েকটা protocol বোঝে। Tokens-এর জন্য আপনি ব্যবহার করবেন এর OpenAI protocol, যেটা chat completions পাঠায় https://tokens.bd/v1-এ।
Gemini CLI থেকে আসছেন?
Gemini CLI শুধু Gemini-format API-র সাথে কথা বলতে পারে, তাই Tokens-এর সাথে চলে না। Qwen Code-এর workflow প্রায় একই রকম, আর এটা যেকোনো OpenAI-compatible endpoint-এর সাথে চলে। তাই বাস্তবে এটাই সবচেয়ে ভালো বিকল্প।
Tokens CLI Qwen Code-কে configure করে না, তাই নিজে হাতে সেট করে নিতে হবে। একটা file অথবা তিনটা variable হলেই হয়।
Qwen Code install করুন#
npm install -g @qwen-code/qwen-code@latest
# or
brew install qwen-code/dashboard/keys-এ গিয়ে একটা key তৈরি করুন। spend cap আর model allow-list-এর কথা আছে API keys পাতায়।
TOKENS_API_KEY export করুন#
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 windowsOption A: ~/.qwen/settings.json#
modelProviders.openai-এর নিচে Tokens-এর model যোগ করুন, আর Qwen Code-কে বলে দিন OpenAI protocol ব্যবহার করতে:
{
"modelProviders": {
"openai": [
{
"id": "deepseek/deepseek-v4.1-flash",
"name": "DeepSeek V4.1 Flash (Tokens)",
"baseUrl": "https://tokens.bd/v1",
"description": "via Tokens",
"envKey": "TOKENS_API_KEY"
}
]
},
"security": { "auth": { "selectedType": "openai" } },
"model": { "name": "deepseek/deepseek-v4.1-flash" }
}envKey বলে দেয় কোন environment variable-এ key আছে, তাই file-এর ভেতরে কোনো secret থাকে না। একই file-এ env block-ও চলে ("env": { "TOKENS_API_KEY": "tok_live_your_key" }), কিন্তু তাতে key সরাসরি plain text-এ থেকে যায়। এটা ব্যবহার করলে file-টা কোনো repository-তে রাখবেন না।
একই variable একাধিক জায়গায় সেট থাকলে Qwen Code আগে নেয় shell-এর export, তারপর .env file, তারপর settings-এর env block।
context window, custom header আর request-এ বাড়তি field দিতে চাইলে Qwen Code-এর Model Providers reference-এ generationConfig, customHeaders আর extra_body নিয়ে লেখা আছে। context window-এ বসান /models-এ model-এর পাতা থেকে নেওয়া আসল মান।
Option B: শুধু environment variable#
settings file না চাইলে এই তিনটা variable-ই যথেষ্ট:
export OPENAI_API_KEY="$TOKENS_API_KEY"
export OPENAI_BASE_URL="https://tokens.bd/v1"
export OPENAI_MODEL="deepseek/deepseek-v4.1-flash"$env:OPENAI_API_KEY = $env:TOKENS_API_KEY
$env:OPENAI_BASE_URL = "https://tokens.bd/v1"
$env:OPENAI_MODEL = "deepseek/deepseek-v4.1-flash"OPENAI_MODEL-এর বদলে QWEN_MODEL-ও চলে। একটা কথা মনে রাখবেন: অন্য tool-ও OPENAI_API_KEY আর OPENAI_BASE_URL পড়ে। তাই shell profile-এ এগুলো সেট করলে ওই tool-গুলোও Tokens-এ চলে যাবে। Option A-তে এই ঝামেলা নেই।
চাইলে qwen-এর ভেতরে /auth চালিয়ে একই মানগুলো interactive-ভাবেও দিতে পারেন।
Anthropic protocol#
Qwen Code-এর একটা anthropic protocol-ও আছে, যেটা পড়ে ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL আর ANTHROPIC_MODEL। Tokens-এর ক্ষেত্রে সেটা হবে ANTHROPIC_BASE_URL=https://tokens.bd (/v1 ছাড়া)। তবে OpenAI protocol-ই সহজ, আর উপরে সেটাই দেখানো হয়েছে।
model বদলান#
modelProviders.openai array-তে প্রতিটা model-এর জন্য একটা করে object যোগ করুন। id দিন /models বা GET /v1/models থেকে নেওয়া Tokens-এর হুবহু id, আর baseUrl ও envKey আগের মতোই:
{
"id": "moonshotai/kimi-k3",
"name": "Kimi K3 (Tokens)",
"baseUrl": "https://tokens.bd/v1",
"envKey": "TOKENS_API_KEY"
}ওপরের id-টা শুধু উদাহরণ, সঠিকটা /models-এ দেখে নিন। তারপর qwen-এর ভেতরে /model চালিয়ে model বদলান, অথবা settings file-এ model.name পাল্টে দিন। environment variable ব্যবহার করলে পাল্টাতে হবে OPENAI_MODEL। agent-এর কাজে কোন model ভালো, সে বিষয়ে Choosing a model পাতায় পরামর্শ আছে।
ঠিকমতো চলছে কিনা দেখুন#
project folder-এ qwen চালু করুন, /model চালিয়ে দেখুন Tokens-এর model-টা বাছা আছে কিনা, তারপর ছোট একটা prompt পাঠান। request-টা Dashboard-এর Usage analytics-এ দেখা যাওয়া উচিত।
Qwen Code-কে বাদ দিয়ে দেখতে চাইলে endpoint-টা সরাসরি call করুন:
curl https://tokens.bd/v1/chat/completions \
-H "Authorization: Bearer $TOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek/deepseek-v4.1-flash", "messages": [{"role": "user", "content": "Reply with OK"}], "max_tokens": 10}'সমস্যা হলে#
key এইমাত্র বদলালেন, তবু 401 invalid_api_key। কোথাও একটা পুরোনো মান জিতে যাচ্ছে: shell export জেতে .env-এর ওপর, আর .env জেতে settings-এর env block-এর ওপর। echo $TOKENS_API_KEY চালিয়ে দেখুন (PowerShell-এ $env:TOKENS_API_KEY)।
401 missing_api_key। envKey-তে যে variable-এর নাম দিয়েছেন, qwen যে shell থেকে চালু করেছেন সেখানে সেটা সেট নেই। Windows-এ setx চালানোর পর নতুন terminal খুলুন।
request Tokens-এ পৌঁছাচ্ছে না। security.auth.selectedType অবশ্যই openai হতে হবে, নইলে Qwen Code আগে যে auth method বাছা ছিল সেটাই ব্যবহার করবে। file-এ এটা সেট করুন, অথবা /auth-এ OpenAI option বেছে নিন।
প্রতিটা request-এ 404। baseUrl (বা OPENAI_BASE_URL) শেষ হতে হবে /v1 দিয়ে।
404 model_not_found বা 403 model_not_allowed_on_key। id-তে বানান ভুল আছে, নয়তো key-র allow-list-এ ওই model নেই। তৈরির পর allow-list এডিট করা যায় না, তাই দরকার হলে নতুন key বানান।
402, 429 আর 5xx error-এর জন্য Troubleshooting দেখুন।