メインコンテンツへ移動
AIチュートリアル

Lancer入門チュートリアル:追跡可能な並列AIデスクトップワークスペースの構築

このチュートリアルでは、Lancerの中核機能を紹介し、環境確認、依存関係のインストール、モデル接続、最初のセッション作成までを解説します。さらに、光線UI、動画ツール、検証テスト、macOSビルド時の注意点についても説明します。

Lancer入門:追跡可能な並列AIデスクトップワークスペースの構築

Lancer とは

Lancer は、pi-gui と pi を基盤に開発されたデスクトップ AI ワークスペースです。会話、並列ブランチ、実行プロセス、納品ファイルを同じインターフェースに集約し、タスクの作成、分割から納品までの完全な過程を追跡できるようにします。

重要:Lancer は現在 Alpha 段階で、macOS Apple Silicon を主な検証プラットフォームとしています。Linux と Windows にはパッケージ設定がありますが、すべてのネイティブ機能の検証が完了していることを意味しません。ソースコードの圧縮ファイルも、ダブルクリックですぐに実行できるデスクトップインストーラーではありません。

主な機能

セッションとモジュール化されたタスク

通常のセッションは単独で実行できます。モジュールセッションでは、ステージ、モデル、Skill、目標、納品要件を設定でき、手順が明確で結果の受け入れ確認が必要な複雑なタスクに適しています。

並列ブランチと結果の集約

1つのアシスタントで複数のセッションを管理できます。タスクから子ブランチや孫ブランチを派生させ、各ブランチの完了後に結果を親セッションへ返して集約できます。この構造は、並列調査、案の比較、多段階のコンテンツ制作に適しています。

GitTree タスクイベントグラフ

画面右側の GitTree には、複数のセッションライン、ブランチ、マージ、納品ノードを同時に表示でき、現在のセッションにフォーカスすることもできます。ただし、GitTree が表すのはタスクイベントグラフであり、そこにあるすべてのノードが実際の Git コミットを表すわけではありません。

実行フィードバックと光線エフェクト

アクティブバブルとプロセス行には流動する境界線が表示され、モデルの出力と納品アクションは対応するノードへ同じ色の光線を送ります。これらの視覚的なフィードバックは、現在実行中のタスクと、その結果の流れを示すために使用されます。

モデル、アカウント、豆包の引き継ぎ

Lancer は pi を通じてサブスクリプションアカウント、API キー、カスタムエンドポイントに接続し、モデルブランドとゲートウェイを個別に管理します。macOS では、すでに開いている豆包 App のセッションに接続して、返信や動画を受け取ることもできます。豆包の引き継ぎには本機のアクセシビリティ権限が必要であり、デスクトップ版豆包の UI 更新によって互換性に影響が出る可能性があります。

動画分析ワークフロー

動画ワークフローでは、動画のダウンロードまたは受信、キーフレームの抽出、証拠を含む分析・引き継ぎファイルの生成を行えます。ただし、現在の自動再現ではテンプレートとの 1:1 一致を保証できません。豆包の引き継ぎ、モデル分析、コードアニメーション、最終編集は別々の工程であり、それぞれ個別に受け入れ確認を行う必要があります。

インストール前の準備

開始前に、開発環境が以下の要件を満たしていることを確認してください。

  • Node.js >=22.19.0 かつ <26。Node.js 24 を推奨します。
  • pnpm 10.34.9。
  • Git。
  • macOS では Xcode Command Line Tools。
  • Linux では Python 3、make、C++ コンパイラー、グラフィカルデスクトップ環境、Electron に必要なシステムランタイムライブラリ。
  • Windows のネイティブ依存関係では、Python と C++ ワークロードを含む Visual Studio Build Tools が必要になる場合があります。ただし、現行バージョンでは Windows のネイティブ動作はまだ完全には検証されていません。

macOS でコマンドラインツールが不足している場合は、次を実行できます。

xcode-select --install

Debian または Ubuntu では、Linux のビルド依存関係を次でインストールできます。

sudo apt-get install build-essential python3

ソースコードからインストールして起動する

ソースコードを新しいディレクトリに展開またはクローンし、リポジトリのルートディレクトリに移動して、次を順番に実行します。

