技術仕様 — 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": 8002. 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" -Force3. 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から復元可能 |