علم کے مرکز کے حصے ▾

نیویگیشن

▸ یہاں سے شروع کریں کردار کے لحاظ سے

زمرہ جات

ٹولز 52
لغت 12

ٹولز

Crush + JoinGonka Gateway: Gonka نیٹ ورک کے ماڈلز پر Charm ایجنٹ

Crush — Charm کی طرف سے ٹرمینل کوڈنگ-ایجنٹ، جن کی کنسول انٹرفیس لائبریریوں پر دسیوں ہزار پروگرام بنے ہوئے ہیں۔ یہ پروجیکٹ فائلیں پڑھتا اور درست کرتا ہے، کمانڈز چلاتا ہے، لینگویج سرورز (LSP) سے کانٹیکسٹ لیتا ہے، MCP کے ذریعے بیرونی ٹولز کو جوڑتا ہے، اور سیشن کے دوران کانٹیکسٹ کھوئے بغیر ماڈل تبدیل کر سکتا ہے۔ یہ macOS، Linux اور Windows کے ٹرمینلز پر کام کرتا ہے، نیز Android اور BSD پر؛ لائسنس — FSL-1.1-MIT۔ پروجیکٹ کی تاریخ نمایاں ہے: آرکائیو شدہ opencode-ai/opencode ریپوزٹری براہ راست Crush کی طرف اشارہ کرتی ہے — جسے پہلے مصنف اور Charm ٹیم نے آگے بڑھایا۔

Crush دو قسم کے تھرڈ پارٹی پرووائیڈرز کو قبول کرتا ہے — OpenAI اور Anthropic-مطابقت پذیر API۔ JoinGonka Gateway بطور openai-compat منسلک ہوتا ہے: ایک انسٹالر کمانڈ یا کنفگ کی دس لائنوں کے ذریعے۔ اس کے بعد ایجنٹ Gonka کے ڈی سینٹرلائزڈ نیٹ ورک کے ماڈلز پر کام کرتا ہے — DeepSeek V4 Flash، GLM-5.3 Flash اور MiniMax M2.7 — ایک ہی قیمت پر: فی ملین ان پٹ ٹوکن $0.0069۔

پہلے سیشن سے پہلے Crush کی دو خصوصیات جاننا ضروری ہے: یہ ماڈلز کو دو سلاٹس، لارج اور اسمال میں تقسیم کرتا ہے، اور انٹرفیس میں منتخب کردہ ماڈل کو ایک الگ اسٹیٹ فائل میں محفوظ کرتا ہے جو کنفگ سے زیادہ اہم ہے۔ ان کے لیے الگ سیکشن مختص ہے۔ نیچے دی گئی کمانڈز اور پیغامات 23 ستمبر 2026 کو گیٹ وے کے ذریعے Crush 0.96.1 کے لائیو رن کے ساتھ تصدیق شدہ ہیں۔ ایڈریس کی تصدیق کے بعد اکاؤنٹ میں 3M مفت ٹوکن آئیں گے — جو خود سب کچھ کرنے کے لیے کافی ہیں۔

فوری آغاز: تنصیب اور ایک کمانڈ

مرحلہ 1: Crush انسٹال کریں۔ پروجیکٹ کی README میں دیے گئے سرکاری طریقے:

# Homebrew
brew install charmbracelet/tap/crush

# npm
npm install -g @charmland/crush

# Arch Linux
yay -S crush-bin

# Windows
winget install charmbracelet.crush

# Go
go install github.com/charmbracelet/crush@latest

وہیں Debian، Ubuntu، Fedora اور RHEL، Nix اور Scoop کے پیکیج ریپوزٹریز کا بھی ذکر ہے، اور ریلیز صفحے پر تیار بائنریز موجود ہیں۔ تصدیق کے لیے — crush --version، جواب میں crush version v0.96.1 جیسی لائن آئے گی۔

مرحلہ 2: کلید حاصل کریں۔ gate.joingonka.ai/register پر رجسٹر کریں، ایڈریس کی تصدیق کریں اور «API-کلیدیں» کے سیکشن میں jg- پریفکس والی کلید بنائیں۔ ایک کلید اور ایک بیلنس نیٹ ورک کے تمام ماڈلز کے لیے کارآمد ہے۔

مرحلہ 3: انسٹالر چلائیں۔

npx @joingonka/setup --tool crush