npx --yes pnpm@10.34.9 run doctor
npx --yes pnpm@10.34.9 install --frozen-lockfile
npx --yes pnpm@10.34.9 dev

これらのコマンドは pnpm 10.34.9 を固定して使用するため、corepack enable を実行する必要はなく、pnpm のグローバルインストールも不要です。システムに同じバージョンがインストール済みの場合は、コマンドのプレフィックスを pnpm に置き換えられます。

依存関係のダウンロードにはネットワーク接続が必要です。インストール時に依存関係のスクリプトをスキップすると、Electron のバイナリファイルが存在しない可能性があります。ネットワークから Electron のダウンロード元にアクセスできることを確認してから、次を実行してください。

npx --yes pnpm@10.34.9 run setup:electron
npx --yes pnpm@10.34.9 dev

Electron のインストール問題を解決するために、すべての依存関係スクリプトを無差別に許可または無効化しないでください。まずインストールログとネットワークエラーを確認してください。

初回設定を完了する

  1. Lancer を起動して設定を開きます。
  2. 対応するモデルアカウント、プロバイダー、またはカスタムエンドポイントに接続します。ソースコードに個人の認証情報は含まれていません。
  3. ワークスペースを追加または選択します。
  4. 通常のセッションを作成するか、タスクに応じてステージ、モデル、Skill、目標、納品要件を含むモジュールセッションを作成します。
  5. タスクを実行した後、GitTree でセッションライン、派生ブランチ、集約、納品ノードを確認します。

環境変数で UI 言語を指定できます。

LANCER_LOCALE=zh-CN npx --yes pnpm@10.34.9 dev

英語 UI にする場合は、値を en に設定します。

オプションの環境設定を読み込む

オプション設定はリポジトリの .env.example に記録されていますが、デスクトップ起動スクリプトはこのファイルを自動的には読み込みません。macOS または Linux では、テンプレートをコピーして現在のターミナルに読み込めます。

cp .env.example .env.local
set -a
. ./.env.local
set +a
npx --yes pnpm@10.34.9 dev

PowerShell ユーザーは、次のように環境変数を個別に設定できます。

$env:LANCER_LOCALE = "en"

実際に使用するモデルアカウントは、アプリの設定で接続してください。API キー、認証ファイル、プライベートエンドポイント、実際の会話、セッション録画を公開リポジトリにコミットしないでください。

動画ツールを設定する

会話インターフェースだけを使用する場合、メディアツールは必要ありません。動画のダウンロード、キーフレーム抽出、メディア分析のフローを実行するには、FFmpeg、FFprobe、yt-dlp の実行ファイルが必要です。

pnpm run doctor --media

これらのツールが PATH にない場合は、FFMPEG、FFPROBE、YT_DLP 環境変数で絶対パスを指定するか、ユーザーデータディレクトリの video-learn-tools.json にパスを設定できます。

診断コマンドは各ツールのバージョンコマンドを実際に実行するため、ファイルの欠落だけでなく、「実行ファイルは存在するが動的ライブラリが不足している」壊れたインストールも検出できます。完全な検証を行う前に、次のコマンドで手動確認できます。

ffmpeg -version
ffprobe -version

実行確認、ビルド、テスト

変更を提出する準備やソースコードの状態を評価する際は、次のチェックを実行できます。

pnpm check
pnpm build
pnpm audit:dependencies
pnpm verify:install-copy
pnpm verify:release-config
pnpm --filter @lancer/desktop run test:e2e:core

開発中は、デスクトップのリロードも検証できます。

pnpm --filter @lancer/desktop run test:dev:reload

Core テストは分離されたデータを使用して実際の Electron UI を実行します。ただし、Core テストに合格しても、実際のモデル、ネイティブ権限、インストーラー、パフォーマンス、すべてのプラットフォーム互換性が検証済みであることは証明できません。メディア関連のテストには、FFmpeg と FFprobe が正常に実行できることも必要です。

Lancer Light UI を単独で再利用する

モデルまたはバブルとワークツリーを接続する光線エフェクトだけが必要な場合は、Lancer Light UI をエクスポートできます。Electron、CLI、モデルサービスには依存せず、単一ライン、分岐とマージ、複数セッションの並列実行例を提供します。

