Skip to content
Popular

OpenCode

opencode.json-এ OpenCode-এর OpenAI-compatible provider হিসেবে Tokens যোগ করুন, key রাখুন TOKENS_API_KEY-তে, compaction ঠিকমতো চলার জন্য context limit দিন, আর model বদলান।

যেসব tool-এ কাজ করেOpenCodeTerminal

সর্বশেষ আপডেট 11 অক্টোবর 2026

Markdown-এ দেখুন
এই পাতায়

OpenCode হলো AI SDK provider package-এর ওপর বানানো open-source terminal coding agent। এটা Tokens-এ জোড়া লাগে @ai-sdk/openai-compatible দিয়ে, যা chat completions পাঠায় https://tokens.bd/v1-এ।

Tokens CLI দিয়ে দ্রুত setup#

Tokens CLI browser দিয়ে আপনাকে sign in করায়, key তৈরি করে, default model বেছে নিতে দেয় আর OpenCode-এ একটা tokens 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 opencode

CLI provider-টা ~/.config/opencode/opencode.json-এ merge করে, "model": "tokens/<your model>" সেট করে, আর পুরোনো file-টা opencode.json.tokens-backup-<timestamp> নামে backup রাখে। দুটো কথা মনে রাখবেন:

  • key-টা file-এ লেখা হয় options.apiKey হিসেবে। home folder-এর file-এ এটা ঠিক আছে, কিন্তু কোনো repository-তে copy করবেন না।
  • model-এ limit সেট করা হয় না। পরে (নিচে দেখুন) আসল context আর output limit নিজে বসিয়ে নিন। নইলে OpenCode লম্বা session ঠিকমতো compact করতে পারবে না।

আপনার opencode.json-এ comment থাকলে CLI file নতুন করে লেখার ঝুঁকি নেয় না। সে আপনাকে snippet-এর জন্য /dashboard/connect-এ পাঠিয়ে দেয়।

opencode.json নিজে সাজান#

OpenCode এখনো না থাকলে install করুন:

bash
curl -fsSL https://opencode.ai/install | bash
# or
npm install -g opencode-ai

আপনার key export করুন (spend cap দিয়ে key কীভাবে বানাবেন, তা আছে API keys-এ):

export TOKENS_API_KEY="tok_live_your_key"

এরপর provider যোগ করুন। global file হলো ~/.config/opencode/opencode.json। চাইলে project-এর root-এও নিজস্ব opencode.json রাখতে পারেন, আর OPENCODE_CONFIG দিয়ে অন্য কোনো path দেখানো যায়। OpenCode এই file-গুলো একটা দিয়ে আরেকটা বদলে ফেলে না, merge করে।

/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tokens": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Tokens",
      "options": {
        "baseURL": "https://tokens.bd/v1",
        "apiKey": "{env:TOKENS_API_KEY}"
      },
      "models": {
        "deepseek/deepseek-v4.1-flash": {
          "name": "DeepSeek V4.1 Flash",
          "limit": { "context": 128000, "output": 8192 }
        }
      }
    }
  },
  "model": "tokens/deepseek/deepseek-v4.1-flash"
}

{env:TOKENS_API_KEY} লিখলে OpenCode key-টা environment থেকে পড়ে, তাই file commit করলেও ভয় নেই। limit-এর সংখ্যাগুলো placeholder: model-এর আসল context window আর max output /models-এ ওই model-এর পাতা থেকে copy করে বসান।

model-এর reference লিখতে হয় provider_id/model_id ধাঁচে। আমাদের model id-তেই একটা slash আছে, তাই পুরো reference দাঁড়ায় tokens/deepseek/deepseek-v4.1-flash।

Config বানিয়ে নিন#

একটা model বেছে নিন, নিচের generator আপনার জন্য provider block ভরে দেবে:

opencode.json
{
  "provider": {
    "tokens": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://tokens.bd/v1",
        "apiKey": "tok_live_your_key"
      },
      "models": {
        "deepseek/deepseek-v4.1-flash": {}
      }
    }
  }
}