انسٹالر کلید پوچھے گا — کمانڈ لائن کے آرگیومنٹس میں یہ نہیں دی جاتی تاکہ شیل کی تاریخ میں نہ رہ جائے — اور چار کام کرے گا:

  • ~/.config/crush/crush.json میں joingonka پرووائیڈر لکھے گا: ٹائپ openai-compat، گیٹ وے کا پتہ، کلید براہِ راست اور نیٹ ورک کے تین ماڈلز کانٹیکسٹ ونڈوز، جواب کی حد اور فی ملین ٹوکن قیمتوں کے ساتھ، جو وہ انسٹال کے وقت ہی گیٹ وے سے لائیو لیتا ہے — انہی کی بنیاد پر Crush سیشن کی لاگت شمار کرتا ہے۔ فائل کو 600 کی اجازتیں ملیں گی؛
  • ماڈلز مقرر کرے گا: large سلاٹ میں — DeepSeek V4 Flash، small میں — MiniMax M2.7، جبکہ GLM-5.3 Flash دستی انتخاب کی فہرست میں رہے گا۔ یہ وہ صرف اسی صورت کرے گا جب large سلاٹ خالی ہو یا نیٹ ورک سے نکل چکے ہمارے کسی ماڈل کی طرف اشارہ کرے؛ کسی اور کا انتخاب برقرار رہے گا، اور آؤٹ پٹ میں سوئچ کرنے کا طریقہ بتانے والا اشارہ ہوگا؛
  • جانچے گا کہ انتخاب مؤثر ہوگا: Crush انٹرفیس سے چنا گیا ماڈل اسٹیٹ فائل میں رہتا ہے، اور وہی کنفگ کو اوور رائیڈ کرتا ہے، — یہی large اور small والے حصے کا موضوع ہے؛
  • بیک اپ بنائے گا، باقی پرووائیڈرز اور سیٹنگز ویسے ہی رہنے دے گا اور گیٹ وے پر ایک لائیو درخواست کے ساتھ اختتام کرے گا، تاکہ فوراً کلید، پتہ اور ماڈل جانچ لیے جائیں۔

دوسرا ماڈل --model فلیگ سے دیا جاتا ہے، مخفف deepseek، glm یا minimax کے ساتھ؛ واضح طور پر بتایا گیا ماڈل ہمیشہ لکھا جاتا ہے۔ غیر معیاری ڈائریکٹریز انسٹالر بالکل Crush کی طرح مدنظر رکھتا ہے: کنفگ کے لیے CRUSH_GLOBAL_CONFIG، اسٹیٹ فائل کے لیے CRUSH_GLOBAL_DATA، نیز XDG_CONFIG_HOME اور XDG_DATA_HOME۔ سرورز اور اسکرپٹس کے لیے بغیر سوال والا موڈ موجود ہے، اس میں کلید ماحولیاتی ویری ایبل سے لی جاتی ہے:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool crush --model glm --non-interactive

Crush کی بنیادی فارمیٹ اب crushrc ہے، مگر انسٹالر crush.json لکھتا ہے: اسے تمام ورژن سمجھتے ہیں۔ اگر آپ کے پاس crushrc پہلے سے موجود ہے تو Crush دونوں فائلیں یکجا کر دے گا، کلیدوں کے ٹکرانے پر crushrc جیت جائے گا، اور انسٹالر اسے چھوتا تک نہیں۔

مینوئل کنفیگریشن: crush.json یا crushrc

انسٹالر جو کچھ کرتا ہے، وہ سب ہاتھ سے لکھا جا سکتا ہے۔ یہاں ایک کام کرنے والی ~/.config/crush/crush.json موجود ہے — یہ فائل ہم نے گیٹ وے سے گزار کر دیکھی:

