自动批准操作
⚠️ 安全警告: 自动批准设置会绕过确认提示,直接授予 Roo 访问您系统的权限。这可能导致数据丢失、文件损坏,甚至更严重的后果。命令行访问尤其危险,因为它可能执行有害操作,损害系统安全或危及系统完整性。仅对您完全信任的操作启用自动批准。
自动批准设置通过消除重复的确认提示来加速您的工作流,但会显著增加安全风险。
快速开始指南
- 打开聊天输入框旁的自动批准下拉菜单
- 点击下拉菜单右下角的“启用”以激活或暂停自动批准
- 使用“全部/无”芯片批量选择或清除权限,或选择单个图块;您可以在“无”权限被选中的情况下保持“启用”状态
- (可选)点击齿轮图标打开设置以进行更细致的权限控制
键盘快捷键
默认快捷键: Cmd+Alt+A(macOS)/ Ctrl+Alt+A(Windows/Linux)
无需使用鼠标即可快速切换自动批准的开启/关闭状态。此快捷键切换全局“启用”状态,同时保留您的权限选择。
自定义快捷键:
- 打开 VS Code 命令面板(
Cmd+Shift+P/Ctrl+Shift+P) - 搜索“Preferences: Open Keyboard Shortcuts”
- 搜索命令名称(因语言而异):
- 英文:“Toggle Auto-Approve”
- 其他语言:查找本地化等效命令
- 点击命令旁的铅笔图标
- 按下您期望的键组合
- 按 Enter 保存
注意: 命令名称会以您 VS Code 界面的语言显示。如果您使用非英语环境,命令将被翻译为相应语言。
自动批准下拉菜单
下拉菜单显示权限图块的网格。控制项:
- 启用(右下角):自动批准的主暂停/恢复开关
- 全部 / 无(左下角):批量选择或清除权限,不改变启用状态
- 权限图块:选择哪些操作可以无需提示自动运行;仅当启用关闭时图块才会禁用。某些权限仅在您的模型支持该功能时生效。
可用权限
| 权限 | 作用 | 风险等级 |
|---|---|---|
| 读取文件和目录 | 允许 Roo 无需询问即可访问文件 | 中等 |
| 编辑文件 | 允许 Roo 无需询问即可修改文件 | 高 |
| 执行已批准的命令 | 自动运行白名单中的终端命令 | 高 |
| 使用浏览器 | 允许无头浏览器交互 | 中等 |
| 使用 MCP 服务器 | 允许 Roo 使用配置的 MCP 服务 | 中等-高 |
| 切换模式 | 自动在不同 Roo 模式间切换 | 低 |
| 创建和完成子任务 | 无需确认即可管理子任务 | 低 |
| 回答后续问题 | 为后续问题选择默认答案 | 低 |
全局启用开关
工作原理:
- 启用 — 自动批准对您选择的权限运行
- 关闭 — 暂停所有自动批准;您的权限选择保持不变
- 全部 / 无 — 在启用状态不变的情况下批量调整选择
- 注意:仅当启用开启且至少选择了一个权限时,自动批准才会运行
何时切换:
- 敏感或生产工作 → 关闭
- 快速迭代和重构 → 开启
- 在探索和编辑任务间切换
高级设置面板
设置面板提供带有重要安全上下文的详细控制:
允许 Roo 自动执行操作而无需批准。仅在您完全信任 AI 并了解相关安全风险时启用这些设置。
访问这些设置的方法:
- 点击下拉菜单右上角的
- 导航到自动批准设置
设置面板镜像了相同的权限,同时提供额外的上下文和保护。
重要行为
- 站点外读写需要相应的站点外标志以及基础权限。
- MCP 工具的自动批准需要全局“始终批准 MCP 工具”和每个工具的“始终允许”。资源访问仅遵循全局设置。
- 仅当启用模式切换权限时,模式切换才会自动批准(涵盖切换到其他模式和创建新模式)。
- 自动写入后,Roo 使用设置 → 上下文管理 → 诊断中的全局写入延迟控制等待。参见 诊断集成。
读取操作

设置: “始终批准仅读操作”
描述: “启用后,Roo 将自动查看目录内容和读取文件,无需您点击批准按钮。”
附加选项:
- 包含工作区外文件: 允许 Roo 读取当前工作区目录外的文件
风险等级: 中等
虽然此设置仅允许读取文件(不修改),但可能暴露敏感数据。仍推荐作为大多数用户的起点,但需注意 Roo 可访问的文件。
工作区边界保护
默认情况下,Roo 只能读取当前工作区目录内的文件。“包含工作区外文件”选项将读取访问扩展到工作区边界之外。考虑安全影响:
- 默认(未勾选): Roo 只能读取项目目录中的文件
- 启用: Roo 可以读取您系统上可访问的任何文件
- 建议: 除非特别需要 Roo 访问外部文件,否则保持禁用
写入操作

设置: “始终批准写入操作”
描述: “自动创建和编辑文件,无需批准”
写入延迟控制: 在设置 → 上下文管理 → 诊断中配置。参见 诊断集成。
附加选项:
- 包含工作区外文件: 允许 Roo 修改当前工作区目录外的文件
- 包含受保护文件: 允许 Roo 修改
.roo/和.rooignore目录保护的文件
风险等级: 高
此设置允许 Roo 无需确认即可修改文件。延迟计时器至关重要:
- 较高值(2000ms+):推荐用于诊断耗时较长的复杂项目
- 默认值(1000ms):适用于大多数活跃诊断的项目
- 0ms:无延迟 — 在速度关键时使用
- 较低值:仅在受控环境中使用
安全边界
写入操作设置包括两个重要的安全控制:
-
工作区边界保护: 默认情况下,Roo 只能修改当前工作区内的文件。启用“包含工作区外文件”需格外谨慎。
-
受保护文件: Roo 阻止修改:
.roo/目录中的文件.rooignore文件
“包含受保护文件”选项绕过此保护 — 仅在特别需要修改这些文件时使用。
写入延迟与问题窗格集成

