Skip to main content

自动批准操作

⚠️ 安全警告: 自动批准设置会绕过确认提示,直接授予Roo对您系统的访问权限。这可能导致数据丢失、文件损坏或更严重的后果。命令行访问尤其危险,因为它可能执行有害操作,损坏您的系统或危及安全。仅对您完全信任的操作启用自动批准。

自动批准设置通过消除重复的确认提示来加速您的工作流程,但会显著增加安全风险。


* 更新: 自本视频制作以来,我们添加了自动批准问题操作。您可以在下方找到!


快速入门指南

  1. 点击聊天输入上方的自动批准工具栏
  2. 选择Roo可以在不请求许可的情况下执行哪些操作
  3. 使用主开关(最左侧的复选框)快速启用/禁用所有权限

自动批准工具栏

自动批准工具栏折叠状态

提示框和自动批准工具栏显示已启用的权限

点击工具栏展开它并配置单个权限:

自动批准工具栏展开状态

提示文本框和展开的工具栏显示所有选项

API请求限制

工具栏包含一个输入字段,用于设置Roo可以自动进行的最大API请求数:

  • 目的: 防止API使用失控和意外成本
  • 默认: 无限制(空字段)
  • 推荐: 根据任务复杂性设置合理限制(例如,大多数任务50-100)
  • 工作原理: 达到限制后,Roo将暂停并请求继续的许可

此安全功能特别适用于:

  • 使用昂贵的API模型
  • 测试新工作流
  • 让Roo长时间自主工作

可用权限

权限功能风险等级
读取文件和目录允许Roo无需询问即可访问文件
编辑文件允许Roo无需询问即可修改文件
执行批准的命令自动运行白名单中的终端命令
使用浏览器允许无头浏览器交互
使用MCP服务器允许Roo使用配置的MCP服务中高
切换模式自动在Roo模式之间切换
创建和完成子任务无需确认管理子任务
重试失败的请求自动重试失败的API请求
回答后续问题为后续问题选择默认答案
更新待办事项列表自动更新任务进度

主开关快速控制

最左侧的复选框作为主开关:

自动批准工具栏中的主开关

主开关(复选框)一次性控制所有自动批准权限

工作原理:

  • 选中: 激活所有配置的自动批准权限
  • 未选中: 暂时禁用所有自动批准而不更改单个设置
  • 重要: 切换时保留单个权限设置

这意味着您可以:

  1. 配置一次您首选的权限
  2. 使用主开关快速启用/禁用它们
  3. 您的配置保留供下次使用

在以下情况下使用主开关:

  • 处理敏感代码(关闭)
  • 进行快速开发(开启)
  • 在探索和编辑任务之间切换
  • 暂时暂停自动化而不丢失设置

高级设置面板

设置面板提供详细控制和安全上下文:

允许Roo自动执行操作而无需批准。仅在您完全信任AI并理解相关安全风险时启用这些设置。

访问这些设置:

  1. 点击右上角的
  2. 导航到自动批准设置
设置面板自动批准选项

完整的设置面板视图

读取操作

读取操作(风险:中)
只读操作设置

设置: "始终批准只读操作"

描述: "启用后,Roo将自动查看目录内容和读取文件,无需您点击批准按钮。"

附加选项:

  • 包括工作区外的文件: 允许Roo读取当前工作区目录外的文件

风险等级:

虽然此设置仅允许读取文件(不修改它们),但它可能暴露敏感数据。仍建议大多数用户作为起点,但要注意Roo可以访问哪些文件。

工作区边界保护

默认情况下,Roo只能读取当前工作区目录中的文件。"包括工作区外的文件"选项扩展了工作区边界之外的读取访问权限。考虑安全影响:

  • 默认(未选中): Roo只能读取项目目录中的文件
  • 启用: Roo可以读取您有权访问的系统上的任何文件
  • 建议: 除非您特别需要Roo访问外部文件,否则保持禁用

写入操作

写入操作(风险:高)
写入操作设置带延迟滑块

设置: "始终批准写入操作"

描述: "自动创建和编辑文件而无需批准"

延迟滑块: "写入后的延迟时间,允许诊断检测潜在问题"(默认:0ms)

附加选项:

  • 包括工作区外的文件: 允许Roo修改当前工作区目录外的文件
  • 包括受保护文件: 允许Roo修改通常受.rooignore和.roo/目录保护的文件

风险等级:

此设置允许Roo无需确认即可修改您的文件。延迟计时器至关重要:

  • 较高值(2000ms+): 推荐用于诊断时间较长的复杂项目
  • 默认(0ms): 无延迟 - 当速度至关重要时使用
  • 1000ms: 适用于大多数具有活动诊断的项目
  • 较低值: 仅在受控环境中使用

安全边界

写入操作设置包括两个重要的安全控制:

  1. 工作区边界保护: 默认情况下,Roo只能修改当前工作区中的文件。启用"包括工作区外的文件"时要极度谨慎。

  2. 受保护文件: 默认保护.rooignore和.roo/目录中的文件。"包括受保护文件"选项绕过此保护 - 仅在必要时使用。

写入延迟与问题面板集成

VSCode问题面板显示诊断信息

Roo在写入延迟期间检查的VSCode问题面板

当您启用自动批准写入文件时,延迟计时器与VSCode的问题面板配合工作:

  1. Roo更改您的文件
  2. VSCode的诊断工具分析更改
  3. 问题面板更新任何错误或警告
  4. Roo在继续之前注意到这些问题

