Collegare Crush a CheapTokens: provider crushrc, modello, chiave
Aggiungi CheapTokens a Crush con due comandi crushrc: un provider per le completions e un modello con limiti reali; la chiave arriva da una variabile d'ambiente.

In questa pagina
Per collegare Crush a CheapTokens, inserisci due comandi nel tuo crushrc: provider add con l'URL di base https:/ e -, e model add con l'id completo del modello. Poi apri Crush, premi Ctrl+l, scegli il modello e assegnagli un compito. La chiave resta in una variabile d'ambiente, non nel file.
Se hai seguito una guida più vecchia, probabilmente modifica crush.json. Crush legge ancora quel file, ma il suo README lo definisce deprecato: la configurazione attuale è crushrc, e dalla v0.99.0 (29 ottobre 2026) il provider --type descrive il formato dell'API, non il fornitore. Le fonti sono il README di Crush e le note di rilascio, verificate il 10 novembre 2026; l'ultima release stabile a quella data è la v0.100.0.
Installa Crush#
Scegli il package manager che hai già. Crush è un singolo binario, quindi non importa quale strada prendi.
Installa Crush
Homebrew
brew install charmbracelet/tap/crushnpm
npm install -g @charmland/crushwinget
winget install charmbracelet.crushGo
go install github.com/charmbracelet/crush@latestIl README elenca anche i repository apt e yum, Scoop, Nix, Arch e FreeBSD. Esegui crush una volta per verificare che si avvii, poi esci.
Inserisci CheapTokens in crushrc#
Il README descrive crushrc come "solo Bash con alcuni builtin specifici di Crush". È tutto qui il trucco: scrivi shell, e provider add e model add sono comandi che Crush comprende. Crush cerca il file in questo ordine: ./.crushrc, ./crushrc, poi ~/.
Quindi scegli tu dove vive. Un .crushrc locale al progetto vale per un solo repository; quello in ~/.config/crush/ vale ovunque. Per il primo tentativo, quello globale è più semplice.
Prima metti la chiave nella tua shell. Creala nella dashboard di CheapTokens ed esportala (il valore qui sotto è un segnaposto):
export CHEAPTOKENS_API_KEY="your-key-here"Poi apri ~/ e scrivi:
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 32768Alcuni dettagli meritano un secondo sguardo:
-è il nome Crush per i provider compatibili con OpenAI che non sono OpenAI stesso.- type completions responsesserve per il proxying di OpenAI,messagesper quelli compatibili con Anthropic. Il vecchioopenai-compatfunziona ancora e viene migrato.- L'URL di base termina con
/v1. È l'indirizzo CheapTokens per le Chat Completions in stile OpenAI; l'elenco completo degli endpoint è nella documentazione di CheapTokens. $CHEAPTOKENS_viene espanso dalla shell, quindi il file non contiene segreti e unAPI_ KEY .crushrcdi progetto può essere messo in git senza rischi.- L'id del modello è quello completo,
deepseek-. Un id breve comeai/ DeepSeek- V4- Flash- 0731 deepseek-viene rifiutato dall'API. Dopo il nome del provider c'è una seconda barra, perché l'id stesso ne contiene una.v4- flash -è il valore arrotondato di 380K di DeepSeek-V4-Flash, e- context- window 380000 -è il suo limite per risposta. Questi sono i limiti reali del modello in CheapTokens: 380K di contesto e fino a 32.768 token per risposta. Inseriscili in- default- max- tokens 32768 model addinvece di lasciare i valori di esempio del README (64000 e 5000).

