作業ログ — PJ-MultiAgentOrchestra
プロジェクト概要 と連動する日付別作業記録。
2026-02-24 〜 2026-02-25
1. Monitor App (監視ダッシュボード) のモックアップ実装
- 目的: 複数起動する Antigravity (Worker) のウィンドウを一覧し、自動整列させる。
- 実施内容:
- Python の
CustomTkinterを用いた UI の構築。 win32gui,win32api,psutilを使用したウィンドウ検出とレイアウト(2/3/4分割)の自動配置ロジックの実装。
- Python の
- 結果: 正常にUIが描画され、ボタン操作でAntigravityウィンドウの再配置が機能することを確認。
2. Orchestrator MCP サーバーの実装とアーキテクチャ刷新
- 目的: 司令塔(Commander)から複数の Worker にタスクを自動アサインする MCP ツールの構築。
- 当初の計画: ワーカーごとに異なる CDP ポート(9223, 9224…)と専用の
User Data Dirを割り当てる予定だった。 - 変更内容:
- 検証の結果、完全に独立したプロファイル(User Data Dir)を作ると、拡張機能などが全てリセットされてしまう問題が発覚。
- そのため、「全て同じプロファイル(同じポート 9222)上で新しいウィンドウとして開く」アプローチに刷新。
cdp_client.pyを修正し、ポート番号ではなくワークスペース名(ウィンドウタイトル)をキーにWebSocketのURLを特定するロジックに変更。
- 提供された MCP Tools:
get_active_workers(): 起動中のワークスペース一覧を取得。launch_new_worker(workspace_path): 新規ワークスペースを展開。assign_task_to_worker(workspace_name, prompt): 指定ワークスペース名のチャット欄へプロンプトを送信。
- 結果: 1つの司令塔から、名前を指定して別のウィンドウ(Worker)へ的確に指示を並行送信できる仕組みが完成。
3. Open Agent Manager の日本語化強制対応 (Locale Fix)
- 課題:
Open Agent Managerから新しいサブウィンドウを開く際、独立プロファイルとして起動するため、日本語化パックの読み込みが間に合わずUIが英語になる(レースコンディション)。 - 実施内容:
- システム(OS)のユーザー環境変数に
LANG = ja_JP.UTF-8とLC_ALL = ja_JP.UTF-8を追加し、Chromiumエンジンレベルで日本語を強制。 - ショートカットの起動オプションに
--locale jaを追記する運用マニュアルを策定(Uさんへご案内済み)。
- システム(OS)のユーザー環境変数に
4. Open Agent Manager の日本語化 根本対応パッチの適用
- 課題: 環境変数や起動オプションでの Locale 強制を行っても、Agent Manager の UI が依然として英語のままだった。
- 原因: 調査の結果、Agent Manager の UI 用 React コンポーネント (
jetskiAgent/main.js) において、英語の文字列がハードコードされており、多言語対応(ローカライゼーション)機能がないことが判明。 - 実施内容:
main.jsのバックアップ (main.js.bak) を作成。- PowerShell スクリプトを用いて、
main.js内のハードコードされた英語文字列(“Agent Manager”, “Create new agent” 等)を直接日本語に置換する非公式パッチを適用。
- 結果: 正常に日本語化された UI で Agent Manager のサブウィンドウが開くことを確認。なお、Antigravity 本体がアップデートされた場合はファイルが上書きされるため、再度パッチ処理を実行する必要がある。
次回作業予定(Next Steps)
- 実際に複数のタスクを並行で走らせるストレステスト・実運用テストの実施。
- Monitor App に、各ワーカーのリアルタイム実行ステータス(待機中/生成中など)を表示する機能の追加検討。