Bumalik sa blog

Mga tool at integrasyonGabay

Ikonekta ang Crush sa CheapTokens: crushrc provider, model, key

Idagdag ang CheapTokens sa Crush gamit ang dalawang crushrc command: isang completions provider at isang model na may tunay na limitasyon; ang key ay galing sa environment variable.

Ni CheapTokens TeamNai-publish noong 6 min na pagbabasa

Crush config file na may CheapTokens provider at model lines
Sa pahinang ito
  1. I-install ang Crush
  2. Ilagay ang CheapTokens sa crushrc
  3. Buksan ang Crush at magpatakbo ng unang gawain
  4. Magkano ang isang coding session
  5. Kung hindi gumana

Para ikonekta ang Crush sa CheapTokens, maglagay ng dalawang command sa iyong crushrc: provider add kasama ang base URL na https://api.cheaptokens.dev/v1 at --type completions, at model add kasama ang buong model id. Pagkatapos buksan ang Crush, pindutin ang Ctrl+l, piliin ang model at bigyan ito ng gawain. Nananatili ang key sa isang environment variable, hindi sa file.

Kung sinundan mo ang isang lumang gabay, malamang na ine-edit nito ang crush.json. Binabasa pa rin ng Crush ang file na iyon, pero tinatawag itong deprecated ng README nito: ang kasalukuyang config ay crushrc, at mula sa v0.99.0 (29 Oktubre 2026) inilalarawan ng provider na --type ang format ng API, hindi ang vendor. Ang mga pinagmulan ay ang Crush README at ang release notes, sinuri noong 10 Nobyembre 2026; ang pinakabagong stable release sa petsang iyon ay v0.100.0.

I-install ang Crush#

Piliin kung alin sa mga package manager na mayroon ka na. Isang binary lang ang Crush, kaya hindi mahalaga kung aling ruta ang tatahakin mo.

I-install ang 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

Naglilista rin ang README ng apt at yum repositories, Scoop, Nix, Arch at FreeBSD. Patakbuhin ang crush nang isang beses para tiyakin na nagsisimula ito, pagkatapos ay lumabas.

Ilagay ang CheapTokens sa crushrc#

Inilalarawan ng README ang crushrc bilang "Bash lang na may ilang Crush-specific na builtin". Iyon ang buong lihim: nagsusulat ka ng shell, at ang provider add at model add ay mga command na nauunawaan ng Crush. Hinahanap ng Crush ang file sa ganitong pagkakasunod-sunod: ./.crushrc, ./crushrc, pagkatapos ay ~/.config/crush/crushrc.

Kaya ikaw ang pipili kung saan ito ilalagay. Ang project-local na .crushrc ay nalalapat sa isang repository; ang nasa ~/.config/crush/ ay nalalapat sa lahat ng dako. Para sa unang pagsubok, mas madali ang global.

Una, ilagay ang key sa iyong shell. Gumawa nito sa iyong CheapTokens dashboard at i-export ito (ang halaga sa ibaba ay placeholder):

bash
export CHEAPTOKENS_API_KEY="your-key-here"

Pagkatapos buksan ang ~/.config/crush/crushrc at isulat:

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

May ilang detalye na dapat tingnan muli:

  • Ang --type completions ay ang pangalan ng Crush para sa mga OpenAI-compatible na provider na hindi OpenAI mismo. Ang responses ay para sa OpenAI proxying, ang messages para sa mga Anthropic-compatible. Gumagana pa rin ang lumang openai-compat at nila-migrate ito.
  • Nagtatapos ang base URL sa /v1. Iyon ang address ng CheapTokens para sa OpenAI-style na Chat Completions; ang buong listahan ng endpoints ay nasa CheapTokens docs.
  • Pinalalawak ng shell ang $CHEAPTOKENS_API_KEY, kaya walang secret na nakalagay sa file at ang project na .crushrc ay maaaring ilagay sa git nang ligtas.
  • Ang model id ay ang buo, deepseek-ai/DeepSeek-V4-Flash-0731. Ang maikling id tulad ng deepseek-v4-flash ay tinatanggihan ng API. Pagkatapos ng pangalan ng provider ay may pangalawang slash, dahil ang id mismo ay may isa.
  • Ang --context-window 380000 ay ang ni-round na 380K ng DeepSeek-V4-Flash, at ang --default-max-tokens 32768 ay ang limitasyon nito sa bawat sagot. Ito ang tunay na limitasyon ng model sa CheapTokens: 380K context at hanggang 32,768 tokens bawat sagot. Ilagay ang mga ito sa model add sa halip na iwanan ang mga sample na halaga mula sa README (64000 at 5000).
Ang crushrc file na may CheapTokens provider at model
crushrc: isang provider line at isang model line; ang key ay galing sa environment

Ipinapakita ng README ang model add na may simpleng id lang (deepseek/deepseek-chat). May dagdag na slash ang iyong id, kaya ang model picker sa susunod na hakbang ang tunay na pagsubok: kung lumitaw ang model sa ilalim ng cheaptokens, nabasa ang linya ayon sa inaasahan.

