Zurück zum Blog

Tools & IntegrationenAnleitung

Qwen Code mit CheapTokens verbinden: Env-Variablen und settings.json

Richte Qwen Code auf eine OpenAI-kompatible API aus – mit drei Env-Variablen oder einem settings.json-Eintrag: Basis-URL, vollständige Modell-ID und ein Schlüssel außerhalb von git.

Von CheapTokens TeamVeröffentlicht am 5 Min. Lesezeit

Qwen-Code-Terminal mit den Variablen OPENAI_API_KEY, OPENAI_BASE_URL und OPENAI_MODEL
Auf dieser Seite
  1. Qwen Code installieren
  2. Weg 1: drei Umgebungsvariablen
  3. Weg 2: settings.json und ein Schlüssel außerhalb von git
  4. Was eine Coding-Sitzung kostet
  5. Andere Modelle zum Ausprobieren
  6. Wenn Qwen Code keine Verbindung herstellt

Qwen Code kann sich mit einem benutzerdefinierten OpenAI-kompatiblen Endpoint verbinden, daher braucht die Anbindung an CheapTokens drei Werte: die Basis-URL https://api.cheaptokens.dev/v1, deinen API-Schlüssel und eine vollständige Modell-ID wie deepseek-ai/DeepSeek-V4-Flash-0731. Exportiere sie als OPENAI_API_KEY, OPENAI_BASE_URL und OPENAI_MODEL oder trage sie in ~/.qwen/settings.json ein. Beide Wege stammen aus der Qwen-Code-Authentifizierungsdokumentation (Seite zuletzt aktualisiert am 22. Oktober 2026).

Stell dir eine lange Sitzung vor: Der Agent liest ein Dutzend Dateien, bearbeitet drei, führt die Tests erneut aus. Jeder Schritt sendet den Kontext erneut, also zahlst du immer wieder für Input. Deshalb passt ein günstiges Modell mit Guthaben pro Token zu einem Terminal-Agenten, und deshalb lohnen sich die zehn Minuten für das folgende Setup.

Qwen Code installieren#

Qwen Code benötigt Node.js 22 oder neuer. Die README des Projekts (github.com/QwenLM/qwen-code) listet mehrere Installationswege auf; zwei davon:

Qwen Code installieren

npm

bash
npm install -g @qwen-code/qwen-code@latest

Homebrew

bash
brew install qwen-code

Du startest es mit qwen. Die Dokumentation beschreibt außerdem /auth → Custom Provider, um einen Proxy oder einen nicht unterstützten Anbieter manuell anzubinden. Die beiden folgenden Wege sind Zeile für Zeile ausgeschrieben, beginne mit einem davon.

Weg 1: drei Umgebungsvariablen#

Der schnellste Weg. Öffne ein Terminal in deinem Projekt und führe aus:

bash
export OPENAI_API_KEY="sk-your-api-key"
export OPENAI_BASE_URL="https://api.cheaptokens.dev/v1"
export OPENAI_MODEL="deepseek-ai/DeepSeek-V4-Flash-0731"
qwen

Der Schlüssel ist ein Platzhalter; füge deinen eigenen aus dem CheapTokens-Dashboard ein. Das Exportieren von OPENAI_API_KEY ist außerdem das, was Qwen Code anweist, OpenAI-kompatible Authentifizierung zu verwenden, wenn du alles über Umgebungsvariablen setzt. OPENAI_MODEL hat einen Alias, QWEN_MODEL.

Ein Detail bringt Leute ins Stolpern: die Modell-ID. Verwende die vollständige ID aus der CheapTokens-Dokumentation. Der Kurzname, den du neben den Preisen siehst, deepseek-v4-flash-0731, wird von der API nicht akzeptiert, und die IDs unterscheiden sich zwischen den Anbietern.

Welche Variable macht was? Ordne sie zu:

Paare zuordnen

Ordne jede Variable ihrer Aufgabe zu

  • OPENAI_API_KEYDein CheapTokens-Schlüssel; sein Export wählt OpenAI-kompatible Authentifizierung
  • OPENAI_BASE_URLDer Endpoint, an den Qwen Code Anfragen sendet
  • OPENAI_MODELDie an die API gesendete Modell-ID
  • QWEN_MODELEin Alias für OPENAI_MODEL

Exporte gelten, bis du das Terminal schließt. Um das Setup zu behalten, nutze den nächsten Weg.

Weg 2: settings.json und ein Schlüssel außerhalb von git#

Angenommen, du teilst das Repo mit einem Team und niemand möchte einen Schlüssel in einer Konfigurationsdatei. Dann beschreibe das Modell in ~/.qwen/settings.json und halte den Schlüssel in einer separaten Datei.

