Qwen Code Hebdo : choisissez comment l'IA vous parle, le bot DingTalk envoie des fichiers et le Web Shell gagne un terminal intégré
Qwen Code publie cette semaine deux versions stables — v0.22.3 et v0.23.0 — avec plus de 320 PR fusionnées.
Le style de réponse, c’est vous qui le choisissez. Quatre styles de sortie intégrés — Concise (concis), Proactive (proactif), Explanatory (explicatif), Learning (pédagogique) — à choisir librement, et modifiables à tout moment en pleine conversation.
Le bot DingTalk envoie des fichiers. Les rapports et documents rédigés par l’IA partent en pièce jointe directement dans la conversation : vous les ouvrez depuis votre téléphone.
Le Web Shell intègre un terminal. Vous pouvez lancer des commandes juste à côté de la conversation ; chaque onglet est indépendant et travaille pour son compte.
✨ Nouvelles fonctionnalités
Style de sortie : choisissez comment l’IA vous parle
Chacun attend autre chose des réponses de l’IA : certains veulent un résultat direct sans blabla, d’autres préfèrent que l’IA explique en travaillant, voire qu’elle leur apprenne. Cette semaine, le style de sortie devient configurable, avec quatre styles intégrés :
- Concise (concis) : la conclusion d’abord, sans préambule ni récit du processus
- Proactive (proactif) : démarre directement ; en cas de doute, énonce ses hypothèses et continue au lieu de vous redemander
- Explanatory (explicatif) : vous explique le code concerné pendant qu’il le modifie
- Learning (pédagogique) : travaille tout en vous guidant, et vous laisse prendre vous-même certaines petites décisions
Trois façons de le choisir : définissez general.outputStyle dans settings.json pour un effet permanent, passez --output-style au lancement pour une seule session, ou utilisez /output-style en pleine conversation pour basculer immédiatement — la réponse suivante adopte le nouveau style.
Ce que vous pouvez en faire :
- Vous ne voulez que le résultat ? Passez en Concise, l’IA va droit à la conclusion
- Vous voulez apprendre ? Passez en Explanatory ou Learning, l’IA explique pendant qu’elle modifie
- Envie de changer de style en cours de conversation ?
/output-stylebascule à tout moment
Voir les PR #9565 , #10283 , #10683

Goal : l’IA rédige l’objectif, vous n’avez qu’à confirmer
La semaine dernière, /goal-draft permettait à l’IA de rédiger l’objectif pour vous. Cette semaine, une fois la rédaction terminée, l’IA vous présente l’objectif complet dans une boîte de confirmation, et dès votre confirmation le Goal démarre immédiatement.
Pour les tâches qui demandent plusieurs tours et dont les critères de réussite sont clairs, l’IA juge elle-même que le travail mérite d’être suivi jusqu’au bout : elle rédige l’objectif et vous demande confirmation. Si ce comportement ne vous plaît pas, vous pouvez le désactiver entièrement dans les paramètres. La fonction est disponible dans les sessions interactives du terminal ; la prise en charge dans le Web Shell arrive bientôt.
La semaine dernière, le Goal a gagné un budget token ; cette semaine, vous en décidez le montant : modifiez model.goalTokenBudget dans les paramètres, à la hausse comme à la baisse — mettez -1 pour n’avoir aucune limite.
Ce que vous pouvez en faire :
- L’IA rédige l’objectif ; vous confirmez, elle s’y met
- Pour les tâches longues aux critères de réussite clairs, l’IA propose d’elle-même de suivre le travail jusqu’au bout
- Le budget se règle librement, à la hausse comme à la baisse

