ब्लॉग पर वापस जाएं

टूल्स और इंटीग्रेशनगाइड

Crush को CheapTokens से जोड़ें: crushrc provider, model, key

दो crushrc कमांड से CheapTokens को Crush में जोड़ें: एक completions provider और वास्तविक सीमाओं वाला एक model; कुंजी एक environment variable से आती है।

CheapTokens Team द्वाराप्रकाशित 8 मिनट का पाठ

CheapTokens provider और model पंक्तियों वाली Crush कॉन्फ़िग फ़ाइल
इस पृष्ठ पर
  1. Crush इंस्टॉल करें
  2. CheapTokens को crushrc में डालें
  3. Crush खोलें और पहला काम चलाएँ
  4. एक कोडिंग सेशन का ख़र्च
  5. अगर यह काम न करे

Crush को CheapTokens से जोड़ने के लिए अपने crushrc में दो कमांड डालें: provider add बेस URL https://api.cheaptokens.dev/v1 और --type completions के साथ, और model add पूरे मॉडल id के साथ। फिर Crush खोलें, Ctrl+l दबाएँ, मॉडल चुनें और उसे कोई काम दें। कुंजी फ़ाइल में नहीं, एक environment variable में रहती है।

अगर आपने कोई पुरानी गाइड फ़ॉलो की है, तो वह संभवतः crush.json को संपादित करती है। Crush अब भी उस फ़ाइल को पढ़ता है, लेकिन उसका README इसे deprecated कहता है: वर्तमान कॉन्फ़िग crushrc है, और v0.99.0 (29 अक्टूबर 2026) से provider --type API फ़ॉर्मेट बताता है, विक्रेता नहीं। स्रोत हैं Crush README और release notes, 10 नवंबर 2026 को जाँचे गए; उस तारीख़ पर नवीनतम स्थिर रिलीज़ v0.100.0 है।

Crush इंस्टॉल करें#

जो भी package manager आपके पास पहले से है, वही चुनें। Crush एक ही बाइनरी है, इसलिए कौन-सा रास्ता लेते हैं, इससे फ़र्क़ नहीं पड़ता।

Crush इंस्टॉल करें

Homebrew

bash
brew install charmbracelet/tap/crush

npm

bash
npm install -g @charmland/crush

winget

bash
winget install charmbracelet.crush

Go

bash
go install github.com/charmbracelet/crush@latest

README में apt और yum रिपॉज़िटरी, Scoop, Nix, Arch और FreeBSD भी सूचीबद्ध हैं। यह जाँचने के लिए कि यह शुरू होता है, एक बार crush चलाएँ, फिर बाहर निकलें।

CheapTokens को crushrc में डालें#

README crushrc को "कुछ Crush-विशिष्ट builtins के साथ बस Bash" बताता है। पूरा करिश्मा यही है: आप shell लिखते हैं, और provider add तथा model add ऐसे कमांड हैं जिन्हें Crush समझता है। Crush फ़ाइल को इस क्रम में खोजता है: ./.crushrc, ./crushrc, फिर ~/.config/crush/crushrc।

तो आप तय करते हैं कि यह कहाँ रहे। प्रोजेक्ट-लोकल .crushrc एक रिपॉज़िटरी पर लागू होता है; ~/.config/crush/ वाला हर जगह लागू होता है। पहली कोशिश के लिए ग्लोबल वाला आसान है।

पहले कुंजी अपने shell में डालें। इसे अपने CheapTokens डैशबोर्ड में बनाएँ और export करें (नीचे दिया मान एक placeholder है):

bash
export CHEAPTOKENS_API_KEY="your-key-here"

फिर ~/.config/crush/crushrc खोलें और लिखें:

bash
provider add cheaptokens --type completions \
  --base-url "https://api.cheaptokens.dev/v1" \
  --api-key "$CHEAPTOKENS_API_KEY"