json
{
  "modelProviders": {
    "openai": [
      {
        "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
        "name": "DeepSeek-V4-Flash (CheapTokens)",
        "baseUrl": "https://api.cheaptokens.dev/v1",
        "description": "DeepSeek-V4-Flash through CheapTokens",
        "envKey": "CHEAPTOKENS_API_KEY"
      }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "deepseek-ai/DeepSeek-V4-Flash-0731" }
}

Vier Felder tragen die Last:

  • id ist die an die API gesendete Modell-ID, also muss es die vollständige ID sein.
  • model.name muss einem der id-Werte entsprechen, sonst hat Qwen Code nichts zur Auswahl.
  • security.auth.selectedType auf "openai" gesetzt wählt den OpenAI-kompatiblen Weg.
  • envKey benennt die Variable, die den Schlüssel enthält. Sie ist optional und standardmäßig OPENAI_API_KEY.

Der Schlüssel selbst gehört in .qwen/.env, was die Dokumentation für Geheimnisse empfiehlt, und diese Datei bleibt außerhalb von git:

bash
CHEAPTOKENS_API_KEY=sk-your-api-key

Es gibt einen Grund, das dem env-Block in settings.json vorzuziehen: Werte aus env haben die niedrigste Priorität, und eine Datei mit einem Schlüssel darin wird leicht versehentlich committet. Mehr zum sicheren Umgang mit Schlüsseln steht in store an API key safely.

Env vars and their settings.json counterparts: key, base URL, model id
Where each of the three values goes: env vars on the left, settings.json on the right

Nach dem Start zeigt /model die konfigurierten Modelle und lässt dich wechseln. Um mit einem bestimmten zu starten, führe qwen --model "deepseek-ai/DeepSeek-V4-Flash-0731" aus.

Was eine Coding-Sitzung kostet#

Terminal-Agenten sind input-lastig: Jeder Schritt trägt die bisher gesammelten Dateien und den Verlauf mit sich. Nimm eine Aufgabe mit 40 Schritten an und gehe von 30.000 Input-Tokens und 1.000 Output-Tokens pro Schritt aus. Das sind 40 × 30.000 = 1.200.000 Input-Tokens und 40 × 1.000 = 40.000 Output-Tokens. Hier ist die gesamte Aufgabe zu Live-Preisen:

Modell Pro Anfrage 40 Anfragen OpenRouter, 40 Anfragen
GLM-5.3-Flash $0.00064 $0.0256 $0.0526
DeepSeek-V4-Flash $0.00055 $0.022 $0.0633
MiniMax-M2.7 $0.0017 $0.066 $0.408

30.000 Input- und 1.000 Output-Tokens pro Anfrage. Die Preise pro 1 Mio. Tokens sind aktuell und ändern sich zusammen mit unseren Tarifen; die OpenRouter-Spalte zeigt Referenzpreise für dieselbe Arbeitslast.

Input und Output zusammengerechnet ist CheapTokens für jedes Modell in der Tabelle günstiger als OpenRouter. Für diese Art von Schleife passt DeepSeek-V4-Flash gut: 380K Kontext, bis zu 32.768 Output-Tokens in einer Antwort, ein Preis zu jeder Stunde und ein Guthaben für alle Modelle. Deine eigenen Zahlen werden abweichen, also verschiebe die Regler:

Kostenrechner

Dein eigener Tag mit einem Terminal-Agenten

Eingabe-Tokens pro Anfrage: 25.000 · Ausgabe-Tokens pro Anfrage: 800 · Anfragen pro Tag: 120

ModellPro TagPro Monat
GLM-5.3-Flash$0.0638$1.92
DeepSeek-V4-Flash$0.0546$1.64
MiniMax-M2.7$0.164$4.93

Preise stehen auf der pricing page. Wenn du die Nutzung in einem anderen Agenten beobachtest, geht how much Cline costs dieselbe Rechnung durch.

Andere Modelle zum Ausprobieren#

Wechseln bedeutet nur, die ID zu ändern, sonst nichts. Nimm sie von der models page oder aus GET /v1/models:

  • zai-org/GLM-5.3-Flash: 390K Kontext, bis zu 8.192 Output-Tokens pro Antwort und ein niedrigerer Gesamtpreis als bei OpenRouter.
  • MiniMaxAI/MiniMax-M2.7: 180K Kontext, bis zu 8.192 Output-Tokens pro Antwort und ein niedrigerer Gesamtpreis als bei OpenRouter.

Ändere OPENAI_MODEL oder füge einen zweiten Eintrag zu modelProviders.openai hinzu und wechsle mit /model zwischen ihnen.

Wenn Qwen Code keine Verbindung herstellt#

  • Auth-Typ wird nicht erkannt. Bei reinen Umgebungsvariablen muss OPENAI_API_KEY exportiert sein. Bei settings.json prüfe, ob selectedType gleich "openai" ist.
  • Modell nicht gefunden. model.name muss Zeichen für Zeichen einem id entsprechen, und die ID muss die vollständige Gateway-ID sein.
  • 401. Der Schlüssel fehlt oder ist falsch. Wenn du envKey verwendest, stelle sicher, dass diese Variable wirklich in .qwen/.env oder deiner Shell existiert.
  • 404. Prüfe, ob die Basis-URL mit /v1 endet und die ID keinen Tippfehler hat. Die vollständige Anleitung steht in API 401 or 404: wrong key, base URL or model id.
  • Eine Variable scheint ignoriert zu werden. Werte in env innerhalb von settings.json haben die niedrigste Priorität, also gewinnt eine anderswo gesetzte Variable.

Das Setup für andere Terminal-Agenten folgt demselben Muster, zum Beispiel OpenCode und Aider. Alles Weitere, von den Schlüsseln bis zur ersten Anfrage, steht in der CheapTokens docs.