Skip to content

Crush

Charm-এর Crush-এ Tokens যোগ করুন openai-compat provider হিসেবে, নতুন crushrc format-এ অথবা Tokens CLI-র লেখা পুরোনো crush.json-এ, তারপর large আর small model বেছে নিন।

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

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

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

Crush হলো Charm-এর open-source terminal coding agent। এটা Tokens-এ জোড়া লাগে openai-compat provider হিসেবে, আর chat completions পাঠায় https://tokens.bd/v1-এ।

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

Tokens CLI browser দিয়ে আপনাকে sign in করায়, key তৈরি করে, default model বেছে নিতে দেয় আর Crush-এ Tokens register করে দেয়। এর জন্য Node 18 বা তার পরের version লাগবে।

curl -fsSL https://tokens.bd/cli/tokens.mjs -o tokens.mjs && node tokens.mjs setup --base-url https://tokens.bd --agents crush

CLI ~/.config/crush/crush.json-এ একটা tokens provider merge করে, আর পুরোনো file-টা crush.json.tokens-backup-<timestamp> নামে backup রাখে। সে যা লেখে:

/.config/crush/crush.json written by the Tokens CLI
{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "tokens": {
      "name": "Tokens",
      "type": "openai-compat",
      "base_url": "https://tokens.bd/v1",
      "api_key": "tok_live_your_key",
      "models": [
        {
          "id": "deepseek/deepseek-v4.1-flash",
          "name": "deepseek/deepseek-v4.1-flash",
          "context_window": 128000,
          "default_max_tokens": 8192
        }
      ]
    }
  }
}

এ নিয়ে তিনটা কথা মনে রাখবেন:

  • key-টা file-এর ভেতরেই থাকে। এই file কোনো repository-তে রাখবেন না।
  • context_window আর default_max_tokens placeholder। /models-এ model-এর পাতা থেকে আসল value নিয়ে বদলে দিন।
  • Crush এখন crush.json-কে deprecated বলে, তবে এখনো support করে। আজ এটা চলে। চলতি format-এ যেতে চাইলে নিচের মতো crushrc-এ Tokens বসান, আর crush.json থেকে tokens provider সরিয়ে দিন, যাতে একই জিনিস দুই জায়গায় সামলাতে না হয়।

setup-এর পর Crush খুলে model menu (Ctrl+P) থেকে Tokens-এর model বেছে নিন।

crushrc নিজে সাজান#

Crush না থাকলে install করুন:

bash
brew install charmbracelet/tap/crush
# or
npm install -g @charmland/crush

Windows-এ winget install charmbracelet.crush বা scoop install crush-ও চলে।

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

export TOKENS_API_KEY="tok_live_your_key"

crushrc হলো Bash, সাথে Crush-এর কিছু builtin। Crush এটা খোঁজে এই ক্রমে, সবচেয়ে বেশি অগ্রাধিকার আগে:

  1. project-এর ./.crushrc
  2. project-এর ./crushrc
  3. ~/.config/crush/crushrc (Windows-এ %USERPROFILE%\.config\crush\crushrc)

global জায়গা বদলাতে চাইলে CRUSH_GLOBAL_CONFIG আর CRUSH_GLOBAL_DATA দিন।

/.config/crush/crushrc
provider add tokens --type openai-compat \
  --name "Tokens" \
  --base-url "https://tokens.bd/v1" \
  --api-key "${TOKENS_API_KEY:?set TOKENS_API_KEY}"

model add tokens/deepseek/deepseek-v4.1-flash \
  --name "DeepSeek V4.1 Flash" \
  --context-window 128000 \
  --default-max-tokens 8192

model large tokens/deepseek/deepseek-v4.1-flash
model small tokens/deepseek/deepseek-v4.1-flash

${TOKENS_API_KEY:?...} লিখলে variable সেট না থাকলে Crush ফাঁকা key পাঠানোর বদলে পরিষ্কার একটা message দিয়ে থেমে যায়। সংখ্যা দুটো বদলে model-এর আসল limit বসান।

openai নয়, openai-compat ব্যবহার করুন। Crush-এর docs-এ openai type রাখা আছে শুধু OpenAI-র নিজের জন্য।

Crush-কে model খুঁজে নিতে দিন#

model add-এর বদলে provider add-এ --discover-models true জুড়ে দিতে পারেন। তখন Crush GET /v1/models থেকে আপনার key যে model-গুলো ব্যবহার করতে পারে, সেগুলো merge করে নেয়। কোনো openai-compat provider-এ model দেওয়া না থাকলে সে নিজে থেকেও খুঁজে নেয়।

Model বদলানো#

model large main model ঠিক করে, আর model small ঠিক করে হালকা কাজে Crush যেটা ব্যবহার করবে সেটা। যে id-গুলো যোগ করেছেন তার যেকোনোটা দেখিয়ে দিন, তারপর Crush restart করুন। session-এর ভেতরে Ctrl+P দিলে model বদলানোর menu খোলে।

model যোগ করতে model add tokens/<model id> আবার চালান, id নিন /models বা node tokens.mjs models থেকে হুবহু। crush.json-এ হলে models array-তে আরেকটা object জুড়ুন। large আর small model বাছতে Choosing a model কাজে লাগবে।

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

bash
crush models

আপনার Tokens model-গুলো <provider>/<id> ধাঁচে list-এ আসার কথা। তারপর crush চালান, একটা ছোট prompt পাঠান, আর দেখুন সেটা Dashboard-এর Usage analytics-এ আসছে কি না। log থাকে project folder-এর ./.crush/logs/crush.log-এ।

সমস্যা হলে#

model id ভুলভাবে ভেঙে যাচ্ছে। model add <provider>/<id> provider আর id আলাদা করে। কিন্তু tokens/deepseek/deepseek-v4.1-flash-এর মতো যে id-র নিজের ভেতরেই slash আছে, Crush তা কীভাবে সামলায় সেটা তাদের docs-এ বলা নেই। model crush models-এ না এলে model add-এর লাইনগুলো সরিয়ে বরং --discover-models true দিন, আর id-টা লিখুন ঠিক যেভাবে crush models ছাপে।

401 missing_api_key। Crush যেখানে চলছে সেখানে variable সেট নেই। ওপরের :? ধাঁচে লিখলে Crush বরং "set TOKENS_API_KEY" বলে থেমে যাবে।

বদল কাজ করছে না। project-এর .crushrc বা crushrc আপনার global file-এর চেয়ে বেশি অগ্রাধিকার পায়। project folder দেখুন।

404 model_not_found বা 403 model_not_allowed_on_key। id-র বানান ভুল, অথবা key-এর allow-list-এ model-টা নেই। allow-list বদলানো যায় না, তাই অন্য set লাগলে নতুন key বানান।

Tokens CLI Crush বাদ দিয়ে গেছে। আপনার crush.json-এ comment আছে, নয়তো JSON ভুল, তাই CLI file ছোঁয়নি। ওপরের crushrc setup করুন, অথবা /dashboard/connect থেকে snippet copy করুন।

Config file code হিসেবে চলে

crushrc shell হিসেবে execute হয়, আর crush.json-এর ভেতরে $(...) থাকলে Crush সেটা load করার সময় চলে যায়। শুধু সেই config file ব্যবহার করুন যেটা আপনি নিজে লিখেছেন বা পড়ে দেখেছেন, বিশেষ করে clone করা repository-র project-level file।

অন্য error code-এর জন্য Troubleshooting দেখুন।

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

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

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

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