{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "joingonka": {
      "name": "JoinGonka (Gonka)",
      "type": "openai-compat",
      "base_url": "https://gate.joingonka.ai/v1",
      "api_key": "jg-your-key",
      "models": [
        { "id": "deepseek-ai/DeepSeek-V4-Flash-0731", "name": "DeepSeek V4 Flash (Gonka)",
          "context_window": 380000, "default_max_tokens": 32768,
          "can_reason": true, "supports_attachments": false },
        { "id": "MiniMaxAI/MiniMax-M2.7", "name": "MiniMax M2.7 (Gonka)",
          "context_window": 200000, "default_max_tokens": 8192,
          "can_reason": false, "supports_attachments": false },
        { "id": "zai-org/GLM-5.3-Flash", "name": "GLM-5.3 Flash (Gonka)",
          "context_window": 390000, "default_max_tokens": 8192,
          "can_reason": true, "supports_attachments": false }
      ]
    }
  },
  "models": {
    "large": { "provider": "joingonka", "model": "deepseek-ai/DeepSeek-V4-Flash-0731" },
    "small": { "provider": "joingonka", "model": "MiniMaxAI/MiniMax-M2.7" }
  }
}
فیلڈویلیوکیا اہم ہے
typeopenai-compatOpenAI کے مطابق API رکھنے والی تھرڈ پارٹی سروسز کے لیے ٹائپ۔ openai ٹائپ Crush کی دستاویزات خود OpenAI کے ذریعے بھیجی جانے والی درخواستوں کے لیے مخصوص رکھتی ہیں
base_urlhttps://gate.joingonka.ai/v1آخر میں /v1 کے ساتھ: /chat/completions کا راستہ Crush خود لگا دیتا ہے
api_keyآپ کی کلید jg-…Crush ویلیو کو شیل سبسٹیٹیوشن سے گزارتا ہے، اس لیے کلید کے بجائے $JOINGONKA_API_KEY لکھا جا سکتا ہے — پھر ویری ایبل وہاں ایکسپورٹ ہونا چاہیے جہاں سے Crush چلایا جاتا ہے
context_windowماڈل کی ونڈواسی کی بنیاد پر Crush کانٹیکسٹ کی بھرائی دکھاتا ہے اور فیصلہ کرتا ہے کہ ہسٹری کب سکیڑنی ہے
default_max_tokensجواب کی حدہر درخواست میں max_tokens کے طور پر جاتا ہے۔ ریزننگ ماڈلز میں اس بجٹ میں ریزننگ بھی شامل ہوتی ہے

Crush صرف سخت JSON قبول کرتا ہے: ایک تبصرہ یا ٹریلنگ کاما — اور وہ اسٹارٹ نہیں ہوگا۔ قیمت کے فیلڈز (cost_per_1m_in، cost_per_1m_out اور کیش کے لیے دو فیلڈز) صرف لاگت کے کاؤنٹر کے لیے ضروری ہیں: انسٹالر وہاں گیٹ وے کی لائیو قیمت لکھ دیتا ہے، اور ان کے بغیر Crush چلتا رہتا ہے اور صفر دکھاتا ہے — صرف $schema کے اسکیما والا ایڈیٹر انہیں لازمی کے طور پر نمایاں کرے گا۔

crushrc فارمیٹ میں وہی پرووائیڈر — یہ Crush کے بلٹ اِن کمانڈز کے ساتھ عام Bash ہے۔ فائل ~/.config/crush/crushrc:

provider add joingonka \
  --name "JoinGonka (Gonka)" \
  --type openai-compat \
  --base-url "https://gate.joingonka.ai/v1" \
  --api-key "${JOINGONKA_API_KEY:?set JOINGONKA_API_KEY}"

model add joingonka/deepseek-ai/DeepSeek-V4-Flash-0731 \
  --name "DeepSeek V4 Flash (Gonka)" \
  --context-window 380000 --default-max-tokens 32768 --can-reason true

model add joingonka/MiniMaxAI/MiniMax-M2.7 \
  --name "MiniMax M2.7 (Gonka)" \
  --context-window 200000 --default-max-tokens 8192

model add joingonka/zai-org/GLM-5.3-Flash \
  --name "GLM-5.3 Flash (Gonka)" \
  --context-window 390000 --default-max-tokens 8192 --can-reason true

model large joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
model small joingonka/MiniMaxAI/MiniMax-M2.7

یہاں ماڈل کو provider/model-id کی شکل میں پکارا جاتا ہے: پہلے سلیش سے پہلے پرووائیڈر کا نام، اس کے بعد نیٹ ورک کی شناخت جوں کی توں۔ ${JOINGONKA_API_KEY:?…} کی شکل کلید کو فائل سے باہر رکھتی ہے، مگر ایکسپورٹ شدہ ویری ایبل کے بغیر Crush اسٹارٹ نہیں ہوتا — خالی کلید سے درخواستیں بھیجنے سے بہتر ہے کہ شروع ہی میں خرابی آ جائے۔

large اور small ماڈلز اور اسٹیٹ فائل

