DiscordAntigravity IDE 連携パイプライン 手順書

tags: discord ide cdp pipeline setup vps


概要

DiscordのAI指示チャンネルに投稿したテキストを、VPS経由でAntigravity IDE(AIエージェント)のチャット入力欄に送信・実行させるパイプライン

Discord「AI指示」チャンネル
  → Antipigeon Bot(VPS上で24時間稼働)
  → VPS内キューに蓄積
  → SSHトンネル経由でローカルPC
  → Local Poller(キュー監視 + IDEウォッチドッグ)
  → CDP Input.insertText
  → Antigravity IDE チャット入力欄に自動入力・実行

システム構成

VPS側(24時間常時稼働)

コンポーネント場所役割
Discord Bot (Antipigeon)/opt/new_bot/bot.py (VPS)AI指示チャンネルを監視・キューに登録
Listener Cog/opt/new_bot/cogs/listener.py (VPS)メッセージ受信→キュー登録
Queue API0.0.0.0:8100 (VPS)aiohttp APIサーバー(Bot内蔵)
systemd Service/etc/systemd/system/discord-bot.service自動起動・クラッシュ復帰

ローカルPC側

コンポーネント場所役割
Local PollerC:\ai_work\new_bot\local_poller.pyVPSキューのポーリング + IDE注入 + ウォッチドッグ
IDE ClientC:\ai_work\new_bot\utils\ide_client.pyCDP Input.insertTextでIDEにテキスト注入
Antigravity IDEC:\Users\umecc\AppData\Local\Programs\[[Antigravity]]\[[Antigravity]].exeAIエージェント本体
起動スクリプトC:\ai_work\new_bot\start_pipeline.ps1IDE + SSHトンネル + Poller を一括起動
環境変数C:\ai_work\new_bot\.envDISCORD_BOT_TOKEN など
VPSデプロイ用C:\ai_work\new_bot\vps_deploy\VPSへ転送するファイル一式

VPS情報

項目
IP162.43.15.17
OSUbuntu 25.04 (Python 3.13)
サービス名discord-bot.service
APIポート8100(SSHトンネル経由でアクセス)

起動手順

① 一括起動(推奨)

cd C:\ai_work\new_bot
.\start_pipeline.ps1

スクリプトが以下を自動実行:

  1. Antigravity IDE を CDPモード(port 9222)で起動(未起動の場合)
  2. VPSへのSSHトンネル(port 8100)を確立
  3. Local Poller を起動(キュー監視 + IDEウォッチドッグ開始)

② VPS側の管理コマンド

# ステータス確認
ssh root@162.43.15.17 "systemctl status discord-bot"
 
# ログ確認
ssh root@162.43.15.17 "journalctl -u discord-bot -n 50 --no-pager"
 
# 再起動
ssh root@162.43.15.17 "systemctl restart discord-bot"
 
# VPSへのコード再デプロイ
scp c:\ai_work\new_bot\vps_deploy\bot.py root@162.43.15.17:/opt/new_bot/bot.py
scp c:\ai_work\new_bot\vps_deploy\cogs\listener.py root@162.43.15.17:/opt/new_bot/cogs/listener.py
ssh root@162.43.15.17 "systemctl restart discord-bot"

動作モード

PCの状態Discordで指示を送った場合
PCオン + パイプライン実行中 + IDE起動中✅ 即座にIDEに注入・処理
PCオン + パイプライン実行中 + IDE閉じてる⏸️ ウォッチドッグがIDEを自動再起動→処理
PCオン + パイプライン未起動📦 VPSキューに蓄積→パイプライン起動後に一括処理
PCオフ📦 VPSキューに蓄積→PC起動後に一括処理

IMPORTANT

Botは24時間オンライン。PCの状態に関わらず、Discordからの指示は常に受け付けられます。


使い方

  1. Discord「AI指示」チャンネル にテキストを投稿
  2. Bot が 👀 リアクションを付ける(受信確認)+ キューID発行
  3. ローカルPollerがキューから取得 → IDEにCDP注入・Enter送信
  4. 完了後 → ✅ リアクション + 結果がDiscordに返信

技術詳細

CDP注入方式:Input.insertText(2026-02-25更新)

