用途:agy-auto 是面向 Google Antigravity CLI(agy)的 PreToolUse 钩子与安全框架,用于在无人值守或后台代理循环中运行 agy,同时避免使用 --dangerously-skip-permissions。
主要能力:每次待执行的工具调用都会依次经过多层策略(首个匹配生效)——硬拒绝(阻止工作区外递归删除、凭据读取如 ~/.ssh 与 .env 及云令牌、git 历史重写、包发布、系统文件写入、门控篡改)、快速放行(只读命令如 cat、grep、git status 及限定工作区的写入,无需调用 LLM)、LLM 分类器(处理灰区命令,超时则 fail-closed)、以及作用域操作批准(绑定 tool、normalized_cmd、cwd 的一次性 6 位令牌)。
使用方式:建议先克隆到临时目录并固定不可变提交 SHA,审阅 hook.sh 与 engine/ 文件、运行单元测试,再复制到 Antigravity 插件目录。可通过安装脚本注册全局钩子:clone 到隔离位置后 git checkout 再 chmod +x hook.sh 并运行 ./install.sh。需在 ~/.gemini/antigravity-cli/settings.json 设置 toolPermission: "always-proceed"。被拦截时在聊天中回复 > agy-approve <token> 批准;在 ~/.gemini/config/agy-auto/policy.toml 中可配置本地模型端点(如 llama.cpp 或 Ollama)。无头模式请传 --add-dir:agy --add-dir . -p "..."。
限制:仅拦截工具调用,无法限制 LLM 内部网络推理或 Antigravity 自身文件读取;需 always-proceed 才能保证钩子拦截;shell 解析保守,复杂管道需分类器或手动批准;修改 policy.toml 或 hook.sh 会被 hard_deny 自保护阻止。