Crush میں ماڈل ایک ہی بار سب کے لیے منتخب نہیں ہوتا، بلکہ دو سلاٹس کے لیے الگ الگ ہوتا ہے:

سلاٹاس پر کیا چلتا ہےانسٹالر کیا سیٹ کرتا ہےتبدیلی کا طریقہ
largeمین ایجنٹ: فائلوں کو پڑھنے، ترمیم کرنے اور کمانڈز چلانے کے تمام کامDeepSeek V4 Flash: 380K ونڈو اور نیٹ ورک کی سب سے بڑی رسپانس سیلنگ، 32768انٹرفیس میں ctrl+l، crush run کے ساتھ -m، کنفیگ میں models.large
smallمعاون کام: سیشن کا نام اور سب ایجنٹ، جو نیٹ پر تلاش کرتا ہے اور ویب صفحات پڑھتا ہے۔ اگر چھوٹا ماڈل نام دینے میں ناکام رہے، تو Crush بڑی ماڈل سے دوبارہ درخواست کرتا ہےMiniMax M2.7: اس کی نیٹ ورک میں سب سے زیادہ گنجائش ہےcrush run کے ساتھ --small-model، کنفیگ میں models.small، crushrc میں model small

نیٹ ورک کا تیسرا ماڈل، ریزننگ GLM-5.3 Flash، پیچیدہ منطق (logic) کے لیے منتخب کیا جاتا ہے، یہ یاد رکھتے ہوئے کہ اس کی رسپانس سیلنگ 8192 ہے اور اس کا کچھ حصہ ریزننگ میں خرچ ہوتا ہے — تفصیلات ماڈل کے جائزے میں ملاحظہ کریں۔ ہر بار چلانے کے لیے ماڈل کا پورا نام دیا جاتا ہے: crush run -m joingonka/zai-org/GLM-5.3-Flash "…"۔ تمام دستیاب نام دیکھنے کے لیے crush models joingonka استعمال کریں۔

اسٹیٹ فائل۔ ctrl+l کے ذریعے انٹرفیس میں منتخب کردہ ماڈل کو Crush crush.json میں نہیں بلکہ مشین اسٹیٹ فائل میں لکھتا ہے: ~/.local/share/crush/crush.json، Windows میں — %LOCALAPPDATA%\crush\crush.json۔ یہ فائل صارف کی کنفیگ اور crushrc دونوں سے زیادہ اہم ہے: Crush انہیں اس ترتیب سے پڑھتا ہے /etc/crush/crush.json → ~/.config/crush/crush.json → ~/.config/crush/crushrc → اسٹیٹ فائل، اور ہر اگلی فائل پچھلی پر فوقیت رکھتی ہے۔ ان سے اوپر صرف پروجیکٹ کی سیٹنگز ہوتی ہیں—اسی ڈائریکٹری میں موجود crush.json یا crushrc۔ آپ کی مشین پر فائلیں کہاں ہیں، یہ crush dirs دکھائے گا۔

ہمارے رن میں، ہم نے ماڈل سلیکشن کھولا—پرووائیڈر "JoinGonka (Gonka)" وہاں "✓ Configured" نشان کے ساتھ موجود ہے—اور MiniMax M2.7 کو منتخب کیا۔ Crush نے جواب دیا "Large model changed to MiniMax M2.7 (Gonka)" اور اسٹیٹ فائل میں درج کیا:

{"models":{"large":{"model":"MiniMaxAI/MiniMax-M2.7","provider":"joingonka","max_tokens":8192}}, …}

اب یہ ماڈل crush.json میں لکھی ہوئی چیز سے زیادہ اہم ہے۔ انسٹالر اس صورتحال کو پہچانتا ہے اور مختلف طریقے سے کام کرتا ہے:

  • بغیر --model کے: یہ اسٹیٹ فائل کو نہیں چھیڑتا—یہ آپ کا منتخب کردہ کام ہے—لیکن واضح طور پر خبردار کرتا ہے کہ Crush درحقیقت کس ماڈل کے ساتھ شروع ہوگا: Heads-up: Crush will still start with joingonka/MiniMaxAI/MiniMax-M2.7, not joingonka/deepseek-ai/DeepSeek-V4-Flash-0731۔ یہی عمل ہوگا اگر انٹرفیس میں GLM-5.3 Flash یا کسی اور پرووائیڈر کا ماڈل منتخب ہو۔
  • واضح --model کے ساتھ: یہ اسٹیٹ فائل میں صرف ایک انٹری—models.large—درست کرتا ہے، پہلے ایک کاپی محفوظ کرتا ہے، اور لکھتا ہے کہ پہلے کیا تھا اور اب کیا ہو گیا ہے۔ بصورت دیگر فلیگ خاموشی سے اثر نہ کرتا۔ اس طرح کے لانچ کے بعد Crush ہمارے رن میں فلیگ میں بتائے گئے ماڈل پر کھلا۔

