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.

Sur cette page
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:/, votre clé API et un identifiant de modèle complet tel que deepseek-. Exportez-les sous forme de OPENAI_API_KEY, OPENAI_BASE_URL et OPENAI_MODEL, ou placez-les dans ~/. 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
npm install -g @qwen-code/qwen-code@latestHomebrew
brew install qwen-codeVous 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 :
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"
qwenLa 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-, 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
Touchez un élément à gauche, puis sa paire
- 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 ~/ et gardez la clé dans un fichier séparé.
{
"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 :
idest l'identifiant du modèle envoyé à l'API, il doit donc être l'identifiant complet.model.namedoit correspondre à l'une des valeurs deid, sinon Qwen Code n'a rien à sélectionner.security.défini surauth. selectedType "openai"choisit la méthode compatible OpenAI.envKeynomme la variable qui contient la clé. Il est facultatif et vautOPENAI_API_KEYpar 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 :
CHEAPTOKENS_API_KEY=sk-your-api-keyIl 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é.

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 -.
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 | Entrée $/1M | Sortie $/1M | Par requête | 40 requêtes | OpenRouter, 40 requêtes |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00064 | $0.0256 | $0.0526 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00055 | $0.022 | $0.0633 |
| MiniMax-M2.7 | $0.05 | $0.15 | $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èle | Par jour | Par mois |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.0638 | $1.92 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.0546 | $1.64 |
| MiniMax-M2.7$0.05$0.15 | $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-: contexte de 390K, jusqu'à 8 192 jetons de sortie par réponse, et un prix total inférieur à celui d'OpenRouter.org/ GLM- 5. 3- Flash MiniMaxAI/: contexte de 180K, jusqu'à 8 192 jetons de sortie par réponse, et un prix total inférieur à celui d'OpenRouter.MiniMax- M2. 7
Modifiez OPENAI_MODEL, ou ajoutez une seconde entrée à modelProviders. 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_KEYdoit être exporté. Avec settings.json, vérifiez queselectedTypeest"openai". - Modèle introuvable.
model.namedoit être identique caractère pour caractère à unid, 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/.envou dans votre shell. - 404. Vérifiez que l'URL de base se termine par
/v1et 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
envdans 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.