这类似于人类开发者在更改代码后暂停检查错误。您可以根据以下因素调整延迟时间:

  • 项目复杂性
  • 语言服务器速度
  • 错误检测对工作流程的重要性

浏览器操作

浏览器操作(风险:中)

设置: "始终批准浏览器操作"

描述: "自动执行浏览器操作而无需批准"

注意: "仅当模型支持计算机使用时适用"

风险等级:

允许Roo无需确认即可控制无头浏览器。这可能包括:

  • 打开网站
  • 导航页面
  • 与网页元素交互

考虑允许自动化浏览器访问的安全影响。

API请求

API请求(风险:低)
API请求重试设置带延迟滑块

设置: "始终重试失败的API请求"

描述: "当服务器返回错误响应时自动重试失败的API请求"

延迟滑块: "重试请求前的延迟"(默认:5s)

风险等级:

此设置自动重试失败的API调用。延迟控制Roo在再次尝试前等待的时间:

  • 较长延迟对API速率限制更温和
  • 较短延迟从瞬时错误中恢复更快

MCP工具

MCP工具(风险:中高)

设置: "始终批准MCP工具"

描述: "在MCP服务器视图中启用单个MCP工具的自动批准(需要此设置和工具的'始终允许'复选框)"

风险等级: 中高(取决于配置的MCP工具)

此设置需要两步权限流程以确保安全:

  1. 启用此全局设置 - 作为所有MCP工具自动批准的主开关
  2. 启用单个工具权限 - 在MCP服务器视图中,为特定工具勾选"始终允许"

重要: 两个权限都必须激活才能使工具自动批准。这种双重权限系统确保您保持对哪些MCP工具可以在无需确认的情况下执行的精细控制。

示例工作流程:

  • 在设置中启用"始终批准MCP工具"
  • 导航到MCP服务器视图
  • 找到特定工具(例如文件系统操作)
  • 勾选其"始终允许"复选框
  • 只有这样该特定工具才会自动批准

模式切换

模式切换(风险:低)

设置: "始终批准模式切换"

描述: "自动在不同模式之间切换而无需批准"

风险等级:

允许Roo在不同模式(代码、架构师等)之间切换而无需请求许可。这主要影响AI的行为而非系统访问。

子任务

子任务(风险:低)

设置: "始终批准创建和完成子任务"

描述: "允许创建和完成子任务而无需批准"

风险等级:

使Roo能够自动创建和完成子任务。这与工作流组织相关,而非系统访问。

命令执行

命令执行(风险:高)
命令执行设置带白名单界面

设置: "始终批准允许的执行操作"

描述: "自动执行允许的终端命令而无需批准"

命令管理: "当'始终批准执行操作'启用时,可以自动执行的命令前缀。添加*以允许所有命令(谨慎使用)。"

风险等级:

此设置允许终端命令执行与控制。虽然风险高,但白名单功能限制了可以运行的命令。重要的安全特性:

  • 白名单特定命令前缀(推荐)
  • 切勿在生产或敏感数据中使用*通配符
  • 考虑每个允许命令的安全影响
  • 始终验证与外部系统交互的命令

界面元素:

  • 输入命令前缀的文本字段
  • "添加"按钮添加新前缀
  • 可点击的命令按钮带X可删除

常见白名单示例:

  • git - 版本控制操作
  • npm run - 运行package.json脚本
  • python -m pytest - 运行Python测试
  • cargo test - 运行Rust测试
  • go test - 运行Go测试
  • docker ps - 列出Docker容器
  • ls - 列出目录内容
  • cat - 显示文件内容

安全提示: 前缀要具体。与其允许所有python命令,不如限制为python -m pytest仅用于测试执行。

后续问题

后续问题(风险:低)
后续问题操作设置带超时滑块

设置: 始终默认回答后续问题

描述: 在可配置的超时后自动选择AI建议的第一个答案作为后续问题的回答。通过让Roo无需手动干预即可继续,加速您的工作流程。

视觉倒计时: 启用后,第一个建议按钮上会出现倒计时计时器,显示自动选择前的剩余时间。计时器显示为圆形进度指示器,随时间递减。

超时滑块: 使用滑块设置1到300秒的等待时间(默认:60秒)。

覆盖选项: 您可以随时通过以下方式取消自动选择:

  • 点击不同的建议
  • 编辑任何建议
  • 输入自己的响应
  • 点击计时器暂停它

风险等级:

使用案例:

  • 希望Roo继续工作的夜间运行
  • 默认建议通常正确的重复性任务
  • 交互不关键的测试工作流

更新待办事项列表

更新待办事项列表(风险:低)

设置: "始终批准待办事项列表更新"

描述: "自动更新待办事项列表而无需批准"

风险等级:

此设置允许Roo在工作会话期间自动更新任务进度和待办事项列表。这包括:

  • 标记任务为已完成
  • 添加新发现的任务
  • 更新任务状态(待处理、进行中、已完成)
  • 重新组织任务优先级

优势:

  • 保持实时任务进度可见性
  • 减少多步骤工作流中的中断
  • 准确反映项目状态
  • 帮助跟踪复杂的任务依赖关系

使用案例:

  • 长时间运行的开发会话
  • 多步骤重构项目
  • 复杂的调试工作流
  • 具有许多子任务的功能实现

当与子任务权限结合使用时特别有用,因为它允许Roo无需不断批准请求即可维护项目进度的完整视图。