Tools & IntegrationenAnleitung
Crush mit CheapTokens verbinden: crushrc-Provider, Modell, Schlüssel
Füge CheapTokens mit zwei crushrc-Befehlen zu Crush hinzu: einen Completions-Provider und ein Modell mit echten Limits; der Schlüssel kommt aus einer Umgebungsvariable.

Auf dieser Seite
Um Crush mit CheapTokens zu verbinden, schreibst du zwei Befehle in deine crushrc: provider add mit der Basis-URL https:/ und -, sowie model add mit der vollständigen Modell-ID. Dann öffnest du Crush, drückst Ctrl+l, wählst das Modell aus und gibst ihm eine Aufgabe. Der Schlüssel bleibt in einer Umgebungsvariable, nicht in der Datei.
Wenn du einer älteren Anleitung gefolgt bist, bearbeitet sie wahrscheinlich crush.json. Crush liest diese Datei noch, aber das README nennt sie veraltet: Die aktuelle Konfiguration ist crushrc, und seit v0.99.0 (29. Oktober 2026) beschreibt der Provider --type das API-Format, nicht den Anbieter. Die Quellen sind das Crush-README und die Release Notes, geprüft am 10. November 2026; das neueste stabile Release zu diesem Datum ist v0.100.0.
Crush installieren#
Nimm den Paketmanager, den du bereits hast. Crush ist eine einzige Binärdatei, daher ist es egal, welchen Weg du wählst.
Crush installieren
Homebrew
brew install charmbracelet/tap/crushnpm
npm install -g @charmland/crushwinget
winget install charmbracelet.crushGo
go install github.com/charmbracelet/crush@latestDas README listet außerdem apt- und yum-Repositories, Scoop, Nix, Arch und FreeBSD. Führe einmal crush aus, um zu prüfen, ob es startet, und beende es dann.
CheapTokens in crushrc eintragen#
Das README beschreibt crushrc als "einfach Bash mit ein paar Crush-spezifischen Builtins". Das ist der ganze Trick: Du schreibst Shell, und provider add und model add sind Befehle, die Crush versteht. Crush sucht die Datei in dieser Reihenfolge: ./.crushrc, ./crushrc, dann ~/.
Du entscheidest also, wo sie liegt. Eine projektlokale .crushrc gilt für ein Repository; die in ~/.config/crush/ gilt überall. Für den ersten Versuch ist die globale einfacher.
Lege zuerst den Schlüssel in deiner Shell ab. Erstelle ihn in deinem CheapTokens-Dashboard und exportiere ihn (der Wert unten ist ein Platzhalter):
export CHEAPTOKENS_API_KEY="your-key-here"Öffne dann ~/ und schreibe:
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 32768Ein paar Details verdienen einen zweiten Blick:
-ist der Crush-Name für OpenAI-kompatible Provider, die nicht OpenAI selbst sind.- type completions responsesist für OpenAI-Proxying,messagesfür Anthropic-kompatible. Das alteopenai-compatfunktioniert noch und wird migriert.- Die Basis-URL endet auf
/v1. Das ist die CheapTokens-Adresse für OpenAI-Style Chat Completions; die vollständige Liste der Endpunkte steht in der CheapTokens-Doku. $CHEAPTOKENS_wird von der Shell expandiert, daher enthält die Datei kein Geheimnis und eine Projekt-API_ KEY .crushrckann bedenkenlos in git eingecheckt werden.- Die Modell-ID ist die vollständige,
deepseek-. Eine kurze ID wieai/ DeepSeek- V4- Flash- 0731 deepseek-wird von der API abgelehnt. Nach dem Provider-Namen kommt ein zweiter Schrägstrich, weil die ID selbst einen enthält.v4- flash -sind die gerundeten 380K von DeepSeek-V4-Flash, und- context- window 380000 -ist sein Limit pro Antwort. Das sind die echten Limits des Modells in CheapTokens: 380K Kontext und bis zu 32.768 Tokens pro Antwort. Trage sie in- default- max- tokens 32768 model addein, statt die Beispielwerte aus dem README (64000 und 5000) zu belassen.

