全部作品

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