旧方式の Runtime.evaluate + execCommand(JS DOM操作)はフレームワーク内部のstateと同期しないため不安定だった。

現行方式CDPネイティブの Input.insertText + Input.dispatchKeyEvent を使用:

1. Runtime.evaluate でチャット入力欄(div[role="textbox"])をfocus
2. Input.insertText でテキスト直接挿入(CDP層で処理、DOM操作なし)
3. Input.dispatchKeyEvent で Enter キー送信

NOTE

Input.insertText はIME入力やペーストと同等の信頼性を持つCDP公式APIであり、Webフレームワークのstate管理と衝突しない。

IDEウォッチドッグ

local_poller.py に内蔵。5秒ごとのポーリングサイクルで以下を実行:

  1. CDPでIDEへの接続を試行
  2. 接続不可 → tasklist でAntigravityプロセスの生存確認
  3. プロセス不在 → Antigravity.exe --remote-debugging-port=9222 を自動起動
  4. 30秒のイニシャライズ待機後、再接続

トラブルシューティング

エラー原因対処
HTTP 401 on Local PollerVPS APIの認証設定不一致現行版では認証なし(SSHトンネルがセキュリティ担保)
Chat input not foundIDEのチャットパネルが閉じているチャットパネルを開く
BotがオフラインVPSサービスが停止ssh root@162.43.15.17 "systemctl restart discord-bot"
Could not connect to VPS APISSHトンネルが切れたstart_pipeline.ps1 を再実行
Python 3.13でaudioopエラーdiscord.pyの互換性問題./venv/bin/pip install audioop-lts(VPS側で実施済み)
CDPでEnterが効かないkeyDown タイプの非互換rawKeyDown に変更済み(2026-03-07修正)

プロジェクト管理コマンド(2026-03-07追加)

/project — プロジェクト用ワークスペース作成

/project project_name:AIマルチエージェント組織構築 instruction:"設計を開始して"

処理フロー:

  1. 06_Projects/01_Active/PJ-[名前]-[YYMMDD]/ フォルダ自動作成
  2. 標準構成を自動生成(Project_Master.md / Project_Log.md / References / AGENTS.md)
  3. 新IDEウィンドウを起動 → Agent Managerにワークスペース表示
  4. CDP経由で「Project_Master.md を読んで作業開始して」と注入・送信

/cc — Claude Code拡張に指示送信

/cc instruction:"テストコードを書いて"

Claude Code拡張のiframe/webviewをCDPで検出し、入力欄に指示を注入・送信。


CDP注入の技術メモ

Enterキー送信

Input.dispatchKeyEventrawKeyDown を使用すること(keyDown は新規ウィンドウで動作しない):

for etype in ["rawKeyDown", "keyUp"]:
    params = {
        "type": etype,
        "windowsVirtualKeyCode": 13,
        "nativeVirtualKeyCode": 13,
        "key": "Enter",
        "code": "Enter",
        "text": "\r"
    }

変更履歴

日付変更内容
2026-02-24初版作成。ローカル直結方式(Bot→CDP直接注入)
2026-02-25VPSキュー・ポーリング方式に全面改修。Bot をVPS(162.43.15.17)にデプロイ、24時間稼働化。SSHトンネル + aiohttp Queue API。CDP注入を Input.insertText に変更。IDEウォッチドッグ追加。
2026-03-07Agent Manager協業システム追加/project /cc コマンド実装。プロジェクトテンプレート自動生成。CDPのEnterキー修正(keyDownrawKeyDown)。VPSデプロイ済み。

関連ファイル

  • 機密情報管理 — DISCORD_BOT_TOKEN の保管場所
  • C:\ai_work\tools\bots\new_bot\vps_deploy\ — VPS用ソースコード
  • C:\ai_work\tools\bots\new_bot\vps_deploy\cogs\orchestrator.py — オーケストレーター(/project, /cc含む)
  • C:\ai_work\tools\bots\new_bot\local_poller.py — ローカルポーラー(project, claude_code アクション含む)
  • C:\ai_work\workspaces\project_template\AGENTS.md — プロジェクトテンプレート

最終更新: 2026-03-07