用途:为长时间运行的 ralph 或 omg 工作流提供跨平台权限配置,减少反复审批弹窗,同时保留项目边界、密钥黑名单与危险命令拦截。它不是“到处全放开”,核心原则是仅在受限项目或一次性沙箱内放宽自动化。
主要能力:按平台选择预设(Claude Code 日常预设、仅隔离沙箱用 bypassPermissions;Codex CLI 优先用官方审批与沙箱模型;Gemini CLI 只信任项目根目录,无真正全局 YOLO)。支持项目本地配置优先于用户全局默认,并建议配合更严格的黑名单与沙箱边界。
使用方式:先定义自动化边界(选定一个项目根、列出必须阻止的文件与命令,如 .env*、secrets/**、生产凭据、rm -rf、sudo、未审查的 curl | sh),再按平台套用预设,本地而非全局应用,然后以显式验证循环运行 ralph 或 omg 的 plan-execute-verify,最后验证输出并在临时配置后回滚。推荐执行契约:boundary check -> permission profile -> ralph run -> verify -> cleanup or revert。
动态检查点:静态权限配置无法阻止执行中出现的危险操作,需加入动态检查点。Tier 1(始终阻止):rm -rf、git reset --hard、git push --force、DROP TABLE、sudo、.env*/secrets/** 访问、生产环境变更;Tier 2(警告):npm publish、docker push、非强制 git push、数据库迁移;Tier 3(允许):文件读写、测试、本地构建、lint。Claude Code 用 PreToolUse(Bash) 钩子以 exit 2 阻止;Gemini CLI 用 BeforeTool 以非零退出阻止;Codex CLI 用 notify(回合后,不阻止)配合 approval_policy="unless-allow-listed" 与提示契约;OpenCode 无钩子,靠 opencode.json 中的提示契约。
示例命令:Claude Code 沙箱内 /ralph "fix all failing tests" --max-iterations=10;Codex CLI 沙箱运行 codex -c model_reasoning_effort="high" --dangerously-bypass-approvals-and-sandbox -c model_reasoning_summary="detailed" -c model_supports_reasoning_summaries=true,仓库范围运行在 ~/.codex/config.toml 设置 approval_policy = "never" 与 sandbox_mode = "workspace-write";Gemini CLI 沙箱用 gemini --yolo。
适用场景:希望 ralph 迭代时不再反复弹审批、为同一仓库统一配置三种 CLI、需要共享安全模型(仅仓库写入、不读密钥、默认无破坏性 shell)、以及区分日常自动化与真正 YOLO 模式。
限制:不是“到处允许一切”;仅一次性沙箱可用最高自主模式;需保留密钥与破坏性命令黑名单;升级 CLI 版本后应重新核对平台文档,因为权限模型变化较快。详细模板见 references/permission-profiles.md。