Review de code : les tours de correction ne revoient que les changements, la profondeur est mémorisée
Les tours de correction ne revoient que les changements. Dans la boucle où l’IA review, corrige, puis re-review, chaque tour suivant n’examine que les fichiers modifiés : ce qui a déjà été revu et n’a pas bougé garde la conclusion du tour précédent. Moins de tokens, moins de temps.
La profondeur de review est mémorisée. Une fois que vous avez explicitement fixé la profondeur avec --effort, il suffit de lancer /review dans le même projet pour qu’elle soit réutilisée.
Les exécutions longues donnent des nouvelles. Quand un tour de correction automatique s’éternise, le commentaire de statut sur la page de la PR se met à jour environ toutes les 10 minutes avec la durée écoulée et l’heure de la dernière activité : vous savez d’un coup d’œil si ça travaille.
Les problèmes récurrents sont signalés. Si un problème grave réapparaît dans le même fichier après correction, la conclusion de la review marque explicitement cette chaîne de récurrences et vous invite à changer d’approche.
Ce que vous pouvez en faire :
- Vous modifiez localement, vous reviewez à chaque version : seuls les fichiers modifiés sont re-revus, et même après plusieurs tours la consommation de tokens reste faible
- Un
/review --effort highdans un projet, et ensuite un simple/reviewreprend la même profondeur - Une correction automatique laissée plusieurs heures sur une PR : le commentaire de statut se met à jour toutes les 10 minutes, impossible de louper si ça tourne toujours
Voir les PR #9659 , #9883 , #9771 , #10010
Le bot DingTalk envoie des fichiers
Le bot Channel dans DingTalk ne savait auparavant envoyer que du texte et des images : les rapports et documents rédigés par l’IA devaient être collés dans le message, et pour récupérer le fichier lui-même il fallait revenir sur l’ordinateur. Désormais, le bot envoie les fichiers en pièce jointe : l’IA termine un rapport et l’envoie directement dans la conversation DingTalk, où vous pouvez l’ouvrir et le télécharger depuis votre téléphone. Quand le bot vous écrit de sa propre initiative, il peut aussi joindre des fichiers.
Ce que vous pouvez en faire :
- Les rapports et documents rédigés par l’IA partent en pièce jointe directement dans DingTalk
- Vous les ouvrez, les lisez et les téléchargez depuis votre téléphone
- Le bot peut aussi joindre des fichiers quand il fait un compte rendu spontané
Voir le PR #10893

Web Shell : terminal intégré, gestion des sessions et du poste de travail plus complète
Un terminal juste à côté de la conversation. Quand vous travaillez dans le Web Shell, vous avez souvent envie de lancer quelques commandes vous-même : démarrer un serveur pour vérifier le rendu, confirmer un résultat de build. Désormais, le panneau de droite permet d’ouvrir un terminal et de lancer vos commandes juste à côté de la conversation. Chaque onglet est un terminal indépendant, ouvert dans le répertoire de l’espace de travail courant : un onglet peut faire tourner un service en tâche de fond pendant que vous tapez vos commandes dans un autre, sans se gêner.

Des tâches même sans projet. La création de tâche permet désormais de créer une session qui n’appartient à aucun espace de travail : poser une question rapide, traiter quelque chose sans rapport avec un projet précis. Ces sessions ont leur propre liste, avec renommage, export et archivage.
Retrouver une session par son contenu. Un titre de session oublié ? Cherchez directement un passage de la discussion d’alors : les sessions correspondantes s’affichent avec un extrait du message trouvé.
Les tâches planifiées ont un contexte propre. Quand une tâche planifiée s’exécute plusieurs fois, vous pouvez créer une nouvelle session à chaque exécution : chaque contexte reste indépendant. Les sessions issues d’une même tâche sont automatiquement regroupées, et la liste reste claire.
L’état de tous les espaces de travail d’un coup d’œil. Le nouveau panneau de vue d’ensemble liste tous les espaces de travail sur une page : combien de sessions tournent, l’état des connexions MCP, la branche courante, la présence de modifications non commitées — et chaque ligne permet de créer directement une tâche.