model add cheaptokens/deepseek-ai/DeepSeek-V4-Flash-0731 \
  --name "DeepSeek-V4-Flash" \
  --context-window 380000 \
  --default-max-tokens 32768

कुछ बातें दोबारा देखने लायक हैं:

  • --type completions उन OpenAI-संगत providers के लिए Crush का नाम है जो स्वयं OpenAI नहीं हैं। responses OpenAI प्रॉक्सी के लिए है, messages Anthropic-संगत वालों के लिए। पुराना openai-compat अब भी काम करता है और migrate हो जाता है।
  • बेस URL /v1 पर समाप्त होता है। यह OpenAI-शैली Chat Completions के लिए CheapTokens का पता है; endpoints की पूरी सूची CheapTokens docs में है।
  • $CHEAPTOKENS_API_KEY को shell expand करता है, इसलिए फ़ाइल में कोई रहस्य नहीं रहता और प्रोजेक्ट .crushrc सुरक्षित रूप से git में जा सकता है।
  • मॉडल id पूरा वाला है, deepseek-ai/DeepSeek-V4-Flash-0731। deepseek-v4-flash जैसा छोटा id API द्वारा अस्वीकार कर दिया जाता है। provider नाम के बाद दूसरा slash आता है, क्योंकि id में स्वयं एक slash है।
  • --context-window 380000 DeepSeek-V4-Flash का पूर्णांकित 380K है, और --default-max-tokens 32768 उसकी प्रति-उत्तर सीमा है। ये CheapTokens में मॉडल की वास्तविक सीमाएँ हैं: 380K context और प्रति उत्तर अधिकतम 32,768 tokens। इन्हें model add में डालें, README के नमूना मान (64000 और 5000) छोड़ने के बजाय।
CheapTokens provider और model वाली crushrc फ़ाइल
crushrc: एक provider पंक्ति और एक model पंक्ति; कुंजी environment से आती है

README model add को केवल सरल id (deepseek/deepseek-chat) के साथ दिखाता है। आपके id में एक अतिरिक्त slash है, इसलिए अगले चरण में model picker ही असली जाँच है: अगर मॉडल cheaptokens के अंतर्गत दिखता है, तो पंक्ति इच्छानुसार पढ़ी गई।

उसी बैलेंस पर दूसरा मॉडल चाहिए? अपने id और सीमाओं के साथ एक और model add पंक्ति जोड़ें। GLM-5.3-Flash है zai-org/GLM-5.3-Flash (390K context, प्रति उत्तर अधिकतम 8,192 tokens), और MiniMax-M2.7 है MiniMaxAI/MiniMax-M2.7 (180K context, प्रति उत्तर अधिकतम 8,192 tokens)। --default-max-tokens को जोड़े गए मॉडल की उत्तर सीमा पर या उससे नीचे रखें।

Crush खोलें और पहला काम चलाएँ#

किसी प्रोजेक्ट फ़ोल्डर में crush शुरू करें। model picker खोलने के लिए Ctrl+l दबाएँ और cheaptokens समूह से DeepSeek-V4-Flash चुनें। README डिफ़ॉल्ट मॉडल के लिए कोई crushrc कमांड नहीं बताता, इसलिए picker ही रास्ता है।

crushrc से पहले उत्तर तक: provider, model, picker, task
कॉन्फ़िग से पहले उत्तर तक का रास्ता

अब इसे कुछ छोटा और जाँचने योग्य दें, जैसे: Read this repo and tell me which file starts the app, in two lines. कोई असली फ़ाइल बताने वाला उत्तर मतलब पूरी श्रृंखला काम करती है: कुंजी, बेस URL, मॉडल id।

स्वयं आज़माएँइसे आज़माएँ: आप Ctrl+l दबाते हैं और मॉडल सूची में नहीं है। आप पहले क्या जाँचेंगे?उत्तर दिखाएँ

