Skip to Content
用户指南功能特性审批模式

审批模式

Qwen Code 提供五种不同的权限模式,允许你根据任务复杂度和风险级别灵活控制 AI 与你的代码及系统的交互方式。

权限模式对比

模式文件编辑Shell 命令最适用于风险级别
Plan❌ 仅限只读分析❌ 不执行• 代码探索
• 规划复杂更改
• 安全的代码审查
最低
Ask Permissions✅ 需要手动审批✅ 需要手动审批• 新的/不熟悉的代码库
• 关键系统
• 团队协作
• 学习和教学
Auto-Edit✅ 自动审批❌ 需要手动审批• 日常开发任务
• 重构和代码改进
• 安全的自动化
Auto✅ 分类器评估✅ 分类器评估• 长时间自主会话
• 当 Auto-Edit 过于保守而 YOLO 风险过高时
YOLO✅ 自动审批✅ 自动审批• 受信任的个人项目
• 自动化脚本/CI/CD
• 批处理任务
最高
Note

以前名为 Default 的模式已重命名为 Ask Permissions,以更好地描述其行为。底层配置值(tools.approvalMode: "default")和 /approval-mode default 命令保持不变,以确保向后兼容。

快速参考指南

  • 从 Plan 模式开始:非常适合在做出更改前进行理解
  • 在 Ask Permissions 模式下工作:大多数开发工作的平衡之选
  • 切换到 Auto-Edit:当你需要进行大量安全的代码更改时
  • 尝试 Auto 模式:当你希望减少中断,但仍需要对 Shell 命令和网络调用进行安全控制时——LLM 分类器会评估每次调用
  • 谨慎使用 YOLO:仅用于受控环境中受信任的自动化
Tip

你可以在会话期间使用 Shift+Tab(或 Windows 上的 Tab)快速循环切换模式。终端状态栏会显示你当前的模式,因此你始终清楚 Qwen Code 拥有的权限。

循环顺序为:plan → default → auto-edit → auto → yolo → plan → …

1. 使用 Plan 模式进行安全的代码分析

Plan 模式指示 Qwen Code 通过 只读 操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。

何时使用 Plan 模式

  • 多步实现:当你的功能需要编辑多个文件时
  • 代码探索:当你想在更改任何内容之前彻底研究代码库时
  • 交互式开发:当你想与 Qwen Code 迭代开发方向时

如何使用 Plan 模式

在会话期间开启 Plan 模式

你可以在会话期间使用 Shift+Tab(或 Windows 上的 Tab)循环切换权限模式来进入 Plan 模式。

如果你处于 Normal 模式,Shift+Tab(或 Windows 上的 Tab)会首先切换到 auto-edits 模式,终端底部会显示 ⏵⏵ accept edits on。再次按下 Shift+Tab(或 Windows 上的 Tab)将切换到 Plan 模式,终端底部会显示 ⏸ plan mode

使用 /plan 命令

/plan 命令提供了进入和退出 Plan 模式的快捷方式:

常规的规划请求本身不会切换模式。如果你想要只读的 Plan 模式工作流,请使用 /plan、键盘快捷键,或显式将审批模式设置为 plan

/plan # 进入 plan 模式 /plan refactor the auth module # 进入 plan 模式并开始规划 /plan exit # 退出 plan 模式,恢复之前的模式

当你使用 /plan exit 退出 Plan 模式时,你之前的审批模式会自动恢复(例如,如果你在进入 Plan 模式前处于 Auto-Edit 模式,你将返回 Auto-Edit 模式)。

在 Plan 模式下启动新会话

要在 Plan 模式下启动新会话,请使用 /approval-mode 然后选择 plan

/approval-mode

在 Plan 模式下运行“无头”查询

你也可以直接使用 -pprompt 在 Plan 模式下运行查询:

qwen --prompt "What is machine learning?"

示例:规划复杂的重构

/plan I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.

Qwen Code 进入 Plan 模式并分析当前实现以创建全面的计划。通过后续提问进行完善:

What about backward compatibility? How should we handle database migration?

将 Plan 模式配置为默认

// .qwen/settings.json { "tools": { "approvalMode": "plan" } }

2. 使用 Ask Permissions 模式进行受控交互

Ask Permissions 模式是使用 Qwen Code 的标准方式。在此模式下,你可以完全控制所有潜在的危险操作——Qwen Code 在进行任何文件更改或执行 Shell 命令之前都会征求你的同意。

