Retour au blog

Outils & intégrationsGuide

Connecter Qwen Code à CheapTokens : variables d'environnement et settings.json

Configurez Qwen Code pour une API compatible OpenAI avec trois variables d'environnement ou une entrée settings.json : URL de base, identifiant de modèle complet et clé gardée hors de git.

Par CheapTokens TeamPublié le 5 min de lecture

Terminal Qwen Code avec les variables OPENAI_API_KEY, OPENAI_BASE_URL et OPENAI_MODEL
Sur cette page
  1. Installer Qwen Code
  2. Méthode 1 : trois variables d'environnement
  3. Méthode 2 : settings.json et une clé hors de git
  4. Combien coûte une session de codage
  5. Autres modèles à essayer
  6. Si Qwen Code ne se connecte pas

Qwen Code peut se connecter à un point de terminaison personnalisé compatible OpenAI ; pour le relier à CheapTokens, il faut donc trois valeurs : l'URL de base https://api.cheaptokens.dev/v1, votre clé API et un identifiant de modèle complet tel que deepseek-ai/DeepSeek-V4-Flash-0731. Exportez-les sous forme de OPENAI_API_KEY, OPENAI_BASE_URL et OPENAI_MODEL, ou placez-les dans ~/.qwen/settings.json. Les deux méthodes proviennent de la documentation d'authentification de Qwen Code (page mise à jour le 22 octobre 2026).

Imaginez une longue session : l'agent lit une douzaine de fichiers, en modifie trois, relance les tests. Chaque étape renvoie le contexte, vous payez donc l'entrée encore et encore. C'est pourquoi un modèle bon marché sur un solde à la consommation convient à un agent en terminal, et pourquoi la configuration ci-dessous vaut dix minutes.

Installer Qwen Code#

Qwen Code nécessite Node.js 22 ou une version plus récente. Le README du projet (github.com/QwenLM/qwen-code) liste plusieurs méthodes d'installation ; en voici deux :

Installer Qwen Code

npm

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

Homebrew

bash
brew install qwen-code

Vous le lancez avec qwen. La documentation décrit aussi /auth → Custom Provider pour connecter manuellement un proxy ou un fournisseur non pris en charge. Les deux méthodes ci-dessous sont détaillées ligne par ligne, commencez donc par l'une d'elles.

Méthode 1 : trois variables d'environnement#

La plus rapide. Ouvrez un terminal dans votre projet et exécutez :

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

La clé est un espace réservé ; collez la vôtre depuis le tableau de bord CheapTokens. Exporter OPENAI_API_KEY est aussi ce qui indique à Qwen Code d'utiliser l'authentification compatible OpenAI lorsque vous configurez tout via des variables d'environnement. OPENAI_MODEL a un alias, QWEN_MODEL.

Un détail piège souvent : l'identifiant du modèle. Utilisez l'identifiant complet de la documentation CheapTokens. Le nom court affiché à côté des prix, deepseek-v4-flash-0731, n'est pas accepté par l'API, et les identifiants diffèrent selon les fournisseurs.

Quelle variable fait quoi ? Associez-les :

Associer les paires

Associer chaque variable à son rôle

  • OPENAI_API_KEYVotre clé CheapTokens ; l'exporter sélectionne l'authentification compatible OpenAI
  • OPENAI_BASE_URLLe point de terminaison auquel Qwen Code envoie les requêtes
  • OPENAI_MODELL'identifiant du modèle envoyé à l'API
  • QWEN_MODELUn alias pour OPENAI_MODEL

Les exports durent jusqu'à ce que vous fermiez le terminal. Pour conserver la configuration, utilisez la méthode suivante.

Méthode 2 : settings.json et une clé hors de git#

Supposez que vous partagez le dépôt avec une équipe et que personne ne veuille de clé dans un fichier de configuration. Décrivez alors le modèle dans ~/.qwen/settings.json et gardez la clé dans un fichier séparé.

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" }
}

Quatre champs portent l'essentiel :

  • id est l'identifiant du modèle envoyé à l'API, il doit donc être l'identifiant complet.
  • model.name doit correspondre à l'une des valeurs de id, sinon Qwen Code n'a rien à sélectionner.
  • security.auth.selectedType défini sur "openai" choisit la méthode compatible OpenAI.
  • envKey nomme la variable qui contient la clé. Il est facultatif et vaut OPENAI_API_KEY par défaut.