फ़ाइल का स्थान और variable। Crush कॉन्फ़िग को प्राथमिकता से खोजता है: ./.crushrc, ./crushrc, ~/.config/crush/crushrc। जाँचें कि प्रोजेक्ट में भिन्न सामग्री वाला कोई अन्य .crushrc या crushrc न हो, और provider उसी फ़ाइल में जोड़ा गया हो जिसे आपने संपादित किया। और echo $CHEAPTOKENS_API_KEY को उसी shell में कुंजी प्रिंट करनी चाहिए जहाँ आप crush शुरू करते हैं।

अनुमति prompts जानबूझकर हैं। crushrc में permissions allow <tools> नामित tools को बिना पूछे चलने देता है; --yolo हर prompt छोड़ देता है, और README स्वयं कहता है कि इसके साथ बहुत सावधान रहें।

एक कोडिंग सेशन का ख़र्च#

टर्मिनल में एक agent step input-भारी होता है: Crush हर बार history, फ़ाइल सामग्री और tool output भेजता है, और थोड़ा-सा उत्तर पाता है। मान लें औसत step 30,000 tokens भेजता है और 2,000 प्राप्त करता है। DeepSeek-V4-Flash पर उस step का ख़र्च $0.00065 है, और कीमत किसी भी घंटे समान है, कोई peak time नहीं। input और output को साथ गिनने पर, यह OpenRouter के संदर्भ मूल्य से सस्ता है।

अपने खुद के आँकड़े डालें: ऐसे 40 steps का सेशन एक slider की दूरी पर है।

लागत कैलकुलेटर

Crush में एक कोडिंग agent का एक दिन

प्रति अनुरोध इनपुट टोकन: 30,000 · प्रति अनुरोध आउटपुट टोकन: 2,000 · प्रति दिन अनुरोध: 40

मॉडलप्रति दिनप्रति माह
GLM-5.3-Flash$0.0272$0.816
DeepSeek-V4-Flash$0.026$0.78
MiniMax-M2.7$0.072$2.16

सेशन बढ़ने के साथ प्रति step input बढ़ता है, इसलिए लंबे सेशन को औसत के बजाय 380K विंडो के सापेक्ष जाँचें। हर मॉडल के वर्तमान प्रति-token मूल्य pricing page पर हैं।

अगर यह काम न करे#

Crush आपके प्रोजेक्ट में एक लॉग लिखता है, ./.crush/logs/crush.log। अनुमान लगाने से पहले इसे पढ़ें:

bash
crush logs --tail 500
crush logs --follow
crush --debug

आप debug output चालू रखने के लिए crushrc में option debug true भी डाल सकते हैं। फिर जो दिखे उसे API द्वारा लौटाए गए HTTP status से मिलाएँ:

  • 401: कुंजी भेजी गई थी पर पहचानी नहीं गई: कोई typo या बदली हुई कुंजी। इसे फिर से बनाएँ या कॉपी करें।
  • 402: बैलेंस या कुंजी की सीमा ख़त्म हो गई है। बिना कुंजी वाला अनुरोध भी वैसा ही दिखता है, इसलिए उसी shell में echo $CHEAPTOKENS_API_KEY चलाएँ जहाँ आप crush शुरू करते हैं। अगर कुंजी वहाँ है, तो बैलेंस टॉप अप करें।
  • 429: कम समय में बहुत अधिक अनुरोध। Retry-After मान की प्रतीक्षा करें और फिर से कोशिश करें।
  • 400 या "model not found": मॉडल id देखें। यह docs से पूरा वाला होना चाहिए, vendor prefix के साथ।

अगर आप crush.json से आए हैं, तो ध्यान दें कि ~/.local/share/crush/crush.json Crush की state है, कॉन्फ़िग नहीं; इसे हाथ से संपादित न करें।

अन्य tools में वही सेटअप के लिए, देखें Connect Aider to CheapTokens और Connect Kilo Code to CheapTokens। cheap DeepSeek का मॉडल पेज यहाँ इस्तेमाल किए गए मॉडल की सीमाएँ रखता है।