作業ログ — PJ-MultiAgentOrchestra

プロジェクト概要 と連動する日付別作業記録。


2026-02-24 〜 2026-02-25

1. Monitor App (監視ダッシュボード) のモックアップ実装

  • 目的: 複数起動する Antigravity (Worker) のウィンドウを一覧し、自動整列させる。
  • 実施内容:
    • Python の CustomTkinter を用いた UI の構築。
    • win32gui, win32api, psutil を使用したウィンドウ検出とレイアウト(2/3/4分割)の自動配置ロジックの実装。
  • 結果: 正常に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-8LC_ALL = ja_JP.UTF-8 を追加し、Chromiumエンジンレベルで日本語を強制。
    • ショートカットの起動オプションに --locale ja を追記する運用マニュアルを策定(Uさんへご案内済み)。

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 に、各ワーカーのリアルタイム実行ステータス(待機中/生成中など)を表示する機能の追加検討。