Il README mostra model add solo con un id semplice (deepseek/). Il tuo id ha una barra in più, quindi il selettore di modelli nel passaggio successivo è la vera verifica: se il modello compare sotto cheaptokens, la riga è stata letta come previsto.
Vuoi un altro modello sullo stesso saldo? Aggiungi un'altra riga model add con il suo id e i suoi limiti. GLM-5.3-Flash è zai- (390K di contesto, fino a 8.192 token per risposta), e MiniMax-M2.7 è MiniMaxAI/ (180K di contesto, fino a 8.192 token per risposta). Mantieni - pari o inferiore al limite per risposta del modello che aggiungi.
Apri Crush ed esegui un primo compito#
Avvia crush in una cartella di progetto. Premi Ctrl+l per aprire il selettore di modelli e scegli DeepSeek-V4-Flash dal gruppo cheaptokens. Il README non descrive un comando crushrc per il modello predefinito, quindi il selettore è la strada giusta.

Ora dagli qualcosa di piccolo e verificabile, ad esempio: Read this repo and tell me which file starts the app, in two lines. Una risposta che nomina un file reale significa che l'intera catena funziona: chiave, URL di base, id del modello.
Provalo tu stessoProvalo: premi Ctrl+l e il modello non è nella lista. Cosa controlli per primo?Mostra risposta
La posizione del file e la variabile. Crush cerca la configurazione per priorità: ./.crushrc, ./crushrc, ~/. Verifica che il progetto non abbia altri .crushrc o crushrc con contenuti diversi, e che il provider sia stato aggiunto nel file che hai modificato. E echo $CHEAPTOKENS_ deve stampare la chiave nella stessa shell in cui avvii crush.
Le richieste di permesso ci sono di proposito. permissions allow <tools> in crushrc consente agli strumenti indicati di essere eseguiti senza chiedere; --yolo salta ogni richiesta, e il README stesso dice di fare molta attenzione con questa opzione.
Quanto costa una sessione di coding#
Un passo di un agente in un terminale è pesante in input: Crush invia ogni volta la cronologia, il contenuto dei file e l'output degli strumenti, e riceve una risposta modesta. Supponiamo che un passo medio invii 30.000 token e ne riceva 2.000. Su DeepSeek-V4-Flash quel passo costa $0.00065, e il prezzo è lo stesso a qualsiasi ora, senza fasce di punta. Contando input e output insieme, è più economico del prezzo di riferimento di OpenRouter.
Sostituisci con i tuoi numeri: una sessione di 40 passi di questo tipo è a un solo slider di distanza.
Calcolatore di costi
Un giorno di un agente di coding in Crush
Token di input per richiesta: 30.000 · Token di output per richiesta: 2000 · Richieste al giorno: 40
| Modello | Al giorno | Al mese |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.0272 | $0.816 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.026 | $0.78 |
| MiniMax-M2.7$0.05$0.15 | $0.072 | $2.16 |
L'input per passo cresce man mano che la sessione procede, quindi verifica una sessione lunga rispetto alla finestra di 380K, non alla media. I prezzi correnti per token di ogni modello sono nella pagina dei prezzi.
Se non funziona#
Crush scrive un log nel tuo progetto, .. Leggilo prima di tirare a indovinare:
crush logs --tail 500
crush logs --follow
crush --debugPuoi anche inserire option debug true in crushrc per mantenere attivo l'output di debug. Poi confronta ciò che vedi con lo stato HTTP restituito dall'API:
- 401: la chiave è stata inviata ma non riconosciuta: un errore di battitura o una chiave sostituita. Creala o copiala di nuovo.
- 402: il saldo o il limite della chiave è esaurito. Una richiesta senza alcuna chiave appare uguale, quindi esegui
echo $CHEAPTOKENS_nella shell in cui avviiAPI_ KEY crush. Se la chiave c'è, ricarica il saldo. - 429: troppe richieste in poco tempo. Attendi il valore
Retry-Aftere riprova. - 400 o "model not found": controlla l'id del modello. Deve essere quello completo dalla documentazione, con il prefisso del fornitore.
Se sei passato da crush.json, nota che ~/ è lo stato di Crush, non una configurazione; non modificarlo a mano.
Per la stessa configurazione in altri strumenti, vedi Collegare Aider a CheapTokens e Collegare Kilo Code a CheapTokens. La pagina del modello per DeepSeek economico riporta i limiti del modello usato qui.



