Skip to Content
デベロッパーガイドDevelopmentQwen Code の実行とデプロイメント

Qwen Code の実行とデプロイメント

このドキュメントでは、Qwen Code の実行方法と、Qwen Code が使用するデプロイメントアーキテクチャについて説明します。

Qwen Code の実行

Qwen Code を実行する方法はいくつかあります。選択する方法は、使用方法によって異なります。


1. 標準インストール(一般的なユーザー向け)

これはエンドユーザーが Qwen Code をインストールするための推奨方法です。NPM レジストリから Qwen Code パッケージをダウンロードします。

  • グローバルインストール:

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

    その後、任意の場所から CLI を実行します:

    qwen
  • NPX 実行:

    # グローバルインストールせずに NPM から最新バージョンを実行 npx @qwen-code/qwen-code

2. サンドボックスでの実行 (Docker/Podman)

セキュリティと分離のため、Qwen Code はコンテナ内で実行できます。これは CLI が副作用を及ぼす可能性のあるツールを実行するデフォルトの方法です。

  • レジストリから直接実行: 公開されているサンドボックスイメージを直接実行できます。これは Docker しかなく、CLI を実行したい環境で便利です。
    # 公開されているサンドボックスイメージを実行 docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.11
  • --sandbox フラグの使用: Qwen Code をローカルにインストールしている場合(上記の標準インストールを使用)、サンドボックスコンテナ内で実行するように指示できます。
    qwen --sandbox -y -p "your prompt here"

3. ソースから実行 (Qwen Code コントリビューター向け)

プロジェクトのコントリビューターは、ソースコードから直接 CLI を実行したい場合があるでしょう。

  • 開発モード: この方法はホットリロードを提供し、活発な開発に役立ちます。

    # リポジトリのルートから npm run start
  • プロダクションライクモード(リンクされたパッケージ): この方法は、ローカルパッケージをリンクすることでグローバルインストールをシミュレートします。プロダクションワークフローでローカルビルドをテストするのに便利です。

    # ローカルの cli パッケージをグローバル node_modules にリンク npm link packages/cli # これで `qwen` コマンドを使用してローカルバージョンを実行可能 qwen

4. GitHub から最新の Qwen Code コミットを実行

GitHub リポジトリから直接、最新のコミットバージョンの Qwen Code を実行できます。これはまだ開発中の機能をテストするのに便利です。

# GitHub のメインブランチから直接 CLI を実行 npx https://github.com/QwenLM/qwen-code

デプロイメントアーキテクチャ

上記の実行方法は、以下のアーキテクチャコンポーネントとプロセスによって実現されています。

NPM パッケージ

Qwen Code プロジェクトは、コアパッケージを NPM レジストリに公開するモノレポです。

  • @qwen-code/qwen-code-core: バックエンド。ロジックとツール実行を処理します。
  • @qwen-code/qwen-code: ユーザー向けフロントエンド。

これらのパッケージは、標準インストール時およびソースから Qwen Code を実行する際に使用されます。

ビルドおよびパッケージングプロセス

配布チャネルに応じて、2 つの異なるビルドプロセスが使用されます。

  • NPM 公開: NPM レジストリに公開する場合、@qwen-code/qwen-code-core@qwen-code/qwen-code の TypeScript ソースコードが TypeScript コンパイラ (tsc) を使用して標準の JavaScript にトランスパイルされます。生成された dist/ ディレクトリが NPM パッケージとして公開されます。これは TypeScript ライブラリの標準的なアプローチです。

  • GitHub npx 実行: GitHub から最新バージョンの Qwen Code を直接実行する場合、package.jsonprepare スクリプトによって異なるプロセスがトリガーされます。このスクリプトは esbuild を使用して、アプリケーション全体とその依存関係を単一の自己完結型 JavaScript ファイルにバンドルします。このバンドルはユーザーのマシン上でオンザフライで作成され、リポジトリにはチェックインされません。

Docker サンドボックスイメージ

Docker ベースの実行方法は、qwen-code-sandbox コンテナイメージによってサポートされています。このイメージはコンテナレジストリに公開されており、事前にインストールされたグローバル版の Qwen Code が含まれています。

リリースプロセス

リリースプロセスは GitHub Actions によって自動化されています。リリースワークフローは以下のアクションを実行します。

  1. tsc を使用して NPM パッケージをビルドします。
  2. NPM パッケージをアーティファクトレジストリに公開します。
  3. バンドルされたアセットを含む GitHub リリースを作成します。
Last updated on