Das README zeigt model add nur mit einer einfachen ID (deepseek/). Deine ID hat einen zusätzlichen Schrägstrich, daher ist der Modell-Picker im nächsten Schritt die eigentliche Prüfung: Wenn das Modell unter cheaptokens erscheint, wurde die Zeile wie beabsichtigt gelesen.
Möchtest du ein weiteres Modell auf demselben Guthaben? Füge eine weitere model add-Zeile mit eigener ID und eigenen Limits hinzu. GLM-5.3-Flash ist zai- (390K Kontext, bis zu 8.192 Tokens pro Antwort), und MiniMax-M2.7 ist MiniMaxAI/ (180K Kontext, bis zu 8.192 Tokens pro Antwort). Halte - auf oder unter dem Antwort-Limit des Modells, das du hinzufügst.
Crush öffnen und eine erste Aufgabe ausführen#
Starte crush in einem Projektordner. Drücke Ctrl+l, um den Modell-Picker zu öffnen, und wähle DeepSeek-V4-Flash aus der Gruppe cheaptokens. Das README beschreibt keinen crushrc-Befehl für das Standardmodell, daher ist der Picker der Weg.

Gib ihm jetzt etwas Kleines und Überprüfbares, etwa: Read this repo and tell me which file starts the app, in two lines. Eine Antwort, die eine echte Datei nennt, bedeutet, dass die ganze Kette funktioniert: Schlüssel, Basis-URL, Modell-ID.
Probier es selbstProbier es aus: Du drückst Ctrl+l und das Modell ist nicht in der Liste. Was prüfst du zuerst?Antwort anzeigen
Den Dateispeicherort und die Variable. Crush sucht die Konfiguration nach Priorität: ./.crushrc, ./crushrc, ~/. Prüfe, ob das Projekt keine andere .crushrc oder crushrc mit abweichendem Inhalt hat und ob der Provider in der Datei hinzugefügt wurde, die du bearbeitet hast. Und echo $CHEAPTOKENS_ muss den Schlüssel in derselben Shell ausgeben, in der du crush startest.
Die Berechtigungsabfragen sind absichtlich da. permissions allow <tools> in crushrc lässt benannte Tools ohne Nachfrage laufen; --yolo überspringt jede Abfrage, und das README selbst sagt, man solle damit sehr vorsichtig sein.
Was eine Coding-Session kostet#
Ein Agent-Schritt in einem Terminal ist input-lastig: Crush sendet jedes Mal den Verlauf, Dateiinhalte und Tool-Ausgaben und bekommt eine bescheidene Antwort zurück. Sagen wir, ein durchschnittlicher Schritt sendet 30.000 Tokens und empfängt 2.000. Auf DeepSeek-V4-Flash kostet dieser Schritt $0.00065, und der Preis ist zu jeder Stunde gleich, ohne Peak-Zeiten. Input und Output zusammengerechnet ist das günstiger als OpenRouters Referenzpreis.
Setze deine eigenen Zahlen ein: Eine Session mit 40 solchen Schritten ist nur einen Slider entfernt.
Kostenrechner
Ein Tag eines Coding-Agents in Crush
Eingabe-Tokens pro Anfrage: 30.000 · Ausgabe-Tokens pro Anfrage: 2.000 · Anfragen pro Tag: 40
| Modell | Pro Tag | Pro Monat |
|---|---|---|
| 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 |
Der Input pro Schritt wächst im Verlauf der Session, daher prüfe eine lange Session gegen das 380K-Fenster statt gegen den Durchschnitt. Aktuelle Preise pro Token für jedes Modell stehen auf der Preisseite.
Wenn es nicht funktioniert#
Crush schreibt ein Log in dein Projekt, .. Lies es, bevor du rätst:
crush logs --tail 500
crush logs --follow
crush --debugDu kannst auch option debug true in crushrc eintragen, um Debug-Ausgaben aktiv zu lassen. Vergleiche dann, was du siehst, mit dem HTTP-Status, den die API zurückgegeben hat:
- 401: Der Schlüssel wurde gesendet, aber nicht erkannt: ein Tippfehler oder ein ersetzter Schlüssel. Erstelle oder kopiere ihn erneut.
- 402: Das Guthaben oder das Limit des Schlüssels ist aufgebraucht. Eine Anfrage ganz ohne Schlüssel sieht genauso aus, daher führe
echo $CHEAPTOKENS_in der Shell aus, in der duAPI_ KEY crushstartest. Wenn der Schlüssel da ist, lade das Guthaben auf. - 429: Zu viele Anfragen in kurzer Zeit. Warte den Wert von
Retry-Afterab und versuche es erneut. - 400 oder "model not found": Sieh dir die Modell-ID an. Sie muss die vollständige aus der Doku sein, mit dem Vendor-Präfix.
Wenn du von crush.json kommst, beachte, dass ~/ der Zustand von Crush ist, keine Konfiguration; bearbeite es nicht von Hand.
Für dasselbe Setup in anderen Tools siehe Aider mit CheapTokens verbinden und Kilo Code mit CheapTokens verbinden. Die Modellseite für günstiges DeepSeek enthält die Limits des hier verwendeten Modells.