何时使用 Ask Permissions 模式

  • 刚接触代码库:当你正在探索不熟悉的项目并希望格外谨慎时
  • 关键系统:在处理生产代码、基础设施或敏感数据时
  • 学习和教学:当你想了解 Qwen Code 正在采取的每个步骤时
  • 团队协作:当多人共同处理同一个代码库时
  • 复杂操作:当更改涉及多个文件或复杂逻辑时

如何使用 Ask Permissions 模式

在会话期间开启 Ask Permissions 模式

你可以在会话期间使用 Shift+Tab(或 Windows 上的 Tab)循环切换权限模式来进入 Ask Permissions 模式。如果你处于任何其他模式,按下 Shift+Tab(或 Windows 上的 Tab)最终会循环回到 Ask Permissions 模式,此时终端底部不会显示任何模式指示器。

在 Ask Permissions 模式下启动新会话

Ask Permissions 模式是你启动 Qwen Code 时的初始模式。如果你已更改模式并希望返回 Ask Permissions 模式,请使用:

/approval-mode default

在 Ask Permissions 模式下运行“无头”查询

运行无头命令时,Ask Permissions 模式是默认行为。你可以使用以下方式显式指定:

qwen --prompt "Analyze this code for potential bugs"

示例:安全地实现功能

/approval-mode default
I need to add user profile pictures to our application. The pictures should be stored in an S3 bucket and the URLs saved in the database.

Qwen Code 将分析你的代码库并提出计划。然后,它会在以下操作之前请求审批:

  1. 创建新文件(控制器、模型、迁移)
  2. 修改现有文件(添加新列、更新 API)
  3. 运行任何 Shell 命令(数据库迁移、依赖安装)

你可以审查每个提议的更改,并单独批准或拒绝它。

将 Ask Permissions 模式配置为默认

// .qwen/settings.json { "tools": { "approvalMode": "default" } }

3. Auto-Edit 模式

Auto-Edit 模式指示 Qwen Code 自动审批文件编辑,同时要求对 Shell 命令进行手动审批,是在保持系统安全的同时加速开发工作流的理想选择。

自动审批的编辑工具包括 editwrite_filenotebook_edit

何时使用 Auto-Edit 模式

  • 日常开发:非常适合大多数编码任务
  • 安全的自动化:允许 AI 修改代码,同时防止意外执行危险命令
  • 团队协作:在共享项目中使用,以避免对他人产生意外影响

如何切换到此模式

# 通过命令切换 /approval-mode auto-edit # 或使用键盘快捷键 Shift+Tab (or Tab on Windows) # 从其他模式切换

工作流示例

  1. 你要求 Qwen Code 重构一个函数
  2. AI 分析代码并提出更改建议
  3. 自动应用所有文件更改,无需确认
  4. 如果需要运行测试,它将请求审批以执行 npm test

4. Auto 模式 - 分类器驱动的审批

Auto 模式介于 Auto-Edit 和 YOLO 之间。LLM 分类器会评估每个 Shell 命令、网络调用和工作区外的编辑,并自动批准 它认为安全的操作,同时阻止有风险的操作。大多数只读操作 和工作区内的编辑会跳过分类器以提高速度。

完整参考(提示配置、故障排除、常见问题解答)请参见 auto-mode.md

何时使用 Auto 模式

  • 长时间自主会话:当 Ask Permissions 模式中断过于频繁,而 YOLO 风险过高时。
  • 受信任的项目:内部代码库,代理应继续运行, 但你仍希望对破坏性 Shell 命令和 出站网络调用设置防护栏。
  • 无头/定时运行:当 Auto-Edit 不够用(代理 也需要运行 Shell 命令),但你希望对 rm -rf /curl ... | sh、凭据泄露等操作进行安全防护时。

如何使用 Auto 模式

在会话期间开启 Auto 模式

按下 Shift+Tab(或 Windows 上的 Tab)循环进入 Auto 模式。 状态栏会显示当前活动的模式。

使用 /approval-mode 命令

/approval-mode auto

首次进入 Auto 模式时,会显示一条信息说明其 工作原理。该通知不会再次出现。

在 Auto 模式下启动新会话

// .qwen/settings.json { "tools": { "approvalMode": "auto", }, }

Auto 模式自动审批与阻止的内容