جانچ: کیا ہونا چاہیے

پہلے یقینی بنائیں کہ Crush پرووائیڈر دیکھ رہا ہے:

crush models joingonka

جواب میں تین لائنیں آئیں گی:

joingonka/MiniMaxAI/MiniMax-M2.7
joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
joingonka/zai-org/GLM-5.3-Flash

پھر انٹرفیس کے بغیر ایک بار چلائیں۔ پروجیکٹ ڈائریکٹری میں واضح خرابی والی فائل رکھیں اور اسے ڈھونڈنے کو کہیں:

crush run -q "Read calc.py and tell me in one sentence whether it has a bug."

ایجنٹ کو خود ہی فائل پڑھنے کا ٹول کال کرنا چاہیے اور لائن نمبر کے ساتھ اصل بات بتانی چاہیے۔ ہمارے رن میں تینوں ماڈلز نے خرابی پکڑی، کام میں 20-40 سیکنڈ لگے۔ -q فلیگ انتظار کا انڈیکیٹر چھپا دیتا ہے۔ crush run موڈ میں تمام ٹول کالز خودکار طور پر منظور ہو جاتی ہیں، اس لیے اسے اپنے پروجیکٹ میں چلائیں۔ عام انٹرفیس میں (crush کمانڈ) فعال ماڈل اسٹیٹس لائن میں نظر آتا ہے: ◇ DeepSeek V4 Flash (Gonka) via JoinGonka (Gonka)۔ Crush سیشنز اور لاگ پروجیکٹ کی .crush ڈائریکٹری میں رکھتا ہے، جو اپنے .gitignore سے git سے چھپی رہتی ہے؛ لاگ دکھانے کے لیے crush logs۔ گیٹ وے کی طرف سے درخواست ڈیش بورڈ میں نظر آتی ہے: "استعمال" سیکشن، "ماڈل کے مطابق" اور "کی کے مطابق" تقسیم۔

اگر کچھ غلط ہو جائے تو عام طور پر پیغام ہی سے تشخیص ہو جاتی ہے:

کیا نظر آتا ہےاس کا مطلبکیا کریں
unauthorized: Invalid API key.گیٹ وے نے کی قبول نہیں کیapi_key چیک کریں: مکمل کی، بغیر اسپیس کے۔ اگر وہاں کسی ویری ایبل کا حوالہ ہے تو اسے اسی شیل میں ایکسپورٹ ہونا چاہیے
invalid JSON in config file …/crush.jsonفائل میں تبصرہ، لٹکی ہوئی کوما یا ٹائپو ہےCrush صرف سخت JSON قبول کرتا ہے: فائل درست کریں۔ انسٹالر تبصرے خود صاف نہیں کرتا، مگر ان پر خبردار کرتا ہے، اور جو فائل بالکل پارس نہ ہو اسے چھیڑتا نہیں اور وجہ بتاتا ہے
failed to load shell config …/crushrc: … exit status 1crushrc میں خرابی، زیادہ تر ${…:?} شکل میں کی والا ویری ایبل سیٹ نہیںچلانے سے پہلے ویری ایبل ایکسپورٹ کریں یا وہ لائن درست کریں جہاں اسکرپٹ ناکام ہو رہی ہے
Failed to override models: large model "…" not found-m فلیگ میں ماڈل کے نام کی ٹائپوcrush models joingonka کے آؤٹ پٹ سے نام کاپی کریں
too many requests: Model "…" is currently overloaded in the Gonka network (rate limit)پیک آور میں نیٹ ورک میں ماڈل کی مفت گنجائش ختم ہو گئیCrush خود بڑھتی ہوئی وقفوں کے ساتھ درخواست دہراتا ہے — ہمارے رن میں تقریباً ایک منٹ — اور تب ہی ہار مانتا ہے۔ ctrl+l یا -m سے دوسرے ماڈل پر جائیں یا انتظار کریں؛ حالت اسٹیٹس پیج پر نظر آتی ہے
انسٹالر نے جس ماڈل کی خبر دی، Crush اس پر نہیں کھلاانٹرفیس کا انتخاب اسٹیٹ فائل میں ہوتا ہے اور کنفگ کو اوور رائیڈ کرتا ہےctrl+l سے ماڈل منتخب کریں یا --model کے ساتھ انسٹال دہرائیں
402بیلنس میں رقم ختم"بلنگ" سیکشن میں اکاؤنٹ ری چارج کریں؛ کی تب بھی کام کرتی رہے گی

