Skip to Content
実行とデプロイ

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 が副作用を伴う可能性のあるツールを実行する際のデフォルトの方法です。

  • Registry から直接実行: 公開されているサンドボックスイメージを直接実行できます。Docker のみが利用可能で CLI を実行したい環境で便利です。
    # 公開されたサンドボックスイメージを実行 docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.10
  • --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のmainブランチから直接CLIを実行する npx https://github.com/QwenLM/qwen-code

デプロイアーキテクチャ

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

NPM パッケージ

Qwen Code プロジェクトは monorepo であり、コアパッケージを 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 Compiler (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