分类器在不确定时倾向于阻止。默认情况:

  • 自动审批:只读命令(ls、cat、git status、grep、find)、 当前工作目录下的包安装、构建/测试命令、工作区内的文件编辑、仅限本地的操作。
  • 阻止:不可逆的破坏(rm -rf /、fdisk、mkfs)、 来自外部的代码执行(curl | sh、远程内容的 eval)、 凭据泄露、未经授权的持久化(.bashrc 编辑、 crontab)、削弱安全性、强制推送到 main/master。

你可以通过 settings.json 中的自然语言提示自定义分类器的判断。请参见 auto-mode.md

安全防护栏

  • 硬规则仍然有效permissions.deny 规则会在分类器运行之前阻止操作。
  • 在 Auto 模式下会剥离过于宽泛的允许规则:例如, permissions.allow: ["Bash"](允许所有 Shell 命令)会使分类器失效;进入 Auto 模式会暂时禁用此类规则,以便分类器发挥作用。当你离开 Auto 模式时,这些规则会恢复。磁盘上的设置永远不会被修改。
  • 故障关闭:当分类器 API 无法访问时,操作会被阻止而不是允许。在连续两次不可用调用后,下一次工具调用将回退到手动审批。
  • 循环防护:在连续三次策略阻止后,下一次调用也会回退到手动审批,从而避免代理陷入死胡同方法中循环。

示例

/approval-mode auto Refactor the auth module to use OAuth2. Run the full test suite afterwards.

Qwen Code 进行文件编辑(工作区内的编辑跳过分类器), 运行 npm test(分类器判断为安全),如果它尝试执行类似 rm -rf /Users/me/.aws 的危险操作,则会显示阻止信息。你可以内联查看原因,并决定是否针对该步骤切换到 Ask Permissions 模式。

将 Auto 模式配置为默认

// .qwen/settings.json { "tools": { "approvalMode": "auto", }, "permissions": { "autoMode": { "hints": { "allow": ["Running pytest, mypy, and ruff on this Python repo"], "deny": ["Any network call to intranet.example.com"], }, "environment": ["Open-source monorepo; commits are signed"], // 可选:将所有 Shell 命令(包括 ls、cat 等只读命令) // 路由到分类器以实现纵深防御。 // "classifyAllShell": true, }, }, }

5. YOLO 模式 - 全自动化

YOLO 模式授予 Qwen Code 最高权限,自动审批所有工具调用,包括文件编辑和 Shell 命令。

何时使用 YOLO 模式

  • 自动化脚本:运行预定义的自动化任务
  • CI/CD 管道:在受控环境中自动执行
  • 个人项目:在完全受信任的环境中快速迭代
  • 批处理:需要多步命令链的任务
Warning

谨慎使用 YOLO 模式:AI 可以使用你的终端权限执行任何命令。请确保:

  1. 你信任当前的代码库
  2. 你了解 AI 将执行的所有操作
  3. 重要文件已备份或提交到版本控制

如何启用 YOLO 模式

# 临时启用(仅限当前会话) /approval-mode yolo # 设置为项目默认 /approval-mode yolo --project # 设置为用户全局默认 /approval-mode yolo --user

配置示例

// .qwen/settings.json { "tools": { "approvalMode": "yolo" } }

自动化工作流示例

# 全自动重构任务 qwen --prompt "Run the test suite, fix all failing tests, then commit changes" # 无需人工干预,AI 将: # 1. 运行测试命令(自动审批) # 2. 修复失败的测试用例(自动编辑文件) # 3. 执行 git commit(自动审批)

模式切换与配置

键盘快捷键切换

在 Qwen Code 会话期间,使用 Shift+Tab(或 Windows 上的 Tab)快速循环切换这五种模式:

Plan 模式 → Ask Permissions 模式 → Auto-Edit 模式 → Auto 模式 → YOLO 模式 → Plan 模式

持久化配置

// 项目级别: ./.qwen/settings.json // 用户级别: ~/.qwen/settings.json { "tools": { "approvalMode": "auto-edit" // 或 "plan", "default", "auto", "yolo" } }

模式使用建议

  1. 刚接触代码库:从 Plan 模式开始进行安全探索
  2. 日常开发任务:使用 Auto-Edit(默认模式),高效且安全
  3. 自动化脚本:在受控环境中使用 YOLO 模式实现全自动化
  4. 复杂重构:首先使用 Plan 模式进行详细规划,然后切换到适当的模式进行执行
Last updated on