权限模式
在桌面输入框旁选择权限模式,或为 wuu exec 传入 --permission-mode。不同引擎使用相同的界面标签,但内置 Wuu 引擎与外部程序的执行规则并不相同。
Wuu 引擎的行为如下:
| 模式 | 专用工具 | 命令 |
|---|---|---|
标准 standard | 在已登记的文件范围内读写,并保留敏感路径防护 | 文件系统沙箱允许写入执行目录范围和专用临时目录 |
只读 read_only | 保持相同读取范围,拒绝修改类调用 | 获准运行的命令仍受文件写入限制 |
无限制 unconfined | 移除普通路径边界,保留专用敏感路径防护 | 移除 Wuu 的文件系统进程沙箱 |
正常文件范围包含 Agent 的专用主目录、Wuu 主目录(~/.wuu 或 $WUU_HOME)、已登记的用户工作区和系统临时目录。Wuu 主目录中的非凭据文件,包括配置和运行记录,遵循普通文件边界,不再整目录禁止访问。标准模式的命令也获得 Wuu 主目录的写入权限。命令不会获得整个共享临时目录的写入权限,而是使用专用临时目录。
在 macOS 上,两种受限模式还允许写入当前用户的 Module Directory Services(mds)缓存,钥匙串读取需要更新该缓存。此例外不授予对钥匙串存储文件或其他用户缓存的直接文件系统写入权限。
调查时使用只读,普通改动使用标准。无限制模式让命令获得运行 Wuu 的系统用户的本机权限,只有理解任务为何需要这种访问时才应启用。
系统权限与隔离
Section titled “系统权限与隔离”进程沙箱限制文件内容写入和文件系统创建、删除,不隔离所有读取、网络访问、进程可见性或继承的环境变量。Linux Landlock 不限制所有元数据操作,例如修改文件权限或时间戳。尤其要注意,只读不代表命令无法泄露数据。专用文件工具的路径边界与子进程沙箱是两层不同的保护。
内置后端在 macOS 上使用 Seatbelt,在 Linux 上使用 Landlock(要求 ABI 3 或更高版本)。Linux 内核缺少 Landlock 时会拒绝执行。其他平台或内置后端无法运行时,受限命令需要配置 sandbox.process@1 扩展。后端缺失、失败或只能部分实施限制时,命令会失败;Wuu 不会悄悄改用无限制模式重试。
这不是对所有已安装代码的沙箱。插件、Hook、MCP 服务、外部引擎以及手动输入桌面终端的命令各有执行路径。处理不可信仓库和依赖时,应使用隔离环境或独立系统账号,详见安全说明。
替我审批是桌面端 Wuu 引擎在标准模式下的选项。它为特定原生工具调用增加执行前的模型审查,不是第四种模式,也不扩大工作区边界。
所有 shell 执行都会经过审查,包括被分类为只读的命令。其他破坏性或高风险调用,以及适用的 Git、进程、浏览器和 MCP 操作,也会经过审查。普通低风险读取不需要。审查使用当前对话的模型,可能增加模型请求、费用和等待时间。
审查是一次纯文本模型请求,超时为 90 秒,同时受所属执行的剩余生命周期限制。它保留当前模型的采样、推理、传输兼容性与已配置的输出 token 策略。提供商选项不能替换审查证据、改用其他模型或添加工具。审查策略与工具是否执行仍由宿主决定。
审查可以放行、拒绝,或留下未决结果,让 Agent 说明拟执行操作并在对话中征求用户知情同意。超时、取消或审查失败时,操作不会执行,也不能因此绕过审查。此选项不能将会话提升到无限制模式,或覆盖专用凭据与敏感写入防护。
wuu exec 不提供此选项。它的原生权限检查只允许或拒绝调用,不打开交互式审批对话框。
专用文件工具拒绝写入环境文件、凭据存储和 SSH 私钥等已知敏感路径,无限制模式也一样。源码文件不会只因为文件名包含 credential 或 secret 就被当成凭据存储:可以编辑 credentials.go,但不能编辑 credentials.json。对话中的授权不能解除这些防护。Wuu 主目录中的 auth.json、credentials.json、remote.json、phone.json 等凭据文件仍禁止直接读写。结构化 Git 工具也会检查敏感文件的暂存和提交。
工具输出脱敏可以识别常见密钥格式,但无法识别所有秘密或编码。这些保护不保证任意 shell 程序、第三方代码和网络请求都不会泄露信息。
适配器会将所选模式传给外部程序:
| Wuu 选项 | Codex | Claude Code | ACP Agent |
|---|---|---|---|
| 标准 | workspace-write,审批策略为 on-request | dontAsk | Agent 广告的询问模式(agent、ask、default 等);没有广告时走宿主审批桥 |
| 只读 | read-only,审批策略为 never | plan | Agent 广告的 plan / read-only;没有广告时拒绝 |
| 无限制 | danger-full-access,审批策略为 never | bypassPermissions | Agent 广告的免询问模式(bypassPermissions、agent-full-access、bypass 等);没有广告时单次自动接受 |
这些是适配器设置,不代表各引擎提供相同保护。Claude Code 的无界面传输没有权限询问桥接,标准模式使用 dontAsk,使权限请求被拒绝而不是一直等待。ACP Agent 通过 category=mode 配置项广告权限模式;统一输入框显示这些原生名称,并用 session/set_config_option 写入对应 id。外部程序的具体行为取决于其版本和配置。
CLI 示例
Section titled “CLI 示例”wuu exec --permission-mode read_only "解释仓库,不要修改文件"wuu exec --permission-mode standard "修复失败的测试,运行相关检查"普通项目配置不能悄悄替换用户的权限模式。显式指定自动化配置时有不同的信任规则,详见配置说明。