工程 / 智能體協作
Antigravity for Codex
在 Codex 中調用 Antigravity 進行受控審查與協作。
已歸檔 · 2026-10-05 · 不再維護。 後續項目 · turnweft
- 01界定範圍
- 02委派任務
- 03核對結果
01項目背景
這是一個含 MCP server 與 vendored Skill 的 Codex plugin,是 opencode-plugin-codex 與 grok-plugin-codex 的 sibling。agy adapter 依據量測過的 runtime contract 編寫:docs/AGY-RUNTIME-CONTRACT.md 的每項行為主張都有對應 probe 命令,而非按別的 CLI 類比。獨立項目,與 Google 或 OpenAI 無隸屬關係。
02要解決的問題
agy 忽略進程 cwd,而且只是「被告知」--add-dir 指向的那個目錄 — 它跳過權限提示運行,並不被限制在該目錄內;即使 --add-dir 指向不存在的目錄,agy 仍可能返回 SUCCESS,並在錯誤位置執行任務。它不能分開讀寫權限,且自報 outcome 與 exit code 獨立。
03關鍵決策
plugin 在 spawn 前驗證工作樹,無法解析就回傳 typed refusal。read-only review 取得一次性工作樹副本,只有 resultComplete 才表示任務完成;exit code 仍作為失敗分類依據記錄,但不用於判斷任務是否完成。
04我的工作
- 目前源碼版本 0.1.1:顯式絕對 cwd 只為當次呼叫授權目標目錄;後續呼叫獨立核查工作目錄,不把它延伸為整個會話的權限。
- MCP tools:agy_check、agy_run、agy_continue、agy_rescue、agy_review、agy_adversarial_review、agy_conversations、agy_status、agy_result、agy_cancel
- 隔離警告:以 readonly_run_wrote_files 點名一次性副本內的寫入,並以 tree_changed_during_readonly_run 驗證真實工作樹
更多工作細節
- conversation_not_found 護欄:未知的 agy conversation id 可能靜默開啟新對話
- 統一 typed-error envelope,涵蓋 workspace_unavailable、workspace_out_of_bounds、mirror_failed、private_path_blocked 等邊界失敗
- state 權限、剝離 CODEX_* 環境變數、~/.codex prompt guard,並明示 agy prompt 可被同一使用者的 ps 進程看見
05成果與當前階段
公開 v0.1.1 · 附公開 probe 的量測 agy runtime contract · 文件系統隔離的 read-only reviews · restart-safe 背景 jobs
技術細節與證據
角色 · 獨立開發者 — Codex plugin 打包、量測過的 agy runtime contract、MCP tool surface、工作樹隔離、typed refusals、測試
- docs/AGY-RUNTIME-CONTRACT.md 記錄每項主張的 probe 命令;修改文檔前先重新量測
- live smoke 用 sentinel 檔案證明 --add-dir 到達指定工作樹,並在 read-only review 後檢查 git status
- CI 覆蓋 ubuntu-latest 與 macos-latest,因 detached workers 與進程組訊號在兩個系統不同
- 測試雙向保持 vendored Skill 與原始碼行為一致;toolCallCount === 0 的 verdict 仍只是意見,不是 review
- TypeScript
- Node.js
- MCP
- Codex Plugin
- Antigravity CLI
- Vitest