Skip to Content
Guide utilisateurConfigurationParamètres

Qwen Code Configuration

Tip

Authentification / Clés API : L’authentification (clé API, Plan de codage Alibaba Cloud) et les variables d’environnement liées à l’authentification (comme OPENAI_API_KEY) sont documentées dans Authentification.

Note

Remarque sur le nouveau format de configuration : Le format du fichier settings.json a été mis à jour vers une nouvelle structure plus organisée. L’ancien format sera migré automatiquement. Qwen Code propose plusieurs façons de configurer son comportement, notamment les variables d’environnement, les arguments de ligne de commande et les fichiers de paramètres. Ce document décrit les différentes méthodes de configuration et les paramètres disponibles.

Couches de configuration

La configuration est appliquée dans l’ordre de priorité suivant (les numéros inférieurs sont remplacés par les numéros supérieurs) :

NiveauSource de configurationDescription
1Valeurs par défautValeurs par défaut codées en dur dans l’application
2Fichier de paramètres système par défautParamètres système généraux par défaut, pouvant être remplacés par d’autres fichiers de paramètres
3Fichier de paramètres utilisateurParamètres globaux pour l’utilisateur actuel
4Fichier de paramètres du projetParamètres spécifiques au projet
5Fichier de paramètres systèmeParamètres système qui remplacent tous les autres fichiers
6Variables d’environnementVariables système ou de session, potentiellement chargées depuis des fichiers .env
7Arguments de ligne de commandeValeurs passées lors du lancement de l’interface en ligne de commande

Fichiers de paramètres

Qwen Code utilise des fichiers JSON pour la configuration persistante. Il existe quatre emplacements pour ces fichiers :

Type de fichierEmplacementPortée
Fichier de paramètres système par défautLinux : /etc/qwen-code/system-defaults.json
Windows : C:\ProgramData\qwen-code\system-defaults.json
macOS : /Library/Application Support/QwenCode/system-defaults.json
Le chemin peut être modifié via la variable d’environnement QWEN_CODE_SYSTEM_DEFAULTS_PATH.
Fournit une couche de base de paramètres système par défaut. Ces paramètres ont la priorité la plus basse et sont destinés à être remplacés par les paramètres utilisateur, projet ou de remplacement système.
Fichier de paramètres utilisateur~/.qwen/settings.json (où ~ est votre répertoire utilisateur).S’applique à toutes les sessions Qwen Code pour l’utilisateur actuel.
Fichier de paramètres du projet.qwen/settings.json dans le répertoire racine de votre projet.S’applique uniquement lorsque vous exécutez Qwen Code depuis ce projet spécifique. Les paramètres du projet remplacent ceux de l’utilisateur.
Fichier de paramètres systèmeLinux : /etc/qwen-code/settings.json
Windows : C:\ProgramData\qwen-code\settings.json
macOS : /Library/Application Support/QwenCode/settings.json
Le chemin peut être modifié via la variable d’environnement QWEN_CODE_SYSTEM_SETTINGS_PATH.
S’applique à toutes les sessions Qwen Code sur le système, pour tous les utilisateurs. Les paramètres système remplacent ceux de l’utilisateur et du projet. Peut être utile pour les administrateurs système en entreprise souhaitant contrôler les configurations Qwen Code des utilisateurs.
Note

Remarque concernant les variables d’environnement dans les paramètres : Les valeurs chaîne dans vos fichiers settings.json peuvent référencer des variables d’environnement en utilisant la syntaxe $NOM_VAR ou ${NOM_VAR}. Ces variables seront automatiquement résolues lors du chargement des paramètres. Par exemple, si vous avez une variable d’environnement MY_API_TOKEN, vous pouvez l’utiliser dans settings.json comme ceci : "apiKey": "$MY_API_TOKEN".

Le répertoire .qwen dans votre projet

En plus d’un fichier de paramètres de projet, le répertoire .qwen d’un projet peut contenir d’autres fichiers spécifiques au projet liés au fonctionnement de Qwen Code, comme :

Migration de la configuration

Qwen Code migre automatiquement les paramètres de configuration hérités vers le nouveau format. Les anciens fichiers de paramètres sont sauvegardés avant la migration. Les paramètres suivants ont été renommés d’une dénomination négative (disable*) à une dénomination positive (enable*) :

Ancien paramètreNouveau paramètreRemarques
disableAutoUpdate + disableUpdateNaggeneral.enableAutoUpdateFusionné en un seul paramètre
disableLoadingPhrasesui.accessibility.enableLoadingPhrases
disableFuzzySearchcontext.fileFiltering.enableFuzzySearch
disableCacheControlmodel.generationConfig.enableCacheControl
Note

Inversion des valeurs booléennes : Lors de la migration, les valeurs booléennes sont inversées (par ex., disableAutoUpdate: true devient enableAutoUpdate: false).

Politique de consolidation pour disableAutoUpdate et disableUpdateNag

Lorsque les deux paramètres hérités sont présents avec des valeurs différentes, la migration suit cette politique : si l’un ou l’autre de disableAutoUpdate ou disableUpdateNag est true, alors enableAutoUpdate devient false :

disableAutoUpdatedisableUpdateNagenableAutoUpdate migré
falsefalsetrue
falsetruefalse
truefalsefalse
truetruefalse

Paramètres disponibles dans settings.json

Les paramètres sont organisés par catégories. La plupart des paramètres doivent être placés dans leur objet de catégorie de premier niveau correspondant dans votre fichier settings.json. Quelques paramètres de premier niveau comme proxy et plansDirectory restent des clés racines directes pour des raisons de compatibilité.

general

ParamètreTypeDescriptionValeur par défaut
general.preferredEditorstringL’éditeur préféré pour ouvrir les fichiers.undefined
general.vimModebooleanActiver les raccourcis clavier Vim.false
general.enableAutoUpdatebooleanActiver les vérifications et installations automatiques des mises à jour au démarrage.true
general.showSessionRecapbooleanAfficher automatiquement un récapitulatif d’une ligne « où vous en étiez » lorsque vous revenez dans le terminal après une absence. Désactivé par défaut. Utilisez /recap pour déclencher manuellement, indépendamment de ce paramètre.false
general.sessionRecapAwayThresholdMinutesnumberMinutes pendant lesquelles le terminal doit être flou avant qu’un récapitulatif automatique ne se déclenche lors du retour au premier plan. Uniquement utilisé lorsque showSessionRecap est activé.5
general.gitCoAuthor.commitbooleanAjouter un suffixe Co-authored-by aux messages de commit git ET attacher une note git d’attribution IA par fichier (refs/notes/ai-attribution) pour les commits effectués via Qwen Code. La désactivation ignore les deux.true
general.gitCoAuthor.prbooleanAjouter une ligne d’attribution Qwen Code aux descriptions de pull request lors de l’exécution de gh pr create.true
general.defaultFileEncodingstringEncodage par défaut pour les nouveaux fichiers. Utilisez "utf-8" (par défaut) pour UTF-8 sans BOM, ou "utf-8-bom" pour UTF-8 avec BOM. Ne modifiez ceci que si votre projet nécessite spécifiquement le BOM."utf-8"
general.cleanupPeriodDaysnumberJours de conservation des sauvegardes de session ~/.qwen/file-history/ utilisées par /rewind. Les sauvegardes plus anciennes sont supprimées par un passage en arrière-plan qui s’exécute au maximum une fois par jour. 0 = rétention minimale (~1 heure) : conserve les sessions touchées dans la dernière heure plus la session active actuelle. Les modifications prennent effet après redémarrage.30
general.languageenumLangue de l’interface utilisateur. Utilisez "auto" pour détecter depuis les paramètres système, ou un code de langue (par ex. "zh-CN", "fr"). Des codes personnalisés peuvent être ajoutés en plaçant des fichiers de locale JS dans ~/.qwen/locales/. Voir i18n. Nécessite un redémarrage."auto"
general.outputLanguagestringLangue de sortie du modèle. Utilisez "auto" pour détecter depuis les paramètres système, ou définissez une langue spécifique. Nécessite un redémarrage."auto"
general.dynamicCommandTranslationbooleanActiver la traduction par IA des descriptions de commandes dynamiques slash. Lorsque désactivé, les commandes dynamiques conservent leurs descriptions originales et ignorent les appels au modèle de traduction.false

output

RéglageTypeDescriptionDéfautValeurs possibles
output.formatstringLe format de la sortie CLI."text""text", "json"
output.showTimestampsbooleanAffiche un horodatage [HH:MM:SS] avant chaque réponse de l’assistant.false

ui