اس کی قیمت کیا ہے

ایجنٹ چیٹ کے مقابلے میں ٹوکن مختلف طریقے سے خرچ کرتا ہے: آپ کے ہر جملے کے ساتھ Crush سسٹم پرامپٹ اور اپنے ٹولز کی تفصیلات شامل کرتا ہے، اور کسی کام کو مکمل کرنے میں عام طور پر چند موڑ لگتے ہیں۔ ہماری رن میں، ماڈل کی ہر درخواست میں تقریباً 11.5 ہزار ان پٹ ٹوکن تھے، اور "فائل پڑھنا اور غلطی ڈھونڈنا" کام میں دو-تین درخواستیں اور 23-35 ہزار ٹوکن لگے، جس میں تقریباً سارا ان پٹ تھا۔ اس لیے ٹوکن کی قیمت یہاں اہم ہے۔

JoinGonka Gateway کے ذریعے ٹوکن کی قیمت ان پٹ پر $0.0069 فی ملین اور آؤٹ پٹ پر $0.021 فی ملین ہے — قیمت نیٹ ورک کے تمام ماڈلز کے لیے ایک جیسی ہے اور اس صفحے پر لائیو سورس سے اپ ڈیٹ ہوتی ہے۔

اسیناریوخرچGateway کے ذریعے
ایک بار کا کام: فائل پڑھنا، غلطی ڈھونڈنا23-35K ٹوکنسینٹ کے سوویں حصے
فعال کام کا ایک دن3-7M ٹوکنچند سینٹ
فعال ڈویلپمنٹ کا ایک مہینہ~150M ٹوکنتقریباً ایک ڈالر

دائیں کالم کے اندازے ستمبر 2026 کی قیمتوں کے مطابق ہیں۔ موازنہ کے لیے — Crush میں ماڈلز کے لیے ادائیگی کے طریقے:

طریقہادائیگی کا ماڈلکیا محدود کرتا ہے
Hyper — آفیشل Charm پرووائیڈرسبسکرپشن، فری ٹیئر موجود ہےCharm کی طرف سے ٹیرف کی شرائط
وینڈر کی براہ راستوینڈر کے ریٹ پر ٹوکن کے حساب سےسیشن کی لمبائی کے ساتھ بل بڑھتا ہے؛ قیمت ماڈل پر منحصر ہے
JoinGonka Gatewayٹوکن کے حساب سے، پری پیڈ بیلنسخرچ ڈیش بورڈ میں نظر آتا ہے؛ کوئی سبسکرپشن یا ماہانہ کوٹہ نہیں ہے

Crush انٹرفیس کا کاسٹ کاؤنٹر کنفگ سے قیمت کا حساب کرتا ہے۔ وہاں انسٹالیشن کے وقت گیٹ وے کی قیمت ہوتی ہے، اور نیٹ ورک میں ڈالر کی قیمت GNK ریٹ کے ساتھ بدلتی رہتی ہے، اس لیے کاؤنٹر صرف ایک رہنمائی ہے۔ درست خرچ اور بیلنس ڈیش بورڈ کے "Usage" اور "Billing" سیکشن میں دیکھا جا سکتا ہے۔ ڈیفالٹ طور پر large سلاٹ میں DeepSeek V4 Flash کیوں آتا ہے، اس کی تفصیل ماڈل کے جائزے میں دی گئی ہے۔

کام کے دوران کیا یاد رکھیں

اجازتیں۔ Crush کا انٹرفیس بطور ڈیفالٹ کسی بھی ٹول کو کال کرنے سے پہلے اجازت مانگتا ہے۔ --yolo فلیگ ایک ہی بار میں تمام سوالات بند کر دیتا ہے، جبکہ مخصوص طور پر قابلِ اعتماد ٹولز کنفگ میں درج کیے جاتے ہیں:

# crushrc
permissions allow view ls grep