pnpm export:light-ui /absolute/new/lancer-light-ui
cd /absolute/new/lancer-light-ui
npm install && npm run dev

エクスポート先は、対象マシン上の絶対パスに置き換える必要があります。詳しくはリポジトリの Light UI README を参照してください。

macOS でローカルアプリをビルドする

ソースパッケージにはダブルクリックで起動できる .app は含まれておらず、スタンドアロンアプリのダウンロードもまだ公開されていません。依存関係をインストールした後、ローカルビルドスクリプトを実行できます。

bash scripts/build-mac-lancer.sh --skip-install --dir

ローカルインストーラーには、あらかじめ永続的な署名証明書を設定しておく必要があります。スクリプトは証明書を自動作成したり、一時署名に切り替えたり、公証を実行したりしません。ビルド結果は独立した apps/desktop/release-local-*/ ディレクトリに保存されます。

候補アプリを検証した後、--install を追加して /Applications にインストールできます。

bash scripts/build-mac-lancer.sh --skip-install --dir --install

インストーラーは旧アプリが正常に終了していることを要求し、署名を確認して復元可能な旧バージョンを保持します。また、セッションデータを消去することはありません。公開配布には引き続き Developer ID、公証、クリーンなマシンでの受け入れ確認が必要であり、ローカル署名を公開リリース認証の完了とみなすことはできません。

高度な利用とセキュリティに関する推奨事項

実行データの保存場所を理解する

セッションとアカウントのデータには pi の ~/.pi/agent が使用されます。macOS 上の Lancer UI の状態は ~/Library/Application Support/Lancer にあります。ソースコードを別のディレクトリにコピーしても、これらの実行データは分離されません。完全に分離した手動テストが必要な場合は、別の OS ユーザーを使用してください。

複雑なタスクのブランチを設計する

調査、分析、実装、受け入れ確認を別々の子ブランチに分け、親セッションで集約できます。GitTree を使用する際は、ノードをタスクイベントと納品関係として理解し、各ノードをコードコミットとみなさないようにしてください。

動画フローを個別に受け入れ確認する

動画プロジェクトでは、引き継ぎ入力、モデル分析、コードアニメーション、最終編集をそれぞれ確認してください。ある工程が成功しただけで、最終作品が参照テンプレートと完全に自動一致すると推測しないでください。

監査可能なソースコード候補パッケージをエクスポートする

ソースコードを公開する準備ができたら、新しい候補ディレクトリと SHA-256 マニフェストをエクスポートできます。

pnpm export:source /absolute/path/to/new/lancer-source

このコマンドは .git、ローカルセッションの成果物、キーファイル、ビルド出力を除外しますが、現在のワークスペース、過去のスクリーンショット、録画は保持します。エクスポートに成功しても、そのまま公開できることを意味しません。素材の利用許諾と機密内容について、引き続き手動で確認する必要があります。

よくある質問

  • Corepack で権限エラーが発生する:固定バージョンの npx --yes pnpm@10.34.9 コマンドを使用すれば、グローバル shim を変更する必要はありません。
  • Electron が正しくインストールされない:ネットワークとインストールエラーを確認してから、run setup:electron を実行してください。
  • Linux で make またはコンパイラーが不足していると表示される:まず Python 3、make、C++ ビルドツールをインストールしてから、依存関係を再インストールしてください。
  • 動画ツールのチェックに失敗する:pnpm doctor --media を実行し、実行ファイルと動的ライブラリの両方が利用可能であることを確認してください。
  • モデルを利用できない:設定で対応するアカウントまたはプロバイダーに接続してください。ソースコードに個人の認証情報は含まれていません。

まとめ

Lancerは、並列AIセッション、再帰的な分岐、プロセスフィードバック、成果物ファイルを1つのデスクトップワークスペースにまとめます。本チュートリアルに沿って環境チェック、ソースコードからの起動、アカウント接続、メディアツールの設定を完了すると、追跡可能なタスクフローを構築できます。プロジェクトはまだAlpha段階のため、本番利用、クロスプラットフォーム互換性、Doubaoによる引き継ぎ、動画の再現結果については、それぞれ独自に検証してください。