RéglageTypeDescriptionDéfaut
ui.themestringLe thème de couleur pour l’interface. Voir Thèmes pour les options disponibles."Qwen Dark"
ui.customThemesobjectDéfinitions de thèmes personnalisés.{}
ui.statusLineobjectConfiguration personnalisée de la ligne d’état. Prend en charge les options command, refreshInterval, respectUserColors et hideContextIndicator. Voir Ligne d’état.undefined
ui.hideWindowTitlebooleanMasquer la barre de titre de la fenêtre.false
ui.hideTipsbooleanMasquer toutes les astuces (au démarrage et après réponse) dans l’interface. Voir Astuces contextuelles.false
ui.hideBannerbooleanMasquer le logo ASCII de démarrage et le panneau d’informations. Les astuces et la saisie du chat restent affichés sauf si ui.hideTips est également défini.false
ui.customBannerTitlestringRemplace le titre par défaut >_ Qwen Code dans le panneau d’informations de la bannière. Le suffixe de version (vX.Y.Z) est toujours ajouté ; les lignes d’authentification, de modèle et de chemin ne sont pas affectées. Nettoyé ; limité à 80 caractères.""
ui.customBannerSubtitlestringLigne de sous-titre optionnelle affichée entre le titre de la bannière et la ligne d’authentification/modèle, à la place de la rangée d’espacement vide. Nettoyé ; limité à 160 caractères. Vide (par défaut) conserve l’espacement vide d’origine.""
ui.customAsciiArtstring | objectRemplace le logo ASCII QWEN dans la bannière. Accepte une chaîne en ligne (utilisée pour les deux niveaux de largeur), { "path": "./brand.txt" } (les chemins relatifs sont résolus par rapport au répertoire du fichier de paramètres propriétaire ; lu une fois au démarrage avec O_NOFOLLOW sur POSIX, limité à 64 Ko), ou { "small": ..., "large": ... } pour une sélection adaptée à la largeur. Nettoyé ; limité à 200 lignes × 200 colonnes par niveau.undefined
ui.showLineNumbersbooleanAffiche les numéros de ligne dans les blocs de code de la sortie CLI.true
ui.renderModestringMode d’affichage Markdown par défaut. Utilisez "render" pour des aperçus visuels riches ou "raw" pour afficher le Markdown orienté source par défaut. Basculer pendant une session avec Alt/Option+M ; sur macOS, le terminal doit envoyer Option comme Meta. Voir Rendu Markdown."render"
ui.showCitationsbooleanAffiche les citations pour le texte généré dans le chat.false
ui.history.collapseOnResumebooleanIndique si l’historique doit être réduit par défaut lors de la reprise d’une session. Peut être basculé via /history collapse-on-resume et /history expand-on-resume.false
ui.compactModebooleanMasque la sortie des outils et la réflexion pour une vue plus épurée. Basculer avec Ctrl+O pendant une session ou via la boîte de dialogue Paramètres. Les invites d’approbation des outils ne sont jamais masquées, même en mode compact. Le paramètre persiste entre les sessions.false
ui.shellOutputMaxLinesnumberNombre maximal de lignes de sortie du shell affichées en ligne. Définir sur 0 pour désactiver la limite et afficher la sortie complète. Les lignes masquées sont révélées via l’indicateur +N lignes. Les erreurs, les commandes initiées par l’utilisateur avec le préfixe !, les outils de confirmation et les shells intégrés focalisés affichent toujours la sortie complète.5
ui.enableWelcomeBackbooleanAffiche une boîte de dialogue de bienvenue lors du retour à un projet avec un historique de conversation. Lorsqu’il est activé, Qwen Code détecte automatiquement si vous revenez à un projet avec un résumé de projet précédemment généré (.qwen/PROJECT_SUMMARY.md) et affiche une boîte de dialogue vous permettant de continuer votre conversation précédente ou de commencer une nouvelle. Si vous choisissez Démarrer une nouvelle session de chat, ce choix est mémorisé pour le projet actuel jusqu’à ce que le résumé du projet change. Cette fonctionnalité s’intègre avec la commande /summary et la boîte de dialogue de confirmation de sortie.true
ui.accessibility.enableLoadingPhrasesbooleanActiver les phrases de chargement (désactiver pour l’accessibilité).true
ui.accessibility.screenReaderbooleanActive le mode lecteur d’écran, qui ajuste l’interface TUI pour une meilleure compatibilité avec les lecteurs d’écran.false
ui.customWittyPhrasesarray of stringsUne liste de phrases personnalisées à afficher pendant les états de chargement. Lorsqu’elle est fournie, le CLI parcourt ces phrases au lieu de celles par défaut.[]
ui.showResponseTokensPerSecondbooleanAffiche une estimation en direct des tokens/seconde à côté du compteur de tokens de réponse pendant le streaming du modèle. Il s’agit d’une indication de vitesse de génération, pas d’une estimation de temps restant ou d’un pourcentage d’achèvement. Prend effet lors de la prochaine session.false
ui.enableFollowupSuggestionsbooleanActiver les suggestions de suivi qui prédisent ce que vous voulez taper ensuite après la réponse du modèle. Les suggestions apparaissent comme texte d’espace réservé et sont acceptées avec Tab, Entrée ou Flèche droite (qui remplissent l’entrée — elles ne sont pas soumises automatiquement). Activé par défaut ; définir sur false pour désactiver.true
ui.enableCacheSharingbooleanUtilise des requêtes bifurquées tenant compte du cache pour la génération de suggestions. Réduit les coûts sur les fournisseurs qui prennent en charge la mise en cache des préfixes (expérimental).true
ui.enableSpeculationbooleanExécute de manière spéculative les suggestions acceptées avant la soumission. Les résultats apparaissent instantanément lorsque vous acceptez (expérimental).false

ide

SettingTypeDescriptionDefault
ide.enabledbooleanActiver le mode d’intégration IDE.false
ide.hasSeenNudgebooleanIndique si l’utilisateur a vu l’incitation à l’intégration IDE.false

privacy

SettingTypeDescriptionDefault
privacy.usageStatisticsEnabledbooleanActiver la collecte des statistiques d’utilisation.true

model

