跳转到内容

自动批准

默认情况下,Dline 在执行可能产生影响的操作前会请求你批准。自动批准让你按类别放行某些操作,减少打断。

自动批准设置位于聊天输入框正上方的 Auto-approve: 栏。点击后弹出菜单,顶部说明为 “Let Dline take these actions without asking for approval.”。

自动批准菜单的默认状态:勾选了 Read project files、Execute safe commands 和 Use MCP servers自动批准菜单的默认状态:勾选了 Read project files、Execute safe commands 和 Use MCP servers

选项覆盖的操作默认
Read project files读取、列出和搜索工作区内的文件开
└ Read all files读取工作区之外的文件关
Edit project files创建和编辑工作区内的文件关
└ Edit all files创建和编辑工作区之外的文件关
Execute safe commands模型标记为安全的命令开
└ Execute all commands所有命令关
Use the browser浏览器自动化关
Use Web网页搜索与网页抓取(web_search、web_fetch)关
Use MCP serversMCP 工具开
Generate images图片生成,参见图片生成关
Focus chain overridesFocus Chain 待办清单的更新关

在菜单中,带 └ 的子选项依附于上一行:勾选子选项会同时勾选父选项,取消父选项会同时取消子选项。

勾选 Edit project files 后出现子选项 Edit all files,栏上的摘要变为 Auto-approve: Read, Edit, Safe Commands, MCP勾选 Edit project files 后出现子选项 Edit all files,栏上的摘要变为 Auto-approve: Read, Edit, Safe Commands, MCP

Dline 执行命令时,模型需要为每个命令声明 requires_approval:可能产生影响的命令声明为 true,无破坏性的命令声明为 false。Execute safe commands 放行的是被声明为 false 的命令。

这是模型给出的判断,Dline 不会另外解析命令文本来确认它是否安全。如果你需要硬性限制,可以使用下面的命令权限规则。

通过环境变量 DLINE_COMMAND_PERMISSIONS 可以配置命令的允许与拒绝规则(glob 模式),在命令执行前检查,即使在 YOLO 模式下也生效:

{"allow": ["npm test", "git status"], "deny": ["rm *"], "allowRedirects": false}
  • 未设置该变量时,不做额外限制;
  • deny 规则优先;配置了 allow 后,未匹配任何规则的命令会被拒绝;
  • 带重定向(如 >、>>)的命令,只有 allowRedirects 为 true 时才允许;
  • 用 &&、||、|、; 连接的命令会拆开逐段检查,每一段都必须通过。

菜单底部的 Enable notifications 默认关闭,说明为 “Notifications may show abbreviated tool details for safety and privacy.”。开启后,Dline 会在以下情况发送系统通知:

  • 需要你批准某个操作时;
  • 任务完成时;
  • Dline 向你提问时;
  • 自动批准的命令运行超过 30 秒时。

通知能否显示取决于操作系统设置。

Yolo Mode 位于 Settings → Features 的实验性功能分组中,默认关闭。说明为:“Execute tasks without user’s confirmation. Auto-switches from Plan to Act mode and disables the ask question tool. Use with extreme caution.”

开启后:

  • 输入框上方显示 Auto-approve: YOLO,需要到设置中关闭;
  • Plan 模式下生成计划后会自动切换到 Act 模式;
  • Dline 向你提问时不会停下来等待回答。
  • MCP 工具级自动批准:在 MCP 服务器管理界面中,可以为单个工具开启 Auto-approve,或为服务器开启 Auto-approve all tools。工作区服务器的工具默认不自动批准,对它们的选择只对当前工作区生效。这与聊天中的 Use MCP servers 是不同的开关,参见 MCP 概览。
  • .agentignore:被 .agentignore 拒绝的操作即使被自动批准也会失败,并在聊天中显示原因。
  • 子代理:启动子代理使用 Read project files 权限,子代理内部的工具不会逐个请求你批准,参见子代理。
  • 工作区内外的判定:依据工具声明或确认的路径。这不代表命令或 MCP 工具无法访问工作区之外的资源。
  • 先从默认设置开始,只放行你经常批准、且风险可接受的类别;
  • 开启 Edit project files 时保持检查点开启,任务结束后用 View Changes 检查结果;
  • 谨慎开启 Execute all commands,需要限制时配合 DLINE_COMMAND_PERMISSIONS。