La clé elle-même va dans .qwen/.env, que la documentation recommande pour les secrets, et ce fichier reste hors de git :

bash
CHEAPTOKENS_API_KEY=sk-your-api-key

Il y a une raison de préférer cela au bloc env dans settings.json : les valeurs de env ont la priorité la plus basse, et un fichier contenant une clé est facile à committer par accident. Pour en savoir plus sur la sécurisation des clés, voir stocker une clé API en toute sécurité.

Variables d'environnement et leurs équivalents dans settings.json : clé, URL de base, identifiant du modèle
Où va chacune des trois valeurs : variables d'environnement à gauche, settings.json à droite

Après le lancement, /model affiche les modèles configurés et permet d'en changer. Pour démarrer avec un modèle précis, exécutez qwen --model "deepseek-ai/DeepSeek-V4-Flash-0731".

Combien coûte une session de codage#

Les agents en terminal consomment beaucoup d'entrée : chaque étape transporte les fichiers et l'historique accumulés jusqu'ici. Prenons une tâche de 40 étapes et supposons 30 000 jetons d'entrée et 1 000 jetons de sortie par étape. Cela fait 40 × 30 000 = 1 200 000 jetons d'entrée et 40 × 1 000 = 40 000 jetons de sortie. Voici la tâche complète aux prix actuels :

Modèle Par requête 40 requêtes OpenRouter, 40 requêtes
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 tokens d'entrée et 1 000 tokens de sortie par requête. Les prix par million de tokens sont actuels et évoluent avec nos tarifs ; la colonne OpenRouter indique des prix de référence pour la même charge de travail.

En comptant l'entrée et la sortie ensemble, CheapTokens est moins cher qu'OpenRouter pour chaque modèle du tableau. Pour ce type de boucle, DeepSeek-V4-Flash convient bien : un contexte de 380K, jusqu'à 32 768 jetons de sortie en une réponse, un prix unique à toute heure et un solde pour tous les modèles. Vos propres chiffres différeront, alors déplacez les curseurs :

Calculateur de coût

Votre propre journée avec un agent en terminal

Tokens d'entrée par requête: 25 000 · Tokens de sortie par requête: 800 · Requêtes par jour: 120

ModèlePar jourPar mois
GLM-5.3-Flash$0.0638$1.92
DeepSeek-V4-Flash$0.0546$1.64
MiniMax-M2.7$0.164$4.93

Les prix sont sur la page de tarification. Si vous suivez l'utilisation dans un autre agent, combien coûte Cline détaille le même calcul.

Autres modèles à essayer#

Changer revient à changer d'identifiant, rien de plus. Prenez-le sur la page des modèles ou depuis GET /v1/models :

  • zai-org/GLM-5.3-Flash : contexte de 390K, jusqu'à 8 192 jetons de sortie par réponse, et un prix total inférieur à celui d'OpenRouter.
  • MiniMaxAI/MiniMax-M2.7 : contexte de 180K, jusqu'à 8 192 jetons de sortie par réponse, et un prix total inférieur à celui d'OpenRouter.

Modifiez OPENAI_MODEL, ou ajoutez une seconde entrée à modelProviders.openai et basculez entre elles avec /model.

Si Qwen Code ne se connecte pas#

  • Le type d'authentification n'est pas choisi. Avec uniquement des variables d'environnement, OPENAI_API_KEY doit être exporté. Avec settings.json, vérifiez que selectedType est "openai".
  • Modèle introuvable. model.name doit être identique caractère pour caractère à un id, et l'identifiant doit être l'identifiant complet de la passerelle.
  • 401. La clé est absente ou incorrecte. Si vous utilisez envKey, assurez-vous que cette variable existe bien dans .qwen/.env ou dans votre shell.
  • 404. Vérifiez que l'URL de base se termine par /v1 et que l'identifiant ne contient pas de faute de frappe. Le guide complet se trouve dans API 401 ou 404 : mauvaise clé, URL de base ou identifiant de modèle.
  • Une variable semble ignorée. Les valeurs de env dans settings.json ont la priorité la plus basse, une variable définie ailleurs l'emporte donc.

La configuration des autres agents en terminal suit le même schéma, par exemple OpenCode et Aider. Tout le reste, des clés à la première requête, se trouve dans la documentation CheapTokens.