BOTBUS / 博客

离开电脑时,Claude Code 和 Codex 的审批怎么放才安全

不想让 agent 卡在审批上,又不想用 dangerously-skip-permissions 全部放行?梳理 Claude Code、Codex 自带的中间档,以及只对手机发起的任务、按项目开的自动批准。

先说结论

离开电脑时,agent 的审批常常只剩两种走法:要么一条条等你回来批,任务卡上几个小时;要么用 --dangerously-skip-permissions、--yolo 之类的开关全部放行,赌它不出事。其实中间还有好几档:Claude Code 和 Codex 自己就有“改文件不问、危险命令照问”“沙箱里随便跑、出沙箱再问”这类设置;在手机上管 agent 的话,BotBus 还可以按项目开「自动批准」,只放行手机发起的那几轮里的命令和改文件,提问照样发到手机上。哪一档合适,取决于项目有多要紧、出了错能不能撤回。

下面先讲两个极端各自的问题,再把官方自带的中间档和 BotBus 的做法摆在一起,最后说清这些办法都管不住什么。文中 Claude Code 与 Codex 的说法按 2026-10-07 的官方文档核对。

两个极端各自卡在哪

逐条确认的问题不只是慢。agent 一个下午可能停下来问几十次,人很快就会从“看清楚再批”变成“看都不看就批”,这就是常说的审批疲劳。在手机上更明显:屏幕小,命令一长就得横着滑,一边走路一边判断 rm、git push 该不该放,很难判断准。最后的结果往往是两头落空——该拦的没认真拦,不该卡的又卡了半天。

全部放行的问题是它真的什么都放。Claude Code 的官方文档把 bypassPermissions(也就是 --dangerously-skip-permissions)的适用场景写成“只用于隔离的容器和虚拟机”,并建议在 Linux、macOS 上以非 root 用户运行;Codex 的 --dangerously-bypass-approvals-and-sandbox(--yolo)在官方文档里标着高风险。它们在一次性容器里跑 CI 很合适,放到装着你 SSH 密钥、云账号凭据和私人文件的日常电脑上,就是另一回事了。

所以真正要回答的问题是:哪些事可以不问,哪些事必须问,以及不问的那些出了错怎么收回来。

Claude Code 和 Codex 自带的中间档

先看官方已经给了什么。这些都在电脑上配置,和用不用手机无关。

Claude Code(核对日期 2026-10-07)有几种权限模式,按 Shift+Tab 切换,也能用 --permission-mode 指定:

在这些模式之上还可以叠加规则:在 settings 里写 allow / deny / ask。官方文档说明 deny 规则在任何模式下都生效,连 bypassPermissions 也挡得住;ask 规则在任何模式下都会弹出来问。这是把 git push、删目录这类动作钉死在“必须问”上的直接办法。

Codex(核对日期 2026-10-07)把“能做什么”和“要不要问”分成两个开关:沙箱模式(read-only、workspace-write、danger-full-access)和审批策略(on-request、never,以及能按类别细调的 granular 策略)。官方文档说默认关着网络访问;对受版本控制的文件夹,推荐的预设是 Auto,也就是工作区可写、要越出沙箱时再问。它还有一个可选的自动审查:开了以后,由一个审查 agent 先看审批请求,重点拦数据外传、试探凭据、长期削弱安全设置和破坏性操作。

这些设置的好处是精细、在 agent 内部生效、什么场景都管用。它们的局限在于:配一次要花些功夫,而且是整机或整个用户范围的默认值——你很难说“这个练手项目我离开时随它跑,公司那个仓库照旧一条条问”,除非为每个项目分别写配置。

BotBus 的「自动批准」放行什么、不放行什么

BotBus 是常驻在电脑上的应用(Mac 版在菜单栏,Linux、Windows 版在后台运行),把本机的 Codex、Claude Code 等 agent 的任务同步到 iPhone、Apple Watch 和 Android 手机上,在手机上能看对话、批准或拒绝、接着聊、中断、新建任务。它不改 Claude Code、Codex 自己的权限设置:哪些操作会停下来问,仍由它们自己的配置决定;BotBus 处理的是那些真的弹出来、要人点头的审批。