# crush.json
"permissions": { "allowed_tools": ["view", "ls", "grep"] }

یاد رہے کہ crush run خود ہی سب کچھ منظور کر لیتا ہے۔ یہ Crush کی خصوصیت ہے، ماڈل فراہم کنندہ پر اس کا انحصار نہیں۔

درخواست کا ٹائم آؤٹ۔ اگر ماڈل سے طویل عرصے تک جواب کا کوئی حصہ نہ آئے تو Crush درخواست منقطع کر دیتا ہے: ورژن 0.96.1 میں یہ دو منٹ کی خاموشی ہے (دستاویزات 60 سیکنڈ بتاتی ہیں، مگر کوڈ اور ہمارے ٹیسٹ میں دو منٹ ہے)۔ وہ سروس پنگز جن سے گیٹ وے کنکشن برقرار رکھتا ہے، یہ کاؤنٹر ری سیٹ نہیں کرتیں — ہم نے لوکل اسٹینڈ پر تصدیق کی۔ دوسری طرف گیٹ وے مصروف اوقات میں نیٹ ورک سے پہلے ٹوکن کے لیے 150 سیکنڈ تک انتظار کرتا ہے، لہٰذا بفر بڑھا دینا چاہیے:

# crushrc
option request-timeout 300

# crush.json
"options": { "request_timeout": 300 }

کمٹس میں دستخط۔ Crush جو کمٹس اور پل ریکویسٹس بناتا ہے، انہیں بطور ڈیفالٹ Assisted-by: Crush:<model> لائن اور «Generated with Crush» کا اضافہ ملتا ہے۔ اگر یہ نہ چاہیں:

# crushrc
option attribution-trailer-style none
option attribution-generated-with false

# crush.json
"options": { "attribution": { "trailer_style": "none", "generated_with": false } }

میٹرکس۔ Crush ڈیویلپرز کو فرضی نام کے ساتھ استعمال کے اعداد و شمار بھیجتا ہے — صرف میٹا ڈیٹا، پرامپٹس یا جوابات کے بغیر۔ CRUSH_DISABLE_METRICS=1 یا DO_NOT_TRACK=1 ویری ایبل سے بند ہو جاتا ہے۔ گیٹ وے اپنی طرف سے پرامپٹس اور جوابات کا مواد محفوظ نہیں کرتا — اعداد و شمار میں صرف خرچ کے مجموعی اعداد رہتے ہیں۔

کنفگ ہی کوڈ ہے۔ Crush آپ کے شیل کے اختیارات کے ساتھ crushrc اور crush.json دونوں چلاتا ہے: کلید کے فیلڈ میں $(…) لوڈ ہوتے وقت چلے گا، اور پروجیکٹ کا crushrc اس ڈائریکٹری میں آپ کے Crush کھولتے ہی فعال ہو جائے گا۔ کسی اور کے ریپوزٹری میں اس کی کنفگ پڑھے بغیر ایجنٹ نہ چلائیں۔

Crush ایک کمانڈ کے ذریعے JoinGonka Gateway سے جڑ جاتا ہے — npx @joingonka/setup --tool crush — یا ~/.config/crush/crush.json میں providers.joingonka بلاک کے ذریعے: ٹائپ openai-compat، ایڈریس https://gate.joingonka.ai/v1، کی (key) jg-…، درست context_window اور default_max_tokens والے ماڈلز۔ یہی کام crushrc میں چند provider add اور model add لائنوں کے ساتھ بھی کیا جا سکتا ہے۔ Large سلاٹ کے لیے DeepSeek V4 Flash، small کے لیے MiniMax M2.7، اور پیچیدہ منطق کے لیے GLM-5.3 Flash استعمال ہوتا ہے۔ سب سے بڑا جال اسٹیٹ فائل ہے: ctrl+l کے ذریعے منتخب کردہ ماڈل کنفیگ سے زیادہ اہم ہے، اس لیے واضح --model کے ساتھ انسٹالر اسے بھی درست کر دیتا ہے۔ جانچ کے لیے crush models joingonka اور crush run استعمال کریں؛ ریکویسٹ ٹائم آؤٹ کو 300 سیکنڈ تک بڑھانا چاہیے۔

مزید جاننا چاہتے ہیں؟

دیگر حصوں کو دریافت کریں یا ابھی GNK کمانا شروع کریں۔

کی اور مفت ٹوکن حاصل کریں →