Exécution et déploiement de Qwen Code
Ce document explique comment exécuter Qwen Code et décrit l’architecture de déploiement utilisée par Qwen Code.
Exécuter Qwen Code
Il existe plusieurs façons d’exécuter Qwen Code. L’option que vous choisissez dépend de votre utilisation prévue.
1. Installation standard (Recommandée pour les utilisateurs classiques)
Cette méthode est recommandée pour les utilisateurs finaux souhaitant installer Qwen Code. Elle consiste à télécharger le package Qwen Code depuis le registre NPM.
-
Installation globale :
npm install -g @qwen-code/qwen-codeEnsuite, exécutez le CLI depuis n’importe quel endroit :
qwen -
Exécution via NPX :
# Exécute la dernière version depuis NPM sans installation globale npx @qwen-code/qwen-code
2. Exécution dans un sandbox (Docker/Podman)
Pour des raisons de sécurité et d’isolation, Qwen Code peut être exécuté à l’intérieur d’un conteneur. C’est d’ailleurs la méthode par défaut utilisée par le CLI pour exécuter les outils qui pourraient avoir des effets secondaires.
- Directement depuis le registre :
Vous pouvez exécuter directement l’image du sandbox publiée. Cela est particulièrement utile dans des environnements où vous n’avez que Docker d’installé et souhaitez exécuter le CLI.# Exécuter l'image du sandbox publiée docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.11 - Utilisation du flag
--sandbox:
Si Qwen Code est installé localement (via l’installation standard décrite ci-dessus), vous pouvez lui demander de s’exécuter à l’intérieur du conteneur sandbox.qwen --sandbox -y -p "votre prompt ici"
3. Exécution depuis les sources (Recommandé pour les contributeurs Qwen Code)
Les contributeurs du projet voudront exécuter le CLI directement depuis le code source.
-
Mode développement : Cette méthode fournit le rechargement à chaud (hot-reloading) et est utile pour le développement actif.
# Depuis la racine du dépôt npm run start -
Mode production (package lié) : Cette méthode simule une installation globale en liant votre package local. Elle est utile pour tester un build local dans un workflow de production.
# Liez le package cli local à vos node_modules globaux npm link packages/cli # Vous pouvez maintenant exécuter votre version locale avec la commande `qwen` qwen
4. Exécution du dernier commit Qwen Code depuis GitHub
Vous pouvez exécuter la version la plus récente de Qwen Code directement depuis le dépôt GitHub. Cela est utile pour tester des fonctionnalités encore en développement.
# Exécuter le CLI directement depuis la branche principale sur GitHub
npx https://github.com/QwenLM/qwen-codeArchitecture de déploiement
Les méthodes d’exécution décrites ci-dessus sont rendues possibles par les composants et processus architecturaux suivants :
Packages NPM
Le projet Qwen Code est un monorepo qui publie des packages principaux sur le registre NPM :
@qwen-code/qwen-code-core: Le backend, qui gère la logique et l’exécution des outils.@qwen-code/qwen-code: L’interface utilisateur.
Ces packages sont utilisés lors de l’installation standard ainsi que lors de l’exécution de Qwen Code depuis les sources.
Processus de build et d’empaquetage
Deux processus de build distincts sont utilisés selon le canal de distribution :
-
Publication NPM : Pour publier sur le registre NPM, le code source TypeScript dans
@qwen-code/qwen-code-coreet@qwen-code/qwen-codeest transpilé en JavaScript standard à l’aide du TypeScript Compiler (tsc). Le répertoiredist/généré est celui qui est publié dans le package NPM. Il s’agit d’une approche classique pour les bibliothèques TypeScript. -
Exécution via
npxdepuis GitHub : Lorsque vous exécutez la dernière version de Qwen Code directement depuis GitHub, un processus différent est déclenché par le scriptpreparedéfini dans lepackage.json. Ce script utiliseesbuildpour regrouper toute l’application et ses dépendances dans un seul fichier JavaScript autonome. Ce bundle est généré à la volée sur la machine de l’utilisateur et n’est pas inclus dans le dépôt.
Image Docker sandbox
La méthode d’exécution basée sur Docker est supportée par l’image conteneur qwen-code-sandbox. Cette image est publiée sur un registre de conteneurs et contient une version globale préinstallée de Qwen Code.
Processus de release
Le processus de release est automatisé via GitHub Actions. Le workflow de release effectue les actions suivantes :
- Build les packages NPM en utilisant
tsc. - Publie les packages NPM dans le registre d’artifacts.
- Crée des releases GitHub avec les assets bundlés.