Gusto ng ibang model sa parehong balanse? Magdagdag ng isa pang model add na linya kasama ang sarili nitong id at limitasyon. Ang GLM-5.3-Flash ay zai-org/GLM-5.3-Flash (390K context, hanggang 8,192 tokens bawat sagot), at ang MiniMax-M2.7 ay MiniMaxAI/MiniMax-M2.7 (180K context, hanggang 8,192 tokens bawat sagot). Panatilihin ang --default-max-tokens na katumbas o mas mababa sa limitasyon ng sagot ng model na idadagdag mo.

Buksan ang Crush at magpatakbo ng unang gawain#

Simulan ang crush sa isang project folder. Pindutin ang Ctrl+l para buksan ang model picker at piliin ang DeepSeek-V4-Flash mula sa grupong cheaptokens. Hindi inilalarawan ng README ang isang crushrc command para sa default na model, kaya ang picker ang paraan.

Mula crushrc hanggang sa unang sagot: provider, model, picker, gawain
Ang landas mula sa config hanggang sa unang sagot

Ngayon bigyan ito ng maliit at masusuri na gawain, halimbawa: Read this repo and tell me which file starts the app, in two lines. Ang sagot na nagbabanggit ng tunay na file ay nangangahulugang gumagana ang buong chain: key, base URL, model id.

Subukan mo mismoSubukan: pinindot mo ang Ctrl+l at wala ang model sa listahan. Ano ang unang titingnan mo?Ipakita ang sagot

Ang lokasyon ng file at ang variable. Hinahanap ng Crush ang config ayon sa priyoridad: ./.crushrc, ./crushrc, ~/.config/crush/crushrc. Tiyakin na walang ibang .crushrc o crushrc sa project na may ibang nilalaman, at na naidagdag ang provider sa file na in-edit mo. At dapat i-print ng echo $CHEAPTOKENS_API_KEY ang key sa parehong shell kung saan mo sinisimulan ang crush.

Sadyang nandiyan ang mga permission prompt. Ang permissions allow <tools> sa crushrc ay nagpapahintulot sa mga pinangalanang tool na tumakbo nang hindi nagtatanong; nilalaktawan ng --yolo ang bawat prompt, at sinasabi mismo ng README na mag-ingat nang husto dito.

Magkano ang isang coding session#

Ang isang agent step sa terminal ay mabigat sa input: ipinapadala ng Crush ang history, nilalaman ng file at tool output sa bawat pagkakataon, at tumatanggap ng katamtamang sagot. Sabihin nating ang isang average na step ay nagpapadala ng 30,000 tokens at tumatanggap ng 2,000. Sa DeepSeek-V4-Flash ang step na iyon ay nagkakahalaga ng $0.00065, at pareho ang presyo sa anumang oras, walang peak times. Kung pagsasamahin ang input at output, mas mura ito kaysa sa reference price ng OpenRouter.

Palitan ng sarili mong numero: ang session na 40 ganoong step ay isang slider lang ang layo.

Calculator ng gastos

Isang araw ng coding agent sa Crush

Mga input token bawat kahilingan: 30,000 · Mga output token bawat kahilingan: 2,000 · Mga kahilingan bawat araw: 40

ModeloBawat arawBawat buwan
GLM-5.3-Flash$0.0272$0.816
DeepSeek-V4-Flash$0.026$0.78
MiniMax-M2.7$0.072$2.16

Lumalaki ang input bawat step habang tumatagal ang session, kaya suriin ang mahabang session laban sa 380K window kaysa sa average. Ang kasalukuyang presyo kada token para sa bawat model ay nasa pricing page.

Kung hindi gumana#

Nagsusulat ang Crush ng log sa iyong project, ./.crush/logs/crush.log. Basahin ito bago maghula:

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

Maaari mo ring ilagay ang option debug true sa crushrc para manatiling naka-on ang debug output. Pagkatapos, itugma ang nakikita mo sa HTTP status na ibinalik ng API:

  • 401: naipadala ang key pero hindi nakilala: typo o napalitan ang key. Gumawa o kopyahin itong muli.
  • 402: naubos ang balanse o ang limitasyon ng key. Pareho ang hitsura ng request na walang key, kaya patakbuhin ang echo $CHEAPTOKENS_API_KEY sa shell kung saan mo sinisimulan ang crush. Kung nandiyan ang key, dagdagan ang balanse.
  • 429: masyadong maraming request sa maikling panahon. Hintayin ang halaga ng Retry-After at subukan muli.
  • 400 o "model not found": tingnan ang model id. Dapat ito ang buo mula sa docs, kasama ang vendor prefix.

Kung galing ka sa crush.json, tandaan na ang ~/.local/share/crush/crush.json ay state ng Crush, hindi config; huwag itong i-edit nang manu-mano.

Para sa parehong setup sa ibang tool, tingnan ang Connect Aider to CheapTokens at Connect Kilo Code to CheapTokens. Ang model page para sa cheap DeepSeek ay may mga limitasyon ng model na ginamit dito.