SettingTypeDescriptionDefault
model.namestringLe modèle Qwen à utiliser pour les conversations.undefined
model.maxSessionTurnsnumberNombre maximum de tours utilisateur/modèle/outil à conserver dans une session. -1 signifie illimité.-1
model.maxWallTimeSecondsnumberBudget de temps réel pour les exécutions sans tête / non supervisées, en secondes. -1 signifie illimité. Modifiable par invocation via --max-wall-time, qui nécessite une durée positive (90, 30s, 5m, 1h, 1.5h) ; le minimum est de 1 seconde — les valeurs inférieures à la seconde (500ms, 0.5) sont rejetées comme des fautes de frappe. Omettez le drapeau pour utiliser ce réglage. Se termine avec le code de sortie 55 lorsque dépassé.-1
model.maxToolCallsnumberBudget cumulé d’appels d’outil pour une exécution (compte chaque outil exécuté, succès ou échec ; structured_output sous --json-schema est exempté). -1 signifie illimité ; 0 signifie « aucun appel d’outil autorisé ». Plafonné à 1 000 000 pour détecter les fautes de frappe. Modifiable via --max-tool-calls. Se termine avec le code de sortie 55 lorsque dépassé.-1
model.generationConfigobjectRemplacements avancés passés au générateur de contenu sous-jacent. Prend en charge des contrôles de requête tels que timeout, maxRetries, enableCacheControl, splitToolMedia (par défaut true ; divise les médias retournés par l’outil — y compris les images lues par le read_file intégré — en un message utilisateur de suivi au lieu du message role: "tool" violant la spécification, afin que les serveurs stricts compatibles OpenAI comme doubao / new-api / LM Studio puissent le voir ; définir false pour restaurer le comportement hérité d’encapsulation dans l’outil), toolResultContentFormat (par défaut "parts" ; définir "string" uniquement pour les runtimes compatibles OpenAI hérités dont les modèles d’outil ignorent les parties de contenu texte), contextWindowSize (remplacer la taille de la fenêtre de contexte du modèle), modalities (remplacer les modalités d’entrée détectées automatiquement), customHeaders (en-têtes HTTP personnalisés pour les requêtes API), et extra_body (paramètres de corps supplémentaires pour les requêtes API compatibles OpenAI uniquement), ainsi que des réglages de fine-tuning sous samplingParams (par exemple temperature, top_p, max_tokens). Laisser non défini pour utiliser les valeurs par défaut du fournisseur.undefined
model.chatCompression.contextPercentageThresholdnumberSUPPRIMÉ. La compaction automatique utilise désormais une échelle de seuil à trois niveaux (avertissement / automatique / strict) calculée en interne à partir de la fenêtre de contexte du modèle via la fonction computeThresholds() — plus configurable par l’utilisateur. Définir ce champ dans settings.json est silencieusement ignoré (aucun avertissement au démarrage). Il n’existe actuellement aucun remplacement pour « désactiver complètement la compression » — la récupération réactive de débordement reste le filet de sécurité au niveau de l’API si la compression elle-même échoue. (Voir PR #4345 / docs/design/auto-compaction-threshold-redesign.md pour la justification de la refonte.)N/A
model.chatCompression.maxRecentFilesToRetainnumberNombre de fichiers les plus récemment touchés dont le contenu actuel est restauré (incorporé si petit, sinon référencé par chemin) dans l’historique après la compaction automatique. 0 n’en restaure aucun. Surcharge env : QWEN_COMPACT_MAX_RECENT_FILES.5
model.chatCompression.maxRecentImagesToRetainnumberNombre d’images les plus récentes (captures d’écran d’outil / collages utilisateur) restaurées dans l’historique après la compaction automatique. 0 n’en restaure aucune. Surcharge env : QWEN_COMPACT_MAX_RECENT_IMAGES.3
model.chatCompression.enableScreenshotTriggerbooleanQuand true, la compaction automatique se déclenche également lorsque le nombre d’images retournées par l’outil accumulées dans l’historique atteint screenshotTriggerThreshold, indépendamment de l’utilisation de jetons — destiné aux sessions d’utilisation de l’ordinateur où des captures d’écran fréquentes diluent l’attention du modèle. Ne compte que les images retournées dans les résultats d’outil, pas les images collées par l’utilisateur. Surcharge env : QWEN_COMPACT_SCREENSHOT_TRIGGER (1/true/0/false).true
model.chatCompression.screenshotTriggerThresholdnumberNombre d’images retournées par l’outil au-dessus ou égal duquel le déclencheur de capture d’écran s’active (uniquement quand enableScreenshotTrigger). La compaction réinitialise le compteur — les images survivantes sont réincorporées en tant que parties de premier niveau, que le déclencheur ne compte pas — donc il ne se réactivera pas immédiatement. Surcharge env : QWEN_COMPACT_SCREENSHOT_THRESHOLD.50
model.skipNextSpeakerCheckbooleanIgnorer la vérification du prochain locuteur.true
model.skipLoopDetectionbooleanDésactive les vérifications de détection de boucle de streaming. Par défaut true (la détection de boucle est ignorée) pour éviter que de faux positifs n’interrompent des flux de travail légitimes. Définir sur false pour réactiver la détection de boucle de streaming — utile comme garde-fou dans les exécutions sans tête / non interactives où une répétition bloquée pourrait autrement gaspiller le budget.true
model.skipStartupContextbooleanIgnore l’envoi du contexte de l’espace de travail au démarrage (résumé de l’environnement et accusé de réception) au début de chaque session. Activez ceci si vous préférez fournir le contexte manuellement ou souhaitez économiser des jetons au démarrage.false
model.enableOpenAILoggingbooleanActive la journalisation des appels API OpenAI pour le débogage et l’analyse. Lorsqu’il est activé, les requêtes et réponses API sont enregistrées dans des fichiers JSON.false
model.openAILoggingDirstringChemin de répertoire personnalisé pour les logs API OpenAI. S’il n’est pas spécifié, par défaut logs/openai dans le répertoire de travail actuel. Prend en charge les chemins absolus, les chemins relatifs (résolus à partir du répertoire de travail actuel) et l’expansion ~ (répertoire personnel).undefined
Exemple de model.generationConfig :
{ "model": { "generationConfig": { "timeout": 60000, "contextWindowSize": 128000, "modalities": { "image": true }, "enableCacheControl": true, "toolResultContentFormat": "parts", "customHeaders": { "X-Client-Request-ID": "req-123" }, "extra_body": { "enable_thinking": true }, "samplingParams": { "temperature": 0.2, "top_p": 0.8, "max_tokens": 1024 } } } }

max_tokens (jetons de sortie adaptatifs) :

Lorsque samplingParams.max_tokens n’est pas défini, Qwen Code utilise une stratégie de jetons de sortie adaptatifs pour optimiser l’utilisation des ressources GPU :

  1. Les requêtes commencent avec une limite par défaut de 8K jetons de sortie
  2. Si la réponse est tronquée (le modèle atteint la limite), Qwen Code réessaie automatiquement avec 64K jetons
  3. La sortie partielle est ignorée et remplacée par la réponse complète de la nouvelle tentative

Ceci est transparent pour les utilisateurs — vous pouvez brièvement voir un indicateur de nouvelle tentative en cas d’escalade. Étant donné que 99 % des réponses font moins de 5K jetons, la nouvelle tentative est rare (<1 % des requêtes).

Pour modifier ce comportement, définissez samplingParams.max_tokens dans vos paramètres ou utilisez la variable d’environnement QWEN_CODE_MAX_OUTPUT_TOKENS.

toolResultContentFormat :

Contrôle la manière dont les résultats d’outil textuels sont sérialisés dans les requêtes compatibles OpenAI. La valeur par défaut "parts" conserve la forme standard du tableau de parties de contenu. Définissez "string" uniquement pour les exécutions héritées compatibles OpenAI dont les modèles d’outil ignorent les parties de contenu textuel, comme les anciens modèles GLM-5.1 vLLM/SGLang. Les médias renvoyés par l’outil sont toujours contrôlés par splitToolMedia.

contextWindowSize :

Remplace la taille de fenêtre de contexte par défaut pour le modèle sélectionné. Qwen Code détermine la fenêtre de contexte à l’aide de valeurs par défaut intégrées basées sur la correspondance du nom du modèle, avec une valeur de repli constante. Utilisez ce paramètre lorsque la limite de contexte effective d’un fournisseur diffère de celle par défaut de Qwen Code. Cette valeur définit la capacité maximale de contexte supposée du modèle, et non une limite de jetons par requête.

Lorsque le modèle sélectionné est défini dans modelProviders, définissez contextWindowSize dans le generationConfig de cette entrée de fournisseur au lieu du model.generationConfig de premier niveau. Les entrées de modèle de fournisseur sont scellées, donc les paramètres de génération de premier niveau ne remplissent pas les champs manquants du fournisseur.

modalities :

Remplace les modalités d’entrée auto-détectées pour le modèle sélectionné. Qwen Code détecte automatiquement les modalités prises en charge (image, PDF, audio, vidéo) en fonction de la correspondance de motifs du nom du modèle. Utilisez ce paramètre lorsque l’auto-détection est incorrecte — par exemple, pour activer pdf pour un modèle qui le prend en charge mais n’est pas reconnu. Format : { "image": true, "pdf": true, "audio": true, "video": true }. Omettez une clé ou définissez-la sur false pour les types non pris en charge.

customHeaders :

Permet d’ajouter des en-têtes HTTP personnalisés à toutes les requêtes API. Ceci est utile pour le traçage des requêtes, la surveillance, le routage de passerelle API, ou lorsque différents modèles nécessitent des en-têtes différents. Pour les modèles de fournisseur, définissez customHeaders dans modelProviders[].generationConfig.customHeaders. Pour les modèles d’exécution sans entrée de fournisseur correspondante, définissez-le dans model.generationConfig.customHeaders. Aucune fusion n’a lieu entre les deux niveaux.

Le champ extra_body vous permet d’ajouter des paramètres personnalisés au corps de la requête envoyée à l’API. Ceci est utile pour les options spécifiques au fournisseur qui ne sont pas couvertes par les champs de configuration standard. Remarque : Ce champ n’est pris en charge que pour les fournisseurs compatibles OpenAI (openai, qwen-oauth). Il est ignoré pour les fournisseurs Anthropic et Gemini. Pour les modèles de fournisseur, définissez extra_body dans modelProviders[].generationConfig.extra_body. Pour les modèles d’exécution sans entrée de fournisseur correspondante, définissez-le dans model.generationConfig.extra_body.

Exemples de model.openAILoggingDir :

  • "~/qwen-logs" - Enregistre dans le répertoire ~/qwen-logs
  • "./custom-logs" - Enregistre dans ./custom-logs relatif au répertoire courant
  • "/tmp/openai-logs" - Enregistre dans le chemin absolu /tmp/openai-logs

fastModel

ParamètreTypeDescriptionPar défaut
fastModelstringModèle utilisé pour générer des suggestions d’invite et l’exécution spéculative. Laissez vide pour utiliser le modèle principal. Un modèle plus petit/rapide (ex. qwen3-coder-flash) réduit la latence et les coûts. Peut également être défini via /model --fast.""

context

ParamètreTypeDescriptionPar défaut
context.fileNamestring ou tableau de stringsLe nom du ou des fichiers de contexte.undefined
context.importFormatstringLe format à utiliser lors de l’importation de la mémoire.undefined
context.includeDirectoriesarrayRépertoires supplémentaires à inclure dans le contexte de l’espace de travail. Spécifie un tableau de chemins absolus ou relatifs supplémentaires à inclure dans le contexte de l’espace de travail. Les répertoires manquants seront ignorés avec un avertissement par défaut. Les chemins peuvent utiliser ~ pour faire référence au répertoire personnel de l’utilisateur. Ce paramètre peut être combiné avec l’option de ligne de commande --include-directories.[]
context.loadFromIncludeDirectoriesbooleanContrôle le comportement de la commande /memory refresh. Si défini sur true, les fichiers QWEN.md doivent être chargés depuis tous les répertoires ajoutés. Si défini sur false, QWEN.md ne doit être chargé que depuis le répertoire courant.false
context.fileFiltering.respectGitIgnorebooleanRespecter les fichiers .gitignore lors de la recherche.true
context.fileFiltering.respectQwenIgnorebooleanRespecter les fichiers .qwenignore et les fichiers d’ignor personnalisés configurés lors de la recherche.true
context.fileFiltering.customIgnoreFilesarrayFichiers d’ignor relatifs à la racine du projet à utiliser à la place des fichiers de compatibilité par défaut (.agentignore, .aiignore) lorsque respectQwenIgnore est activé. .qwenignore est toujours inclus.[".agentignore", ".aiignore"]
context.fileFiltering.enableRecursiveFileSearchbooleanIndique s’il faut activer la recherche récursive de noms de fichiers sous l’arborescence courante lors de la complétion des préfixes @ dans l’invite.true
context.fileFiltering.enableFuzzySearchbooleanLorsque true, active les capacités de recherche floue lors de la recherche de fichiers. Définissez sur false pour améliorer les performances sur les projets avec un grand nombre de fichiers.true
context.clearContextOnIdle.toolResultsThresholdMinutesnumberMinutes d’inactivité avant d’effacer les anciens contenus de résultats d’outil. Utilisez -1 pour désactiver le déclencheur d’inactivité.60
context.clearContextOnIdle.toolResultsNumToKeepintegerNombre entier des résultats d’outil compactables les plus récents à conserver lors de l’effacement. Les valeurs inférieures à 1 sont ramenées à 1.5
context.clearContextOnIdle.toolResultsTotalCharsThresholdnumberNombre total de caractères de sortie de résultats d’outil compactables autorisés dans l’historique avant d’effacer les résultats les plus anciens. Utilisez -1 pour désactiver le déclencheur de taille. Il s’agit d’un seuil souple : les résultats d’outil récents protégés peuvent maintenir le total au-dessus de ce seuil.500000

Dépannage des performances de la recherche de fichiers

Si vous rencontrez des problèmes de performances lors de la recherche de fichiers (par exemple avec les complétions @), en particulier dans des projets comportant un très grand nombre de fichiers, voici quelques pistes à essayer, classées par ordre de recommandation :

  1. Utiliser un fichier d’ignorance : Créez un fichier .qwenignore ou un fichier d’ignorance personnalisé configuré à la racine de votre projet pour exclure les répertoires contenant un grand nombre de fichiers dont vous n’avez pas besoin (par exemple les artefacts de construction, les journaux, node_modules). Réduire le nombre total de fichiers parcourus est le moyen le plus efficace d’améliorer les performances.
  2. Désactiver la recherche floue : Si ignorer des fichiers ne suffit pas, vous pouvez désactiver la recherche floue en définissant enableFuzzySearch sur false dans votre fichier settings.json. Cela utilisera un algorithme de correspondance plus simple et non flou, ce qui peut être plus rapide.
  3. Désactiver la recherche récursive de fichiers : En dernier recours, vous pouvez désactiver complètement la recherche récursive de fichiers en définissant enableRecursiveFileSearch sur false. Ce sera l’option la plus rapide car elle évite un parcours récursif de votre projet. Cela signifie cependant que vous devrez saisir le chemin complet des fichiers lors de l’utilisation des complétions @.

outils

ParamètreTypeDescriptionPar défautNotes
tools.sandboxbooléen ou chaîneEnvironnement d’exécution sandbox (peut être un booléen ou une chaîne de chemin).undefined
tools.sandboxImagechaîneURI de l’image sandbox utilisée par Docker/Podman lorsque --sandbox-image et QWEN_SANDBOX_IMAGE ne sont pas définis.undefined
tools.shell.enableInteractiveShellbooléenUtiliser node-pty pour une expérience de shell interactive. Le recours à child_process s’applique toujours comme solution de repli.true
tools.coretableau de chaînesObsolète. Sera supprimé dans la prochaine version. Utilisez permissions.allow + permissions.deny à la place. Limite les outils intégrés à une liste autorisée. Tous les outils ne figurant pas dans la liste sont désactivés.undefined
tools.excludetableau de chaînesObsolète. Utilisez permissions.deny à la place. Noms des outils à exclure de la découverte. Migré automatiquement vers le format permissions au premier chargement.undefined
tools.allowedtableau de chaînesObsolète. Utilisez permissions.allow à la place. Noms des outils qui contournent la boîte de dialogue de confirmation. Migré automatiquement vers le format permissions au premier chargement.undefined
tools.approvalModechaîneDéfinit le mode d’approbation par défaut pour l’utilisation des outils.defaultValeurs possibles : plan (analyser uniquement, ne pas modifier les fichiers ni exécuter de commandes), default (demander une approbation avant les modifications de fichiers ou l’exécution de commandes shell), auto-edit (approuver automatiquement les modifications de fichiers), auto (le classifieur LLM approuve automatiquement les actions sûres, bloque les actions risquées), yolo (approuver automatiquement tous les appels d’outils)
tools.discoveryCommandchaîneCommande à exécuter pour la découverte d’outils.undefined
tools.callCommandchaîneDéfinit une commande shell personnalisée pour appeler un outil spécifique découvert via tools.discoveryCommand. La commande shell doit répondre aux critères suivants : elle doit prendre le nom de la fonction name (exactement comme dans la déclaration de fonction ) comme premier argument en ligne de commande. Elle doit lire les arguments de la fonction en JSON sur stdin, de manière analogue à functionCall.args. Elle doit renvoyer la sortie de la fonction en JSON sur stdout, de manière analogue à functionResponse.response.content.undefined
tools.useRipgrepbooléenUtiliser ripgrep pour la recherche de contenu dans les fichiers au lieu de l’implémentation de repli. Offre de meilleures performances de recherche.true
tools.useBuiltinRipgrepbooléenUtiliser le binaire ripgrep inclus. Lorsqu’il est défini sur false, la commande système rg sera utilisée à la place. Ce paramètre n’est effectif que lorsque tools.useRipgrep est true.true
tools.truncateToolOutputThresholdnombreTronquer la sortie des outils si elle dépasse ce nombre de caractères. S’applique aux outils Shell, Grep, Glob, ReadFile et ReadManyFiles.25000Nécessite un redémarrage : Oui
tools.truncateToolOutputLinesnombreNombre maximal de lignes ou d’entrées conservées lors de la troncature de la sortie des outils. S’applique aux outils Shell, Grep, Glob, ReadFile et ReadManyFiles.1000Nécessite un redémarrage : Oui
tools.computerUse.enabledbooléenActiver les outils intégrés Computer Use (automatisation native du bureau cua-driver). Lorsqu’il est true (par défaut), les outils computer_use__* sont enregistrés comme outils intégrés différés ; le premier appel télécharge le binaire signé cua-driver dans ~/.qwen/computer-use/ et parcourt les autorisations macOS Accessibilité / Enregistrement d’écran.trueNécessite un redémarrage : Oui
tools.computerUse.maxImageDimensionnombreLimite maximale des pixels sur le bord le plus long appliquée aux captures d’écran cua-driver (via set_config’s max_image_dimension). -1 (par défaut) conserve la valeur par défaut intégrée de cua-driver (1568) ; 0 désactive le redimensionnement (pleine résolution) ; une valeur positive limite le bord le plus long. Des limites plus basses réduisent le coût des tokens de vision au détriment des détails fins.-1Nécessite un redémarrage : Oui. Surcharge d’environnement : QWEN_COMPUTER_USE_MAX_IMAGE_DIMENSION (un entier non négatif ; prévaut sur ce paramètre)
Note

Migration depuis tools.core / tools.exclude / tools.allowed : Ces paramètres hérités sont obsolètes et automatiquement migrés vers le nouveau format permissions au premier chargement. Préférez configurer directement permissions.allow / permissions.deny. Utilisez /permissions pour gérer les règles de manière interactive.

memory

ParamètreTypeDescriptionPar défaut
memory.enableManagedAutoMemorybooleanActiver l’extraction en arrière‑plan des souvenirs à partir des conversations.true
memory.enableManagedAutoDreambooleanActiver la consolidation automatique (déduplication et nettoyage) des souvenirs collectés.true
memory.enableAutoSkillbooleanActiver l’examen en arrière‑plan des compétences réutilisables du projet après des sessions intensives en outils.true
memory.autoSkillConfirmbooleanDemander confirmation avant que les compétences générées automatiquement soient ajoutées à la bibliothèque de compétences. Désactivé, les compétences auto sont enregistrées immédiatement.true

Voir Mémoire pour les détails sur le fonctionnement de la mémoire automatique et comment utiliser les commandes /memory, /remember et /dream.

permissions

Le système de permissions offre un contrôle précis sur les outils qui peuvent s’exécuter, ceux qui nécessitent une confirmation et ceux qui sont bloqués.

Priorité de décision (la plus élevée en premier) : deny > ask > allow > (mode par défaut/interactif)

La première règle correspondante l’emporte. Les règles utilisent le format "ToolName" ou "ToolName(specifier)".

ParamètreTypeDescriptionPar défaut
permissions.allowtableau de chaînesRègles pour les appels d’outils automatiquement approuvés (aucune confirmation nécessaire). Fusionnées sur tous les contextes (utilisateur + projet + système).undefined
permissions.asktableau de chaînesRègles pour les appels d’outils qui nécessitent toujours une confirmation de l’utilisateur. Prend le pas sur allow.undefined
permissions.denytableau de chaînesRègles pour les appels d’outils bloqués. Priorité la plus élevée — remplace à la fois allow et ask.undefined

Alias de noms d’outils (n’importe lequel fonctionne dans les règles) :

AliasOutil canoniqueNotes
Bash, Shellrun_shell_command
Read, ReadFileread_fileMéta‑catégorie — voir ci‑dessous
Edit, EditFileeditMéta‑catégorie — voir ci‑dessous
Write, WriteFilewrite_file
NotebookEditnotebook_edit
NotebookEditToolnotebook_edit
Grep, SearchFilesgrep_search
Glob, FindFilesglob
ListFileslist_directory
WebFetchweb_fetch
Agenttask
Skillskill

Méta‑catégories :

Certains noms de règles couvrent automatiquement plusieurs outils :

Nom de la règleOutils couverts
Readread_file, grep_search, glob, list_directory
Editedit, write_file, notebook_edit

[!important] Read(/path/**) correspond aux quatre outils de lecture (lecture de fichier, grep, glob et listage de répertoire). Pour restreindre uniquement la lecture de fichier, utilisez ReadFile(/path/**) ou read_file(/path/**).

Exemples de syntaxe de règle :

RègleSignification
"Bash"Toutes les commandes shell
"Bash(git *)"Commandes shell commençant par git (limite de mot : pas gitk)
"Bash(git push *)"Commandes shell comme git push origin main
"Bash(npm run *)"Tout script npm run
"Read"Toutes les opérations de lecture de fichier (lecture, grep, glob, listage)
"Read(./secrets/**)"Lire tout fichier sous ./secrets/ récursivement
"Edit(/src/**/*.ts)"Modifier les fichiers TypeScript sous la racine du projet /src/
"WebFetch(api.example.com)"Récupérer depuis api.example.com et tous ses sous‑domaines
"mcp__puppeteer"Tous les outils du serveur MCP puppeteer
Préfixes de motifs de chemin :
PréfixeSignificationExemple
//Chemin absolu depuis la racine du système de fichiers//etc/passwd
~/Relatif au répertoire personnel~/Documents/*.pdf
/Relatif à la racine du projet/src/**/*.ts
./Relatif au répertoire de travail courant./secrets/**
(aucun)Identique à ./secrets/**

Prévention du contournement des commandes shell :

Les règles d’autorisation pour Read, Edit et WebFetch sont également appliquées lorsque l’agent exécute des commandes shell équivalentes. Par exemple, si Read(./.env) est dans deny, l’agent ne peut pas le contourner via cat .env dans une commande shell. Les commandes shell prises en charge incluent cat, grep, curl, wget, cp, mv, rm, chmod et bien d’autres. Les commandes inconnues/sûres (par ex. git) ne sont pas affectées par les règles de fichiers/réseau.

Migration depuis les paramètres hérités :

Ancien paramètreRègle d’autorisation équivalenteRemarques
tools.allowedpermissions.allowMigré automatiquement au premier chargement
tools.excludepermissions.denyMigré automatiquement au premier chargement
tools.corepermissions.allow (allowlist)Migré automatiquement ; les outils non listés sont désactivés au niveau du registre

Exemple de configuration :

{ "permissions": { "allow": ["Bash(git *)", "Bash(npm run *)", "Read(//Users/alice/code/**)"], "ask": ["Bash(git push *)", "Edit"], "deny": ["Bash(rm -rf *)", "Read(.env)", "WebFetch(malicious.com)"] } }

[!tip] Utilisez /permissions dans le CLI interactif pour voir, ajouter et supprimer des règles sans modifier directement settings.json.

slashCommands

Contrôle quelles commandes slash sont disponibles dans le CLI. Utile pour verrouiller la surface de commande dans les déploiements multi-locataires ou d’entreprise.

ParamètreTypeDescriptionPar défaut
slashCommands.disabledtableau de chaînesNoms des commandes slash à masquer et à refuser d’exécuter. La correspondance est insensible à la casse avec le nom final de la commande (pour les commandes d’extension, il s’agit de la forme désambiguïsée, par ex. myext.deploy). Fusionné en tant qu’union entre les portées, de sorte que les paramètres de l’espace de travail peuvent ajouter des entrées à celles définies dans les paramètres utilisateur ou système, mais ne peuvent pas en supprimer.undefined

La même liste de blocage peut également être fournie via le flag CLI --disabled-slash-commands (séparé par des virgules ou répété) et la variable d’environnement QWEN_DISABLED_SLASH_COMMANDS ; les valeurs des trois sources sont fusionnées en une union.

Exemple — verrouiller les commandes intégrées pour un déploiement en bac à sable :

{ "slashCommands": { "disabled": ["auth", "mcp", "extensions", "ide", "quit"] } }

Avec ces valeurs dans un settings.json au niveau système (/etc/qwen-code/settings.json ou QWEN_CODE_SYSTEM_SETTINGS_PATH), les utilisateurs ne peuvent pas réduire la liste de blocage depuis leur propre portée, et les commandes désactivées n’apparaîtront pas dans l’autocomplétion et ne s’exécuteront pas lorsqu’elles sont tapées.

[!note] Ce paramètre ne contrôle que les commandes slash (par ex. /auth, /mcp). Il n’affecte pas les permissions des outils — voir permissions.deny pour cela. Il n’intercepte pas non plus les raccourcis clavier comme Ctrl+C ou Esc.

mcp

ParamètreTypeDescriptionPar défaut
mcp.serverCommandchaîneCommande pour démarrer un serveur MCP.undefined
mcp.allowedtableau de chaînesUne liste d’autorisation de serveurs MCP à autoriser. Vous permet de spécifier une liste de noms de serveurs MCP qui doivent être mis à disposition du modèle. Cela peut être utilisé pour restreindre l’ensemble des serveurs MCP auxquels se connecter. Notez que cela sera ignoré si --allowed-mcp-server-names est défini.undefined
mcp.excludedtableau de chaînesUne liste de blocage des serveurs MCP à exclure. Un serveur listé à la fois dans mcp.excluded et mcp.allowed est exclu. Notez que cela sera ignoré si --allowed-mcp-server-names est défini.undefined
Note

Note de sécurité pour les serveurs MCP : Ces paramètres utilisent une correspondance simple de chaînes sur les noms des serveurs MCP, qui peuvent être modifiés. Si vous êtes un administrateur système souhaitant empêcher les utilisateurs de contourner cela, pensez à configurer les mcpServers au niveau des paramètres système afin que l’utilisateur ne puisse pas configurer ses propres serveurs MCP. Cela ne doit pas être utilisé comme un mécanisme de sécurité hermétique.

lsp

[!warning] Fonctionnalité expérimentale : La prise en charge LSP est actuellement expérimentale et désactivée par défaut. Activez-la avec le flag --experimental-lsp en ligne de commande.

Le Language Server Protocol (LSP) offre des fonctionnalités d’intelligence de code comme aller à la définition, trouver les références et les diagnostics.

La configuration du serveur LSP se fait via des fichiers .lsp.json dans le répertoire racine de votre projet, et non via settings.json. Consultez la documentation LSP pour les détails de configuration et des exemples.

security

RéglageTypeDescriptionPar défaut
security.folderTrust.enabledbooleanParamètre pour savoir si la confiance de dossier est activée.false
security.auth.selectedTypestringLe type d’authentification actuellement sélectionné.undefined
security.auth.enforcedTypestringLe type d’authentification requis (utile pour les entreprises).undefined
security.auth.useExternalbooleanIndique s’il faut utiliser un flux d’authentification externe.undefined

advanced

RéglageTypeDescriptionPar défaut
advanced.autoConfigureMemorybooleanConfigure automatiquement les limites de mémoire de Node.js.false
advanced.dnsResolutionOrderstringL’ordre de résolution DNS.undefined
advanced.excludedEnvVarsarray of stringsVariables d’environnement à exclure du contexte du projet. Spécifie les variables d’environnement qui doivent être exclues du chargement depuis les fichiers .env du projet. Cela empêche les variables d’environnement spécifiques au projet (comme DEBUG=true) d’interférer avec le comportement de la CLI. Les variables provenant des fichiers .qwen/.env ne sont jamais exclues.["DEBUG","DEBUG_MODE"]
advanced.bugCommandobjectConfiguration pour la commande de rapport de bug. Remplace l’URL par défaut pour la commande /bug. Propriétés : urlTemplate (string) : Une URL pouvant contenir les placeholders {title} et {info}. Exemple : "bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }undefined
plansDirectorystringRépertoire personnalisé pour les fichiers du Plan Mode approuvés. Les chemins relatifs sont résolus depuis la racine du projet, et le chemin résolu doit rester dans la racine du projet. Si non défini, les fichiers de plan sont stockés dans ~/.qwen/plans. Nécessite un redémarrage. Si le répertoire se trouve dans la racine du projet, ajoutez-le au .gitignore pour éviter de commiter les fichiers de plan.undefined

experimental

Warning

Fonctionnalités expérimentales. Ces toggles activent des capacités en cours de développement et peuvent changer ou être supprimés dans les versions futures.

RéglageTypeDescriptionPar défaut
experimental.cronbooleanActive les outils cron/boucle dans la session (cron_create, cron_list, cron_delete) afin que le modèle puisse créer des invites récurrentes. Peut être désactivé via la variable d’environnement QWEN_CODE_DISABLE_CRON=1. Nécessite un redémarrage.true
experimental.agentTeambooleanActive les outils de collaboration en équipe d’agents (team_create, task_create, task_update, send_message, etc.) pour la coordination multi-agents. Peut également être activé via QWEN_CODE_ENABLE_AGENT_TEAM=1. Nécessite un redémarrage.false
experimental.artifactbooleanActive l’outil Artifact, permettant au modèle de publier une page HTML autonome et de l’ouvrir dans le navigateur. Sessions interactives uniquement, pas dans les sessions SDK. Activez via QWEN_CODE_ENABLE_ARTIFACT=1 / QWEN_CODE_DISABLE_ARTIFACT=1. Nécessite un redémarrage.false
experimental.emitToolUseSummariesbooleanGénère une courte étiquette basée sur LLM après chaque lot d’appels d’outils. Voir Résumés d’utilisation d’outils. Nécessite qu’un modèle rapide soit configuré (fastModel) ; ignoré silencieusement sinon. Peut être remplacé par session avec QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0 ou =1.true

mcpServers

Configure les connexions à un ou plusieurs serveurs Model-Context Protocol (MCP) pour découvrir et utiliser des outils personnalisés. Qwen Code tente de se connecter à chaque serveur MCP configuré pour découvrir les outils disponibles. Si plusieurs serveurs MCP exposent un outil portant le même nom, les noms des outils seront préfixés par l’alias du serveur que vous avez défini dans la configuration (par exemple, serverAlias__actualToolName) afin d’éviter les conflits. Notez que le système peut supprimer certaines propriétés de schéma des définitions d’outils MCP pour des raisons de compatibilité. Au moins l’un des éléments command, url ou httpUrl doit être fourni. Si plusieurs sont spécifiés, l’ordre de priorité est httpUrl, puis url, puis command.

PropriétéTypeDescriptionOptionnel
mcpServers.<SERVER_NAME>.commandstringLa commande à exécuter pour démarrer le serveur MCP via l’entrée/sortie standard.Oui
mcpServers.<SERVER_NAME>.argsarray of stringsLes arguments à passer à la commande.Oui
mcpServers.<SERVER_NAME>.envobjectLes variables d’environnement à définir pour le processus du serveur.Oui
mcpServers.<SERVER_NAME>.cwdstringLe répertoire de travail dans lequel démarrer le serveur.Oui
mcpServers.<SERVER_NAME>.urlstringL’URL d’un serveur MCP qui utilise les Server-Sent Events (SSE) pour la communication.Oui
mcpServers.<SERVER_NAME>.httpUrlstringL’URL d’un serveur MCP qui utilise le HTTP streamable pour la communication.Oui
mcpServers.<SERVER_NAME>.headersobjectUne correspondance d’en-têtes HTTP à envoyer avec les requêtes vers url ou httpUrl.Oui
mcpServers.<SERVER_NAME>.timeoutnumberLe délai d’expiration en millisecondes pour les requêtes vers ce serveur MCP.Oui
mcpServers.<SERVER_NAME>.trustbooleanFaire confiance à ce serveur et contourner toutes les confirmations d’appel d’outil.Oui
mcpServers.<SERVER_NAME>.descriptionstringUne brève description du serveur, qui peut être utilisée à des fins d’affichage.Oui
mcpServers.<SERVER_NAME>.includeToolsarray of stringsListe des noms d’outils à inclure depuis ce serveur MCP. Lorsqu’elle est spécifiée, seuls les outils listés ici seront disponibles depuis ce serveur (comportement de liste blanche). Si elle n’est pas spécifiée, tous les outils du serveur sont activés par défaut.Oui
mcpServers.<SERVER_NAME>.excludeToolsarray of stringsListe des noms d’outils à exclure de ce serveur MCP. Les outils listés ici ne seront pas disponibles pour le modèle, même s’ils sont exposés par le serveur. Remarque : excludeTools prime sur includeTools – si un outil figure dans les deux listes, il sera exclu.Oui

télémétrie

Configure la journalisation et la collecte de métriques pour Qwen Code. Pour plus d’informations, voir télémétrie.

SettingTypeDescriptionValeur par défaut
telemetry.enabledbooleanIndique si la télémétrie est activée ou non.
telemetry.targetstringÉtiquette informative pour la destination de la télémétrie (local ou gcp). Ne contrôle pas le routage de l’exportateur ; définissez telemetry.otlpEndpoint ou telemetry.outfile pour configurer l’envoi des données.
telemetry.otlpEndpointstringLe point de terminaison pour l’exportateur OTLP.
telemetry.otlpProtocolstringLe protocole pour l’exportateur OTLP (grpc ou http).
telemetry.logPromptsbooleanIndique s’il faut inclure le contenu des invites utilisateur dans les journaux.
telemetry.includeSensitiveSpanAttributesbooleanLorsqu’elle est activée, attache les invites utilisateur textuelles, les invites système, les entrées/sorties des outils et les réponses du modèle aux attributs natifs des spans OTel (en plus des spans du pont journal-à-span). ⚠️ Transmet des données sensibles — contenu des fichiers, commandes shell, historique de la conversation — à votre backend OTLP.false
telemetry.outfilestringChemin pour écrire la télémétrie dans un fichier. Lorsqu’il est défini, remplace l’export OTLP.

Exemple settings.json

Voici un exemple de fichier settings.json avec la structure imbriquée, nouvelle depuis la v0.3.0 :

{ "proxy": "http://localhost:7890", "plansDirectory": "./.qwen/plans", "general": { "vimMode": true, "preferredEditor": "code" }, "ui": { "theme": "GitHub", "hideTips": false, "customWittyPhrases": [ "You forget a thousand things every day. Make sure this is one of 'em", "Connecting to AGI" ] }, "tools": { "approvalMode": "yolo", "sandbox": "docker", "sandboxImage": "ghcr.io/qwenlm/qwen-code:0.14.1", "discoveryCommand": "bin/get_tools", "callCommand": "bin/call_tool", "exclude": ["write_file"] }, "mcpServers": { "mainServer": { "command": "bin/mcp_server.py" }, "anotherServer": { "command": "node", "args": ["mcp_server.js", "--verbose"] } }, "telemetry": { "enabled": true, "target": "local", "otlpEndpoint": "http://localhost:4317", "logPrompts": true, "includeSensitiveSpanAttributes": false }, "privacy": { "usageStatisticsEnabled": true }, "model": { "name": "qwen3-coder-plus", "maxSessionTurns": 10, "enableOpenAILogging": false, "openAILoggingDir": "~/qwen-logs", }, "context": { "fileName": ["CONTEXT.md", "QWEN.md"], "includeDirectories": ["path/to/dir1", "~/path/to/dir2", "../path/to/dir3"], "loadFromIncludeDirectories": true, "fileFiltering": { "respectGitIgnore": false } }, "advanced": { "excludedEnvVars": ["DEBUG", "DEBUG_MODE", "NODE_ENV"] } }

Historique du shell

Le CLI conserve un historique des commandes shell que vous exécutez. Pour éviter les conflits entre différents projets, cet historique est stocké dans un répertoire spécifique au projet à l’intérieur de votre dossier personnel.

  • Emplacement : ~/.qwen/tmp/<project_hash>/shell_history
    • <project_hash> est un identifiant unique généré à partir du chemin racine de votre projet.
    • L’historique est stocké dans un fichier nommé shell_history.

Variables d’environnement & Fichiers .env

Les variables d’environnement sont un moyen courant de configurer les applications, en particulier pour les informations sensibles (comme les jetons) ou pour les paramètres qui peuvent changer selon l’environnement.

Qwen Code peut charger automatiquement les variables d’environnement à partir des fichiers .env. Pour les variables liées à l’authentification (comme OPENAI_*) et l’approche recommandée .qwen/.env, consultez Authentification.

Tip

Exclusion de variables d’environnement : Certaines variables d’environnement (comme DEBUG et DEBUG_MODE) sont automatiquement exclues des fichiers .env du projet par défaut pour éviter toute interférence avec le comportement de la CLI. Les variables des fichiers .qwen/.env ne sont jamais exclues. Vous pouvez personnaliser ce comportement via le paramètre advanced.excludedEnvVars de votre fichier settings.json.

Tableau des variables d’environnement

VariableDescriptionRemarques
QWEN_HOMEPersonnalise le répertoire de configuration global (par défaut : ~/.qwen). Accepte un chemin absolu ou relatif (les chemins relatifs sont résolus à partir du répertoire de travail actuel). Le ~ initial est étendu au répertoire personnel de l’utilisateur.Stocke les identifiants, paramètres, mémoire, compétences et autres états globaux. Lorsque défini, les répertoires .qwen/ au niveau du projet ne sont pas affectés. Une chaîne vide est traitée comme non définie.
QWEN_RUNTIME_DIRRemplace le répertoire de sortie d’exécution (conversations, journaux, tâches). Lorsqu’il n’est pas défini, prend par défaut le répertoire QWEN_HOME.Utilisez ceci pour séparer les données d’exécution éphémères de la configuration persistante. Utile lorsque QWEN_HOME se trouve sur un système de fichiers partagé ou lent.
QWEN_TELEMETRY_ENABLEDDéfinir sur true ou 1 pour activer la télémétrie. Toute autre valeur est traitée comme la désactivant.Remplace le paramètre telemetry.enabled.
QWEN_TELEMETRY_TARGETDéfinit une étiquette informationnelle pour la destination de télémétrie (local ou gcp). Ne contrôle pas le routage ; utilisez QWEN_TELEMETRY_OTLP_ENDPOINT ou QWEN_TELEMETRY_OUTFILE pour configurer l’envoi des données.Remplace le paramètre telemetry.target.
QWEN_TELEMETRY_OTLP_ENDPOINTDéfinit le point de terminaison OTLP pour la télémétrie.Remplace le paramètre telemetry.otlpEndpoint.
QWEN_TELEMETRY_OTLP_PROTOCOLDéfinit le protocole OTLP (grpc ou http).Remplace le paramètre telemetry.otlpProtocol.
QWEN_TELEMETRY_LOG_PROMPTSDéfinir sur true ou 1 pour activer ou désactiver la journalisation des invites utilisateur. Toute autre valeur est traitée comme la désactivant.Remplace le paramètre telemetry.logPrompts.
QWEN_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTESDéfinir sur true ou 1 pour attacher textuellement les invites utilisateur, les invites système, les entrées/sorties d’outils et les réponses du modèle aux attributs natifs des spans OTel (et conserver prompt / function_args / response_text sur les spans de pont log-to-span). Toute autre valeur le désactive.Remplace le paramètre telemetry.includeSensitiveSpanAttributes. ⚠️ Envoie des données sensibles vers votre backend OTLP.
QWEN_TELEMETRY_OUTFILEDéfinit le chemin du fichier dans lequel écrire la télémétrie. Lorsqu’il est défini, remplace l’export OTLP.Remplace le paramètre telemetry.outfile.
QWEN_SANDBOXAlternative au paramètre sandbox dans settings.json.Accepte true, false, docker, podman, ou une chaîne de commande personnalisée.
QWEN_SANDBOX_IMAGERemplace la sélection d’image sandbox pour Docker/Podman.Prime sur tools.sandboxImage.
SEATBELT_PROFILE(spécifique macOS) Change le profil Seatbelt (sandbox-exec) sur macOS.permissive-open : (Par défaut) Restreint les écritures dans le dossier du projet (et quelques autres dossiers, voir packages/cli/src/utils/sandbox-macos-permissive-open.sb) mais autorise les autres opérations. strict : Utilise un profil strict qui refuse les opérations par défaut. <nom_du_profil> : Utilise un profil personnalisé. Pour définir un profil personnalisé, créez un fichier nommé sandbox-macos-<nom_du_profil>.sb dans le répertoire .qwen/ de votre projet (par exemple mon-projet/.qwen/sandbox-macos-custom.sb).
DEBUG ou DEBUG_MODE(souvent utilisé par les bibliothèques sous-jacentes ou la CLI elle-même) Définir sur true ou 1 pour activer la journalisation de débogage verbeuse, ce qui peut être utile pour le dépannage.Remarque : Ces variables sont automatiquement exclues des fichiers .env du projet par défaut pour éviter toute interférence avec le comportement de la CLI. Utilisez les fichiers .qwen/.env si vous devez les définir spécifiquement pour Qwen Code.
NO_COLORDéfinir sur n’importe quelle valeur pour désactiver toute sortie colorée dans la CLI.
FORCE_HYPERLINKRemplace la détection des liens cliquables OSC 8 dans le rendu Markdown. Définir sur 1 (ou tout entier non nul, ou chaîne vide) pour forcer l’activation ; définir sur 0 ou une valeur non numérique comme false / off pour forcer la désactivation. Respecte les désactivations NO_COLOR / QWEN_DISABLE_HYPERLINKS ci-dessus.Utilisez ceci pour adopter OSC 8 dans tmux / GNU screen (la détection automatique refuse par défaut car les capacités du terminal hôte sont cachées derrière le multiplexeur). Nécessite set -g allow-passthrough on sur tmux 3.3+. Active également Hyper, qui n’est pas détecté automatiquement.
QWEN_DISABLE_HYPERLINKSDéfinir sur 1 pour désactiver complètement les hyperliens cliquables OSC 8 dans le rendu Markdown, même sur les terminaux qui se détectent automatiquement comme capables.Utile lorsqu’un terminal annonce la prise en charge mais échoue sur les longues URL, ou lorsque la sortie est canalisée via un intermédiaire qui déforme les séquences d’échappement. Le rendu revient à un affichage simple label (url).
CLI_TITLEDéfinir sur une chaîne pour personnaliser le titre de la CLI.
CODE_ASSIST_ENDPOINTSpécifie le point de terminaison pour le serveur d’assistance au code.Ceci est utile pour le développement et les tests.
QWEN_CODE_MAX_OUTPUT_TOKENSRemplace le nombre maximum de jetons de sortie par réponse par défaut. Lorsqu’il n’est pas défini, Qwen Code utilise une stratégie adaptative : commence avec 8K jetons et réessaie automatiquement avec 64K si la réponse est tronquée. Définissez-le sur une valeur spécifique (par exemple 16000) pour utiliser une limite fixe à la place.Prime sur la valeur par défaut plafonnée (8K) mais est remplacé par samplingParams.max_tokens dans les paramètres. Désactive l’escalade automatique lorsqu’il est défini. Exemple : export QWEN_CODE_MAX_OUTPUT_TOKENS=16000
QWEN_CODE_UNATTENDED_RETRYDéfinir sur true ou 1 pour activer le mode de nouvelle tentative persistante. Lorsqu’il est activé, les erreurs de capacité API transitoires (HTTP 429 Limite de débit et 529 Surchargé) sont retentées indéfiniment avec un backoff exponentiel (plafonné à 5 minutes par tentative) et des signaux de vie toutes les 30 secondes sur stderr.Conçu pour les pipelines CI/CD et l’automatisation en arrière-plan où les tâches de longue durée doivent survivre à des pannes API temporaires. Doit être défini explicitement — CI=true seul n’active pas ce mode. Voir Mode sans tête pour plus de détails. Exemple : export QWEN_CODE_UNATTENDED_RETRY=1
QWEN_CODE_PROFILE_STARTUPDéfinir sur 1 pour activer le profilage des performances au démarrage. Écrit un rapport de chronométrage JSON dans ~/.qwen/startup-perf/ avec les durées par phase.Actif uniquement dans le processus enfant sandbox (ou avec QWEN_CODE_PROFILE_STARTUP_OUTER=1). Aucune surcharge lorsque non défini. Exemple : export QWEN_CODE_PROFILE_STARTUP=1
QWEN_CODE_PROFILE_STARTUP_OUTERDéfinir sur 1 avec `QWEN_CODE_PROFILE_STARTUP=
Lorsque deux fichiers .env au niveau utilisateur définissent la même variable, le fichier spécifique à Qwen l’emporte : <QWEN_HOME>/.env (ou ~/.qwen/.env si QWEN_HOME n’est pas défini) est chargé avant ~/.env, et les valeurs d’environnement existantes ne sont pas écrasées.

Arguments en ligne de commande

Les arguments passés directement lors de l’exécution de la CLI peuvent remplacer d’autres configurations pour cette session spécifique.

Pour la sélection de l’image du sandbox, la priorité est la suivante : --sandbox-image > QWEN_SANDBOX_IMAGE > tools.sandboxImage > image par défaut intégrée.

Tableau des arguments en ligne de commande

ArgumentAliasDescriptionValeurs possiblesNotes
--model-mSpécifie le modèle Qwen à utiliser pour cette session.Nom du modèleExemple : npm start -- --model qwen3-coder-plus
--prompt-pPermet de passer une invite directement à la commande. Cela appelle Qwen Code en mode non interactif.Votre texte d’invitePour des exemples de scripts, utilisez l’indicateur --output-format json pour obtenir une sortie structurée.
--prompt-interactive-iDémarre une session interactive avec l’invite fournie comme saisie initiale.Votre texte d’inviteL’invite est traitée dans la session interactive, pas avant. Ne peut pas être utilisée lors d’un tuyau d’entrée depuis stdin. Exemple : qwen -i "explique ce code"
--system-promptRemplace l’invite système intégrée de la session principale pour cette exécution.Votre texte d’inviteLes fichiers de contexte chargés comme QWEN.md sont toujours ajoutés après ce remplacement. Peut être combiné avec --append-system-prompt.
--append-system-promptAjoute des instructions supplémentaires à l’invite système de la session principale pour cette exécution.Votre texte d’inviteAppliqué après l’invite intégrée et les fichiers de contexte chargés. Peut être combiné avec --system-prompt. Voir Mode autonome pour des exemples.
--output-format-oSpécifie le format de sortie de la CLI pour le mode non interactif.text, json, stream-jsontext : (Défaut) La sortie standard lisible par l’humain. json : Une sortie JSON lisible par machine émise à la fin de l’exécution. stream-json : Messages JSON en streaming émis au fur et à mesure de l’exécution. Pour une sortie structurée et des scripts, utilisez l’indicateur --output-format json ou --output-format stream-json. Voir Mode autonome pour des informations détaillées.
--input-formatSpécifie le format consommé depuis l’entrée standard.text, stream-jsontext : (Défaut) Saisie de texte standard depuis stdin ou les arguments en ligne de commande. stream-json : Protocole de messages JSON via stdin pour la communication bidirectionnelle. Condition : --input-format stream-json nécessite que --output-format stream-json soit défini. Lors de l’utilisation de stream-json, stdin est réservé aux messages du protocole. Voir Mode autonome pour des informations détaillées.
--include-partial-messagesInclure les messages partiels de l’assistant lors de l’utilisation du format de sortie stream-json. Lorsqu’activé, émet les événements de flux (message_start, content_block_delta, etc.) au fur et à mesure qu’ils se produisent pendant le streaming.Défaut : false. Condition : Nécessite que --output-format stream-json soit défini. Voir Mode autonome pour des informations détaillées sur les événements de flux.
--sandbox-sActive le mode sandbox pour cette session.
--sandbox-imageDéfinit l’URI de l’image sandbox.
--debug-dActive le mode débogage pour cette session, fournissant une sortie plus verbeuse.
--all-files-aSi défini, inclut récursivement tous les fichiers du répertoire courant comme contexte pour l’invite.
--help-hAffiche les informations d’aide concernant les arguments en ligne de commande.
--show-memory-usageAffiche l’utilisation actuelle de la mémoire.
--yoloActive le mode YOLO, qui approuve automatiquement tous les appels d’outils.
--approval-modeDéfinit le mode d’approbation pour les appels d’outils.plan, default, auto-edit, auto, yoloModes pris en charge : plan : Analyser uniquement — ne pas modifier les fichiers ni exécuter les commandes. default : Exiger une approbation pour les modifications de fichiers ou les commandes shell (comportement par défaut). auto-edit : Approuver automatiquement les outils d’édition (edit, write_file, notebook_edit) tout en demandant pour les autres. auto : Un classifieur LLM approuve automatiquement les actions sûres et bloque les risquées. yolo : Approuver automatiquement tous les appels d’outils (équivalent à --yolo). Ne peut pas être utilisé avec --yolo. Utilisez --approval-mode=yolo au lieu de --yolo pour la nouvelle approche unifiée. Exemple : qwen --approval-mode auto-edit
Voir plus sur Mode d’approbation.
--allowed-toolsUne liste séparée par des virgules des noms d’outils qui contourneront la boîte de dialogue de confirmation.Noms d’outilsExemple : qwen --allowed-tools "Shell(git status)"
--disabled-slash-commandsNoms des commandes slash à masquer/désactiver (séparés par des virgules ou répétés). Unis avec le paramètre slashCommands.disabled et la variable d’environnement QWEN_DISABLED_SLASH_COMMANDS. La correspondance est insensible à la casse par rapport au nom final de la commande.Noms de commandesExemple : qwen --disabled-slash-commands "auth,mcp,extensions"
--telemetryActive la télémétrie.
--telemetry-targetDéfinit la cible de télémétrie.Voir télémétrie pour plus d’informations.
--telemetry-otlp-endpointDéfinit le point de terminaison OTLP pour la télémétrie.Voir télémétrie pour plus d’informations.
--telemetry-otlp-protocolDéfinit le protocole OTLP pour la télémétrie (grpc ou http).Par défaut grpc. Voir télémétrie pour plus d’informations.
--telemetry-log-promptsActive la journalisation des invites pour la télémétrie.Voir télémétrie pour plus d’informations.
--acpActive le mode ACP (Agent Client Protocol). Utile pour les intégrations IDE/éditeur comme Zed.Stable. Remplace l’indicateur obsolète --experimental-acp.
--experimental-lspActive la fonctionnalité expérimentale LSP (Language Server Protocol) pour l’intelligence de code (aller à la définition, trouver les références, diagnostics, etc.).Expérimental. Nécessite que les serveurs de langage soient installés.
--extensions-eSpécifie une liste d’extensions à utiliser pour la session.Noms d’extensionsSi non fourni, toutes les extensions disponibles sont utilisées. Utilisez le terme spécial qwen -e none pour désactiver toutes les extensions. Exemple : qwen -e mon-extension -e mon-autre-extension
--list-extensions-lListe toutes les extensions disponibles et quitte.
--proxyDéfinit le proxy pour la CLI.URL du proxyExemple : --proxy http://localhost:7890.
--include-directoriesInclut des répertoires supplémentaires dans l’espace de travail pour la prise en charge de plusieurs répertoires.Chemins de répertoiresPeut être spécifié plusieurs fois ou sous forme de valeurs séparées par des virgules. 5 répertoires maximum peuvent être ajoutés. Exemple : --include-directories /path/to/project1,/path/to/project2 ou --include-directories /path/to/project1 --include-directories /path/to/project2
--screen-readerActive le mode lecteur d’écran, qui ajuste l’interface TUI pour une meilleure compatibilité avec les lecteurs d’écran.
--versionAffiche la version de la CLI.
--openai-loggingActive la journalisation des appels API OpenAI pour le débogage et l’analyse.Cet indicateur remplace le paramètre enableOpenAILogging dans settings.json.
--openai-logging-dirDéfinit un chemin de répertoire personnalisé pour les journaux API OpenAI.Chemin de répertoireCet indicateur remplace le paramètre openAILoggingDir dans settings.json. Prend en charge les chemins absolus, relatifs et l’expansion ~. Exemple : qwen --openai-logging-dir "~/qwen-logs" --openai-logging

Fichiers de contexte (Contexte instructionnel hiérarchique)

Bien qu’il ne s’agisse pas strictement d’une configuration du comportement du CLI, les fichiers de contexte (par défaut QWEN.md mais configurables via le paramètre context.fileName) sont essentiels pour configurer le contexte instructionnel (aussi appelé « mémoire »). Cette fonctionnalité puissante vous permet de donner des instructions spécifiques au projet, des guides de style de codage ou toute information contextuelle pertinente à l’IA, rendant ses réponses plus adaptées et précises à vos besoins. Le CLI inclut des éléments d’interface utilisateur, comme un indicateur dans le pied de page indiquant le nombre de fichiers de contexte chargés, pour vous tenir informé du contexte actif.

  • Objectif : Ces fichiers Markdown contiennent des instructions, des directives ou un contexte que vous souhaitez que le modèle Qwen connaisse lors de vos interactions. Le système est conçu pour gérer ce contexte instructionnel de manière hiérarchique.

Exemple de contenu d’un fichier de contexte (par ex. QWEN.md)

Voici un exemple conceptuel de ce qu’un fichier de contexte à la racine d’un projet TypeScript pourrait contenir :

# Project: My Awesome TypeScript Library ## General Instructions: - When generating new TypeScript code, please follow the existing coding style. - Ensure all new functions and classes have JSDoc comments. - Prefer functional programming paradigms where appropriate. - All code should be compatible with TypeScript 5.0 and Node.js 22+. ## Coding Style: - Use 2 spaces for indentation. - Interface names should be prefixed with `I` (e.g., `IUserService`). - Private class members should be prefixed with an underscore (`_`). - Always use strict equality (`===` and `!==`). ## Specific Component: `src/api/client.ts` - This file handles all outbound API requests. - When adding new API call functions, ensure they include robust error handling and logging. - Use the existing `fetchWithRetry` utility for all GET requests. ## Regarding Dependencies: - Avoid introducing new external dependencies unless absolutely necessary. - If a new dependency is required, please state the reason.

Cet exemple montre comment vous pouvez fournir un contexte général de projet, des conventions de codage spécifiques, et même des notes sur des fichiers ou composants particuliers. Plus vos fichiers de contexte sont pertinents et précis, mieux l’IA peut vous assister. Les fichiers de contexte spécifiques au projet sont fortement encouragés pour établir des conventions et un contexte.

  • Chargement hiérarchique et précédence : Le CLI implémente un système de mémoire hiérarchique en chargeant les fichiers de contexte (par ex., QWEN.md) depuis plusieurs emplacements. Le contenu des fichiers plus bas dans cette liste (plus spécifiques) remplace ou complète généralement le contenu des fichiers plus haut (plus généraux). L’ordre exact de concaténation et le contexte final peuvent être inspectés depuis la boîte de dialogue /memory. L’ordre de chargement typique est :
    1. Fichier de contexte global :
      • Emplacement : ~/.qwen/<configured-context-filename> (par ex., ~/.qwen/QWEN.md dans votre répertoire personnel).
      • Portée : Fournit des instructions par défaut pour tous vos projets.
    2. Fichiers de contexte de la racine du projet et des dossiers parents :
      • Emplacement : Le CLI recherche le fichier de contexte configuré dans le répertoire de travail actuel, puis dans chaque répertoire parent jusqu’à la racine du projet (identifiée par un dossier .git) ou votre répertoire personnel.
      • Portée : Fournit un contexte pertinent pour l’ensemble du projet ou une partie significative de celui-ci.
  • Concaténation et indication dans l’interface utilisateur : Le contenu de tous les fichiers de contexte trouvés est concaténé (avec des séparateurs indiquant leur origine et leur chemin) et fourni dans le prompt système. Le pied de page du CLI affiche le nombre de fichiers de contexte chargés, vous donnant un aperçu visuel rapide du contexte instructionnel actif.
  • Importation de contenu : Vous pouvez modulariser vos fichiers de contexte en important d’autres fichiers Markdown à l’aide de la syntaxe @path/to/file.md. Pour plus de détails, consultez la documentation Mémoire.
  • Commandes pour la gestion de la mémoire :
    • Utilisez /memory pour ouvrir la boîte de dialogue de gestion de la mémoire.
    • Actualisez la mémoire depuis la boîte de dialogue pour rescanner et recharger les fichiers de contexte depuis tous les emplacements configurés.
    • Consultez la documentation des commandes pour tous les détails sur la commande /memory.

En comprenant et en utilisant ces couches de configuration et la nature hiérarchique des fichiers de contexte, vous pouvez gérer efficacement la mémoire de l’IA et adapter les réponses de Qwen Code à vos besoins et projets spécifiques.

Sandbox

Qwen Code peut exécuter des opérations potentiellement dangereuses (comme des commandes shell et des modifications de fichiers) dans un environnement sandboxé pour protéger votre système.

Sandbox est désactivé par défaut, mais vous pouvez l’activer de plusieurs manières :

  • En utilisant l’option --sandbox ou -s.
  • En définissant la variable d’environnement QWEN_SANDBOX.
  • En définissant tools.sandbox dans les paramètres.

⚠️ --yolo n’active pas automatiquement un sandbox. Le mode YOLO approuve automatiquement les appels d’outils ; l’utilisation d’un sandbox doit toujours être choisie via --sandbox, QWEN_SANDBOX ou tools.sandbox. Dans les exécutions headless / non interactives avec --yolo (ou --approval-mode=yolo) et sans sandbox, le modèle peut exécuter les outils shell, d’écriture et d’édition au niveau de privilège du processus actuel — Qwen Code imprime un avertissement sur stderr dans ce cas. Supprimez-le avec QWEN_CODE_SUPPRESS_YOLO_WARNING=1 une fois que vous avez examiné le compromis. Par défaut, il utilise une image Docker pré-construite qwen-code-sandbox.

Pour les besoins de sandboxing spécifiques à un projet, vous pouvez créer un Dockerfile personnalisé à l’emplacement .qwen/sandbox.Dockerfile dans le répertoire racine de votre projet. Ce Dockerfile peut être basé sur l’image sandbox de base :

FROM qwen-code-sandbox # Ajoutez ici vos dépendances ou configurations personnalisées # Par exemple : # RUN apt-get update && apt-get install -y some-package # COPY ./my-config /app/my-config

Lorsque .qwen/sandbox.Dockerfile existe, vous pouvez utiliser la variable d’environnement BUILD_SANDBOX lors de l’exécution de Qwen Code pour construire automatiquement l’image sandbox personnalisée :

BUILD_SANDBOX=1 qwen -s

Statistiques d’utilisation

Pour nous aider à améliorer Qwen Code, nous collectons des statistiques d’utilisation anonymisées. Ces données nous aident à comprendre comment l’interface CLI est utilisée, à identifier les problèmes courants et à prioriser les nouvelles fonctionnalités.

Ce que nous collectons :

  • Appels d’outils : Nous enregistrons les noms des outils appelés, qu’ils réussissent ou échouent, et leur durée d’exécution. Nous ne collectons pas les arguments passés aux outils ni les données qu’ils renvoient.
  • Requêtes API : Nous enregistrons le modèle utilisé pour chaque requête, la durée de la requête et si elle a réussi. Nous ne collectons pas le contenu des invites ou des réponses.
  • Informations de session : Nous collectons des informations sur la configuration de l’interface CLI, telles que les outils activés et le mode d’approbation.

Ce que nous NE collectons PAS :

  • Informations personnelles identifiables (PII) : Nous ne collectons aucune information personnelle, comme votre nom, votre adresse e-mail ou vos clés API.
  • Contenu des invites et des réponses : Nous ne journalisons pas le contenu de vos invites ni les réponses du modèle.
  • Contenu des fichiers : Nous ne journalisons pas le contenu des fichiers lus ou écrits par l’interface CLI.

Comment se désinscrire :

Vous pouvez à tout moment vous désinscrire de la collecte de statistiques d’utilisation en définissant la propriété usageStatisticsEnabled sur false dans la catégorie privacy de votre fichier settings.json :

{ "privacy": { "usageStatisticsEnabled": false } }
Note

Lorsque les statistiques d’utilisation sont activées, les événements sont envoyés à un point de terminaison de collecte Alibaba Cloud RUM.

Last updated on