VSCode 问题窗格,Roo 在写入延迟期间检查
启用文件写入的自动批准后,Roo 使用设置 → 上下文管理 → 诊断中的全局写入延迟。延迟计时器与 VSCode 的问题窗格配合工作:
- Roo 对您的文件进行更改
- VSCode 的诊断工具分析更改
- 问题窗格更新错误或警告
- Roo 在继续之前注意到这些问题
这就像人类开发者在更改代码后暂停检查错误。您可以根据以下因素调整延迟时间:
- 项目复杂度
- 语言服务器速度
- 错误检测对您工作流的重要性
浏览器操作
设置: “始终批准浏览器操作”
描述: “自动执行浏览器操作,无需批准”
注意: “仅当模型支持计算机使用时适用”
风险等级: 中等
允许 Roo 无需确认即可控制无头浏览器。这可能包括:
- 打开网站
- 导航页面
- 与网页元素交互
考虑允许自动浏览器访问的安全影响。
MCP 工具
设置: “始终批准 MCP 工具”
描述: “启用 MCP 服务器视图中单个 MCP 工具的自动批准(需要此设置和工具的单独‘始终允许’复选框)”
风险等级: 中等-高(取决于配置的 MCP 工具)
此设置需要两步权限流程以确保安全:
- 启用此全局设置 — 作为所有 MCP 工具自动批准的主开关
- 启用单独工具权限 — 在 MCP 服务器视图中,选中特定工具的“始终允许”复选框
重要: 两个权限都必须激活,工具才会自动批准。这种双重权限系统确保您对哪些 MCP 工具可以无需确认执行保持细粒度控制。资源检索(access_mcp_resource)仅遵循全局设置。
权限存储: 您的 MCP 工具权限会被保存,下次使用 Roo Code 时将被记住。
示例工作流:
- 在设置中启用“始终批准 MCP 工具”
- 导航到 MCP 服务器视图
- 找到特定工具(例如,文件系统操作)
- 选中其“始终允许”复选框
- 然后该特定工具才会自动批准
模式切换
设置: “始终批准模式切换”
描述: “自动在不同模式间切换,无需批准”
风险等级: 低
允许 Roo 无需询问即可在不同模式(代码、架构等)间切换。这主要影响 AI 行为而非系统访问。启用此权限时,自动批准也涵盖在模式间切换和创建新模式。
子任务
设置: “始终批准子任务的创建和完成”
描述: “允许创建和完成子任务,无需批准”
风险等级: 低
启用 Roo 自动创建和完成子任务。这与工作流组织相关,而非系统访问。
命令执行

设置: “始终批准允许的执行操作”
描述: “自动执行允许的终端命令,无需批准”
命令管理: “当启用‘始终批准执行操作’时可以自动执行的命令前缀。添加 * 以允许所有命令(谨慎使用)。”
风险等级: 高
此设置允许带控制的终端命令执行。使用允许列表和拒绝列表结合进行纵深防御。
- 优先级:拒绝规则在匹配前缀与允许匹配同等或更具体时优先(最长前缀优先)。
- 默认应拒绝的高风险命令:
- Unix/macOS:rm, sudo, dd, mkfs, diskutil eraseDisk, shutdown, reboot, chmod -R, chown -R, kill -9, curl | sh, wget | sh
- Git/Package:git push, npm publish, yarn publish, pnpm publish
- Windows/PowerShell:Remove-Item, Format-Volume, Stop-Process, shutdown, Set-ExecutionPolicy
- 生产模板:
- 用 "*" 拒绝所有,然后允许特定的安全前缀,如 "git", "npm run", "echo"。
- 危险替换保护:即使允许的前缀,如果命令包含危险的参数或进程替换(例如
${var@P}、插入 here-字符串的子 shell、zsh 进程替换=(...)、zsh 带e:...:的 glob 限定符),也不会自动批准。
配置
- UI(推荐):设置 → 自动批准 → 执行 → 使用“允许的命令”和“拒绝的命令”编辑器添加/移除前缀。
- 设置 JSON(替代方案):
{
"roo-cline.allowedCommands": ["git", "npm run", "echo"],
"roo-cline.deniedCommands": ["git push", "npm publish", "rm", "sudo", "*"]
}
同时定义两个列表时,应用最长前缀规则;如果拒绝更具体或同等,则拒绝优先。
安全前缀示例:
gitnpm runpython -m pytestcargo testgo testdocker pslscat
安全提示:前缀要具体。不要允许所有 python 命令,而是限制为 python -m pytest 仅用于测试执行。
后续问题

设置: 始终默认后续问题的答案
描述: 在可配置的超时后自动选择第一个 AI 建议答案,以加速您的工作流,让 Roo 在无需手动干预的情况下继续。
超时滑块: 使用滑块将等待时间设置为 1 到 300 秒(默认:60 秒)
工作原理:
- 超时后,第一个建议自动被选择
- 任何用户操作(选择不同建议、编辑建议或输入自己的回答)都会取消自动选择
覆盖选项: 您可以通过以下方式随时取消自动选择:
- 点击不同的建议
- 编辑任何建议
- 输入您自己的回答
风险等级: 低
用例:
- 过夜运行,您希望 Roo 继续工作
- 重复任务,其中默认建议通常正确
- 交互不关键的测试工作流