全部作品

agy-plugin-codex — 在 Codex 裏使用 Antigravity

  • TypeScript
  • Node.js
  • MCP
  • Codex Plugin
  • Antigravity CLI
  • Vitest

這是一個含 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 無隸屬關係。

查看源碼

項目概覽

角色 獨立開發者 — Codex plugin 打包、量測過的 agy runtime contract、MCP tool surface、工作樹隔離、typed refusals、測試

場景

agy 忽略進程 cwd,而且只是「被告知」--add-dir 指向的那個目錄 — 它跳過權限提示運行,並不被限制在該目錄內;即使 --add-dir 指向不存在的目錄,agy 仍可能返回 SUCCESS,並在錯誤位置執行任務。它不能分開讀寫權限,且自報 outcome 與 exit code 獨立。

產品策略

plugin 在 spawn 前驗證工作樹,無法解析就回傳 typed refusal。read-only review 取得一次性工作樹副本,只有 resultComplete 才表示任務完成;exit code 仍作為失敗分類依據記錄,但不用於判斷任務是否完成。

成果與當前階段

公開 v0.1.0 · 附公開 probe 的量測 agy runtime contract · 文件系統隔離的 read-only reviews · restart-safe 背景 jobs

我的工作

  • 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 進程看見

技術證據

  • 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