La vue d’ensemble des sessions gagne en confort. La page devient un tableau avec tri, filtres et pagination ; quand la fenêtre est étroite, le défilement horizontal laisse les colonnes clés fixes. L’entrée se trouve parmi les petites icônes en bas de la barre latérale : survolez la grille, l’infobulle indique « Vue d’ensemble des sessions ».
L’appairage du téléphone passe en haut à droite. Une petite icône de QR code en haut à droite de la conversation affiche le code d’appairage : scannez-le avec votre téléphone pour vous connecter à cette session sur l’ordinateur et confier des tâches à l’IA depuis votre mobile (la fonction s’appelle Local Control). Si la fonction n’est pas activée, un clic vous emmène directement sur la page de réglages pour l’activer.
L’état de Git avant d’agir. Update Project, Commit et Push affichent désormais une indication d’état : combien de commits de retard ou d’avance, combien de modifications non commitées. Si vous mettez à jour le projet avec des modifications en attente, vous pouvez les mettre de côté avant la mise à jour, ou les abandonner.
Ce que vous pouvez en faire :
- Lancer des commandes directement à côté de la conversation
- Chercher un passage discuté pour retrouver une ancienne session
- L’état de tous les espaces de travail d’un seul coup d’œil
Voir les PR #9984 , #10514 , #10612 , #10233 , #10611 , #10589 , #10115 , #10432 , #10397 , #10390
📊 Autres nouvelles fonctionnalités
Les workflows se pilotent en cours de route. Vous pouvez consulter la progression d’un workflow en cours, le mettre en pause, le reprendre, l’annuler ou le relancer ; l’annulation prend effet immédiatement. Voir les PR #10411 , #10468
La mémoire se range par projet ou en personnel. Quand vous demandez à l’IA de retenir quelque chose, vous pouvez choisir entre le projet courant et votre mémoire globale personnelle ; les deux côtés ont une frontière stricte et ne se mélangent jamais. Voir le PR #9895
Le lien entre sessions et PR se complète. La semaine dernière, les PR créées depuis le panneau Git du Web Shell étaient rattachées à leur session ; cette semaine, plusieurs manques sont comblés : les statuts de PR ont des icônes colorées — vert pour en cours, violet pour fusionnée, rouge pour fermée ; une recherche par numéro d’issue retrouve la session correspondante ; et une PR créée par l’IA avec gh pr create en pleine conversation est également enregistrée. Voir les PR #9729 , #10258 , #10425 , #9739
La mémoire externe Mem0 est officiellement disponible. Pour brancher Qwen Code sur le service de mémoire Mem0, installez le paquet d’extension officiel, configurez, et c’est prêt. Voir les PR #10653 , #10634
Les sessions d’une même machine s’écrivent par leur nom. Quand plusieurs sessions se répartissent le travail, une session peut en retrouver une autre par son nom et lui envoyer directement un message. Voir le PR #10158
Les emojis de statut des tâches sont personnalisables. Dans le Channel DingTalk, vous pouvez remplacer les emojis affichés pendant et après l’exécution d’une tâche par ceux de votre choix. Voir le PR #10610
La configuration des fournisseurs prend effet immédiatement. Après modification de modelProviders dans settings.json, la session en cours utilise la nouvelle configuration sans redémarrage. Voir les PR #10582 , #10269
👏 Améliorations de l’expérience
Le champ de saisie du Web Shell a un menu « + » unifié. Pièces jointes, fichiers, extensions, services MCP, skills : tout est regroupé dedans, un clic sur le plus pour ajouter. Voir le PR #10379
Le gras s’affiche à nouveau, les noms de session sont complets. Le texte en gras dans les réponses de l’IA est de nouveau rendu, et les noms de session de la barre latérale s’affichent en entier. Voir le PR #10157
Tous les résumés d’outils sont repliables. Chaque ligne de résumé d’outil peut se replier, les sous-outils restent repliés, et le contenu des MCP Apps est affiché séparément des autres agrégations. Voir le PR #10231
L’erreur du terminal se copie en un clic. Quand une erreur survient dans le terminal du Web Shell, un clic suffit pour copier le message d’erreur. Voir le PR #10001
L’objectif est visible dans la liste de reprise. Dans la liste et la recherche de reprise de session, les sessions Goal affichent directement leur objectif. Voir le PR #10295
Les longs tours restent dépliés. Les longs tours chargés par pagination restent dépliés ; à vous de les replier quand vous avez fini de lire. Voir le PR #10086
Plus de façons d’installer des extensions. L’installation depuis un chemin local est prise en charge, tout comme l’installation depuis un dépôt Git d’entreprise. Voir les PR #10131 , #10156
Les artefacts se mettent à jour en direct. Quand le contenu d’un artefact change, l’heure et la taille se mettent à jour immédiatement ; l’aperçu montre toujours la dernière version. Voir le PR #9929
🔧 Corrections importantes
| Correction | Impact pour vous | PR |
|---|---|---|
| La saisie chinoise sous Windows est enfin lisible | Dans Windows Terminal avec Microsoft Pinyin, le texte candidat n’est plus recouvert par le curseur | #9803 |
| L’écran blanc du Web Shell a désormais un message | Quand le chargement de la page échoue, un message d’erreur récupérable s’affiche | #10215 |
| Les requêtes trop grosses sont compressées et retentées automatiquement | Quand la passerelle renvoie 413, le contexte est automatiquement compressé et la requête retentée ; la session reste utilisable | #10408 |
| LM Studio peut à nouveau converser normalement | Correction d’un problème de compatibilité des paramètres du modèle ; LM Studio peut démarrer de nouvelles conversations | #10275 |
| Le mode AUTO verrouille les écritures hors espace de travail | Toute écriture d’un fichier hors de l’espace de travail exige votre confirmation manuelle | #8744 |
| Le streaming des modèles Claude a une protection de timeout | Quand la sortie se fige, elle est interrompue par timeout | #9945 |
| DeepSeek utilise l’échantillonnage par défaut du modèle | Correction du forçage à zéro de la température ; la sortie reflète mieux le comportement du modèle | #9879 |
| Les connexions MCP sont plus stables | Correction des blocages de connexion causés par la détection HTTP | #10091 |
| La prise en charge des modèles de vision s’élargit | qwen3.8-flash et qwen3.8-plus traitent nativement images et vidéos ; glm-4.6v et d’autres modèles sont automatiquement reconnus comme modèles de vision | #10195 , #10278 |
| Le contrôle de réflexion de qwen3.8-max est stable | Le réglage d’intensité de réflexion reste synchronisé avant et après l’exécution de la session | #10244 |
| La réflexion mixte de Qwen3 s’affiche normalement | Les réponses mélangeant deux formats de réflexion provoquaient des erreurs ou un affichage cassé ; réflexion et réponse s’affichent désormais correctement | #9607 |
| Une réinstallation sous Windows ne perd plus les skills | L’installation des skills sauvegarde désormais l’existant avant de le remplacer | #10189 |
| Les sessions épinglées restent dans leur groupe | Les sessions épinglées continuent de s’afficher dans leur groupe d’origine | #10416 |
| Les cartes de tâches DingTalk se rétablissent après une coupure réseau | Après une coupure puis un retour du réseau, la carte de tâche ne reste plus bloquée sur « en cours » ; un téléphone qui se reconnecte voit la dernière progression | #10357 |
| L’ordre des images multiples sous DingTalk est préservé | Les images multiples d’un message riche sont transmises à l’IA dans l’ordre | #9922 |
Le nom de session survit à /clear | Les sessions renommées manuellement conservent leur nom après le vidage | #9260 |
👥 Contributeurs
| Contributeur | Contributions | PR de référence |
|---|---|---|
| @yiliang114 | Une série de corrections de session et de stabilité : retry automatique par compression après 413, protection de timeout du streaming des modèles Claude, mise à jour à chaud des fournisseurs, prise en charge de la réflexion mixte de Qwen3, connexion du plugin VS Code au Web Shell | #10408 , #9945 , #10582 , #9607 |
| @wenshao | Renforcement de tout le système de review, panneaux du poste de travail et des sessions du Web Shell, recherche de sessions par issue liée aux PR, indication d’état du sélecteur de branche | #10589 , #10612 , #10425 , #10397 |
| @qqqys | Questions posées en pleine tâche via Channel et envoi de fichiers DingTalk, entrée du style de sortie, auto-proposition de Goal et réglage du budget, sessions de tâches planifiées | #10713 , #10893 , #10683 , #10171 |
| @doudouOUC | Tâches nommées de Channel et contrôle de parallélisme, chat indépendant du Web Shell, API de sessions daemon, extension Mem0 | #10198 , #10574 , #10514 , #10653 |
| @chiga0 | Migration vers le moteur de rendu terminal OpenTUI, gestion du timeout d’initialisation des Channel | #10134 , #10739 , #10404 |
| @qwen-code-dev-bot | Corrections de stabilité du CI et de fiabilité des tests | #10329 , #10572 , #10443 |
| @AaronZ345 | Plusieurs corrections : paramètres d’échantillonnage DeepSeek, restauration du champ de saisie du Web Shell, affichage des erreurs du SDK Java | #9879 , #10232 , #9924 |
| @ytahdn | Plusieurs améliorations du Web Shell : terminal intégré, tableau de vue d’ensemble des sessions, menu « + » du champ de saisie | #9984 , #10115 , #10379 |
| @LaZzyMan | Service vocal qwen-live, renforcement de la stabilité de Computer Use | #10367 , #10319 |
| @callmeYe | Gestion des extensions et des skills, correction du contrôle de réflexion de qwen3.8-max, installation d’extensions depuis un dépôt privé | #10131 , #10244 , #10156 |
| @DragonnZhang | Affichage du mode d’exécution de l’agent, nettoyage des dépendances du SDK | #9955 , #10039 |
| @harjothkhara | Récupération d’écran blanc du Web Shell, stabilité des connexions MCP, détection des doublons de nom de session | #10215 , #10091 , #10032 |
| @dreamWB | Snapshots d’artefacts du Web Shell, réglage d’affichage de l’origine des sessions | #10747 , #10079 |
| @tomsen02 | Isolation des logs de débogage par session, correction du contrôle de confiance des répertoires | #9930 , #10470 |
| 🆕 @bluefateludi | 🎉 Première contribution : visibilité de la saisie chinoise sous Windows, contrôle de la portée des commentaires de /review | #9803 , #9801 |
| @destire-mio | Clic souris pris en charge dans les onglets de complétion @, nettoyage des éléments de configuration invalides | #8395 , #8754 |
| 🆕 @Sumire-no-kai | 🎉 Première contribution : désambiguïsation des destinataires de messages inter-sessions, classification des retours de workflow | #10083 , #10361 |
| @xianjianlf2 | Distinction des causes d’échec de compression, correction des conflits de démarrage en développement parallèle | #9119 , #8456 |
| @BenGuanRan | Transmission ordonnée des images multiples dans les messages riches DingTalk | #9922 |
| @DennisYu07 | Ajout des résultats SWE-bench au README | #10808 |
| 🆕 @Dmatut7 | 🎉 Première contribution : complément de documentation sur la rédaction de raisonnement avec preuves | #8702 |
| 🆕 @imrehg | 🎉 Première contribution : correction de compatibilité des scripts npm | #8725 |
| 🆕 @KXHXK | 🎉 Première contribution : détection automatique de l’authentification sans clé Vertex AI | #9045 |
| 🆕 @liujiayi771 | 🎉 Première contribution : alignement du curseur matériel du terminal | #10417 |
| 🆕 @lwind233 | 🎉 Première contribution : prise en charge des gros messages dans le SDK Python | #9337 |
| 🆕 @MingyaWang | 🎉 Première contribution : compatibilité de la visualisation d’images avec d’anciennes versions de sharp | #10633 |
| 🆕 @mredbishop | 🎉 Première contribution : correction de l’échec de démarrage des conversations LM Studio | #10275 |
| @PratikWayase | Le mode AUTO n’approuve plus automatiquement les écritures hors espace de travail | #8744 |
| @rbalachandar | Indication de changement de modèle plus claire après la mise à jour d’un fournisseur | #9023 |
| 🆕 @shoemoney | 🎉 Première contribution : correction de la prise en charge des chemins relatifs dans le Web Shell | #9817 |
| @TianYuan1024 | Correction des métriques de test | #10735 |
| @tlysanhuo | /review mémorise la profondeur de review | #9883 |
| 🆕 @tonydzi | 🎉 Première contribution : correction de l’hôte de questionnement en mode stream-json | #9414 |
| 🆕 @Wkewen | 🎉 Première contribution : bouton de copie des erreurs du terminal dans le Web Shell | #10001 |
| @yu-xin-c | Message d’erreur de timeout de streaming plus clair | #9896 |
| @zhou2024NAU | Contrôle de sécurité des chemins de capture d’écran sous Windows | #9847 |
| @zjgzx1988 | Mise à jour immédiate de l’heure et de la taille des artefacts | #9929 |
| @zjunothing | Optimisation du rendu des images en double | #8789 |
Mise à jour : exécutez npm i @qwen-code/qwen-code@latest -g pour passer à la dernière version.
Si vous avez des questions ou des suggestions, n’hésitez pas à nous les faire part sur GitHub Issues !