技術仕様 — AntiCrow Auto Accept

アーキテクチャ全体像

┌─────────────────────────────────────────────────────────┐
│  Antigravity IDE                                        │
│                                                         │
│  ┌─────────────────┐    ┌──────────────────────────┐   │
│  │  VS Code Layer  │    │  Webview (chat.js/React) │   │
│  │                 │    │                          │   │
│  │  AntiCrow拡張   │    │  「Allow This            │   │
│  │  (extension.ts) │    │   Conversation」ボタン   │   │
│  │  - ポーリング   │    │                          │   │
│  │  - コマンド実行 │    │  ← chat.js パッチで      │   │
│  │                 │    │    自動クリック注入済み  │   │
│  └─────────────────┘    └──────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  settings.json (ネイティブ自動承認)              │   │
│  │  antigravity.agent.autoAcceptAll: true           │   │
│  │  antigravity.agent.requireConfirmation: false    │   │
│  │  antigravity.chat.autoRun: true                  │   │
│  │  chat.agent.autoApply: true                      │   │
│  └─────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────┘

1. AntiCrow VS Code拡張機能

場所: c:\ai_work\anticrow-auto-accept\

ファイル役割
src/extension.ts拡張機能本体
out/extension.jsコンパイル済み
anticrow-auto-accept-1.0.0.vsixインストール可能パッケージ

動作:

  • 起動時に自動ON(設定変更可)
  • 800msごとにポーリング(設定変更可)
  • 以下のコマンドを順次試行:
    antigravity.agent.acceptAll
    antigravity.acceptAllChanges
    antigravity.chat.acceptAll
    workbench.action.chat.acceptEdits
    
  • Ctrl+Alt+Shift+A でON/OFFトグル
  • ステータスバーに状態表示

設定値 (settings.json):

"anticrow.autoAccept.enabled": true,
"anticrow.autoAccept.intervalMs": 800

2. chat.js パッチ

対象: Allow This Conversation ボタン(Webview内React DOM)

パッチスクリプト: c:\ai_work\patch_chat_js.py

注入コード:

ref: e => {
  if (e && !e.dataset.autocrowClicked) {
    e.dataset.autocrowClicked = "1";
    e.click(); // ← Allow This Conversation を自動クリック
  }
}

適用ファイル:

C:\Users\umecc\AppData\Local\Programs\Antigravity\resources\app\extensions\antigravity\out\media\chat.js

バックアップ: 同フォルダの chat.js.bak

再適用(アップデート後):

python c:\ai_work\patch_chat_js.py

復元(バックアップから):

$dir = "C:\Users\umecc\AppData\Local\Programs\Antigravity\resources\app\extensions\antigravity\out\media"
Copy-Item "$dir\chat.js.bak" "$dir\chat.js" -Force

3. settings.json ネイティブ設定

場所: C:\Users\umecc\AppData\Roaming\[[Antigravity]]\User\settings.json

{
    "antigravity.agent.autoAcceptAll": true,
    "antigravity.agent.requireConfirmation": false,
    "antigravity.chat.autoRun": true,
    "chat.agent.autoApply": true,
    "chat.agent.maxRequests": 100,
    "terminal.integrated.autoReplies": {
        "Are you sure you want to continue connecting (yes/no)?": "yes\n",
        "Do you want to continue? [Y/n]": "Y\n"
    }
}

既知の制限・注意事項

項目詳細
アップデート脆弱性Antigravityアップデートで chat.js が上書きされる → 再パッチ必要
コマンドの存在確認antigravity.agent.acceptAll 等は存在確認できていない(エラーは無視)
セキュリティchat.jsはminifiedコードへの直接注入のため、破損リスクあり → bakから復元可能