Project or global configuration for OpenCode CLI / IDE agent.

/connect দিয়ে key রাখা#

key environment-এ না রেখেও চলে: OpenCode TUI-তে /connect চালান, "Other" বেছে নিন, provider id দিন tokens, আর key paste করুন। OpenCode সেটা রাখে ~/.local/share/opencode/auth.json-এ। provider id আপনার config-এর id-র সাথে হুবহু মিলতে হবে, আর তারপর options থেকে apiKey বাদ দিতে পারবেন।

Model বদলানো#

provider.tokens.models-এর নিচে আরও entry যোগ করুন, প্রতিটা model-এর জন্য একটা করে, id নিন /models বা GET /v1/models থেকে:

json
"models": {
  "deepseek/deepseek-v4.1-flash": { "name": "DeepSeek V4.1 Flash", "limit": { "context": 128000, "output": 8192 } },
  "moonshotai/kimi-k3": { "name": "Kimi K3", "limit": { "context": 128000, "output": 8192 } }
}

দ্বিতীয় id-টা একটা উদাহরণ, ঠিক id /models-এ মিলিয়ে নিন। এরপর TUI-তে /models দিয়ে model বদলাতে পারেন, নয়তো top-level model পাল্টে দিন, কিংবা একবারের জন্য --model দিন। OpenCode-এর হালকা কাজের জন্য সস্তা model চাইলে small_model-ও একই tokens/... ধাঁচে লিখতে হয়। বাছাইয়ে সাহায্য পাবেন Choosing a model-এ।

ঠিকমতো চলছে কি না দেখুন#

bash
opencode models tokens
opencode run --model tokens/deepseek/deepseek-v4.1-flash "Reply with OK"

প্রথম command-এ আপনার Tokens model-গুলোর list আসার কথা, আর দ্বিতীয়টা ছোট একটা উত্তর ছাপবে। TUI-তে /models দিলেও একই list দেখা যায়।

সমস্যা হলে#

401 missing_api_key। {env:TOKENS_API_KEY} ফাঁকা string হয়ে গেছে, কারণ যে shell থেকে OpenCode চালু করেছেন সেখানে variable-টা সেট নেই। Windows-এ setx-এর পর নতুন terminal খুলুন।

model list-এ নেই, অথবা 404 model_not_found আসছে। models-এর ভেতরের key-টা Tokens-এর id-র সাথে হুবহু মিলছে কি না দেখুন, আর model যে tokens/ আর তার পরে ওই id দিয়ে লেখা, সেটাও। slash-ওয়ালা model id নিয়ে OpenCode-এর docs আলাদা করে কিছু বলে না। OpenRouter-ধাঁচের id-ও একই রকম, তাই বানান ভুল হওয়ার সম্ভাবনাই বেশি।

ভুল package। @ai-sdk/openai-compatible ব্যবহার করুন, এটা chat completions বোঝে। @ai-sdk/openai যায় Responses API-তে, যেটা সব upstream support করে না (Responses API দেখুন)।

লম্বা session compact না হয়ে ব্যর্থ হয়। limit.context আর limit.output-এ model-এর আসল value বসান।

/connect-এর key কাজ করছে না। /connect-এ যে provider id লিখেছেন, সেটা ঠিক tokens হতে হবে।

CLI OpenCode বাদ দিয়ে গেছে। আপনার file-এ comment আছে, নয়তো JSON ভুল। ওপরের block-টা নিজের হাতে বসিয়ে নিন।

402, 403 আর 429 error-এর জন্য Troubleshooting দেখুন।

এই পাতাটা কি কাজে লেগেছে?

এখনো আটকে আছেন? Support ticket খুলুন

আপনার agent set up করতে সাহায্য লাগবে?

Connection tester দিয়ে সংযোগ পরীক্ষা করে নিন, অথবা একটা API key তৈরি করুন।