「自动批准」是在这之上加的一个按项目的开关,规则很窄:

放行的审批不会再推通知,手机上也不会出现待处理卡片,任务就一路跑下去,直到完成、失败或者遇到提问。开关记在电脑本机,电脑重启后仍在。

怎么开、怎么关

在手机上打开一个项目里的对话(或者在项目里新建对话),点输入框上方右侧的「模型 · 强度」按钮,面板最下面有一栏「审批」,选「自动批准」,下面会出一行说明:只对这个项目,手机发起的对话里命令和改文件直接放行,提问照旧问你。选好以后随下一条消息生效,开着的项目按钮上会多一面小盾牌。

关的时候回到同一个面板选「逐条确认」,同样随下一条消息生效。目前 Mac 菜单栏里没有这个开关,只能从手机上关。

怎么把它用得稳一点

自动批准等于你提前对一类请求说了“行”,所以值得把出错的代价先压低:

  1. 只给能撤回的项目开。 在 git 仓库里,agent 改坏的文件能 git restore、能回退提交;没有版本控制、或者会直接动线上数据库、发布包、改云资源的项目,不要开。
  2. 配合 worktree。 在手机上新建对话时可以勾「在 worktree 中运行」,agent 在独立的 git worktree 和分支里改,不碰你电脑上没提交的东西,改好了再从手机合并回原分支。agent 自己的改动先隔离起来,比事后在主分支上收拾省心得多。
  3. 在 agent 里留几条 deny / ask 规则。 BotBus 放行的只是 agent 真弹出来的审批;agent 自己的规则先生效。比如在 Claude Code 里把 git push、删除目录写成 deny,在 Codex 里保持默认关网或用 workspace-write,自动批准再宽也越不过这些线。
  4. 跑完看一眼改动。 手机上能看会话的未提交改动,先判断方向对不对;需要逐行审的大改动,还是回电脑上看。
  5. 随时能停。 看到它在错误的方向上越走越远,可以在手机上中断任务,再续聊纠正。

如果你更想一条条批,只是嫌手机上看不清,可以看在手机上审批 Claude Code 那篇:审批卡片会写出要跑的命令或要改的文件,拿不准就拒绝。手机发起的那一轮里,审批默认 30 分钟没人回会按拒绝处理,不会变成允许。

限制与边界

常见问题

自动批准和 --dangerously-skip-permissions 有什么区别?

--dangerously-skip-permissions 让 Claude Code 在整个会话里跳过权限检查,电脑上的也算。BotBus 的自动批准只在一个项目里、只在手机发起的轮次里放行审批,提问照样问你;agent 自己的 deny 规则、沙箱设置都还在。它也不需要你改 Claude Code 的启动参数。

开了以后,我在电脑上用 Claude Code 也不再弹审批了吗?

不会。电脑上你自己跑的轮次不受影响,照旧按 Claude Code 自己的权限模式处理。只有手机新建或续聊的那一轮会自动放行。

能只放行改文件、不放行运行命令吗?

BotBus 的开关不分类别,放的是这一轮里所有审批。想分得更细,在 agent 里设:Claude Code 用 acceptEdits 模式加 ask / deny 规则,Codex 用 granular 审批策略。

换一台手机,或者另一个人的手机,能看到这个项目开着吗?

能。开关记在电脑上,同一组配对的手机都能在面板里看到并修改;Android 版和 iPhone 版的面板相同。

怎么开始用?

在电脑上装 BotBus,用手机扫配对二维码。下载在官网首页:电脑端有 Mac 版(macOS 26 或更新)、Linux 版和 Windows 版,iPhone 与 Apple Watch 版在 App Store(iOS 26 / watchOS 26 起),Android 版在官网下载区下载安装包。

← 全部文章