在手机上进行人工审批:让 Claude Code、Codex 和 OpenCode 安全执行危险命令
不必完全开启 YOLO,也能在手机上审批高风险操作的实用方法:限时访问、工作流中断,以及适合手机的审批界面。
基于版本
- CLI
- 0.2.17
- 预览 ref
- a2c45c8
长时间运行的会话,真正危险的时刻并不是刚开始的时候。
而是运行了 40 分钟,你手里只有手机,它却请求执行一个可能真的会破坏环境的操作:
- 安装系统依赖
- 删除或重写一个目录
- 修改密钥或配置
- 运行一条你平时不会随手执行的命令
这时你会有两种不好的本能:
- 快速批准,因为你想让它继续
- 全部拒绝,因为你没有足够的上下文来判断
真正有帮助的是一种让审批变得这样的工作流:
- 明确
- 可审查
- 必要时有时间限制
- 并且能在手机上操作
要点
- 先缩小影响范围(这样审批就没那么可怕):使用更安全的删除包装、严格的 sudo / doas 规则和收窄的权限。
- 对高风险步骤使用真正的“暂停,直到人工批准”模式(工作流中断 / 审批)。
- 如果你想在手机上带着上下文审批,就需要一个持久的审批界面(而不是容易错过的弹窗)。
- Happier 是可以帮上忙的选项之一:它把审批和请求作为持久的收件箱(Inbox)条目处理,并通过权限模式让你选择严格程度。
问题
核心矛盾很简单:
- 你希望 Claude Code / Codex / OpenCode 拥有足够的权限,才能真正有用
- 你不希望它拥有足够的权限,在你离开时毁掉你的一天
这个矛盾不是一个开关能解决的。
需要分层来解决。
常见做法及其取舍
- 完全 YOLO:在出问题之前都能用。
- 从不允许写入:安全,但限制太多。
- SSH 登录后在终端里决定:安全,但会变成在手机上做真正的工作。
有效的做法是组合:
- 缩小影响范围
- 明确的人工介入暂停
- 适合手机的审批界面
Happier 是把后两项打包在一起的工具之一。
第 1 层:缩小影响范围,让审批没那么可怕
这些措施很小,但很重要。
- 使用更安全的 rm 包装(safe-rm),让误操作可以恢复。
- 使用严格的 sudo 默认配置并记录日志。
- 如果你想要更简单、明确的规则,可以考虑 doas。
这不能代替审批。
但能让“在手机上犯一个错”的后果没那么严重。
第 2 层:限时访问审批(在共享或敏感机器上)
在更大的环境中,审批通常针对的是访问权限,而不是单条命令。
Teleport 式的访问请求就是典型例子:
- 申请某个角色或资源
- 有人批准
- 到期失效
对个人开发机来说有点重,但这个模型值得理解:审批在有时间限制、可审计时效果更好。
第 3 层:工作流中断(暂停直到你批准)
如果你想在操作级别审批,模式是:
- 工作流到达一个高风险步骤
- 暂停
- 你用人工决定让它继续
代理编排框架中就有这种机制(interrupts)。
取舍:你需要可靠的通知和恢复机制。
Happier 的工作流(持久审批与权限模式)
Happier 把两个相关的概念分开:
- 权限(Permissions):你被询问的频率(默认(Default)/ 只读(Read-only)/ 安全 YOLO(Safe YOLO)/ YOLO)
- 审批(Approvals):收件箱(Inbox)中持久保留的审查点,用于不应立即执行的操作
收件箱之所以重要,是因为它是一个真正的“待处理清单”。
它不是一闪而过的弹窗。
所以在手机上你可以:
- 打开收件箱
- 在上下文中查看请求
- 批准或拒绝
手机审批的实用规则
- 如果 30 秒内看不懂请求,就不要批准。
- 要求提供:
- 一句话说明
- 确切的命令
- 确切的路径
- 最近改了什么
- 优先选择安全 YOLO,而不是 YOLO。
相关指南
mobilesecurityapprovalsclaudecodexopencode
最后更新: 2026-10-26