审批模式
Qwen Code 提供三种不同的权限模式,允许您根据任务复杂性和风险级别灵活控制 AI 与代码及系统的交互方式。
权限模式对比
| 模式 | 文件编辑 | Shell 命令 | 最适合的场景 | 风险等级 |
|---|---|---|---|---|
| Plan | ❌ 仅只读分析 | ❌ 不执行 | • 代码探索 • 规划复杂变更 • 安全的代码审查 | 最低 |
| Default | ✅ 需要手动批准 | ✅ 需要手动批准 | • 新的/不熟悉的代码库 • 关键系统 • 团队协作 • 学习与教学 | 低 |
| Auto-Edit | ✅ 自动批准 | ❌ 需要手动批准 | • 日常开发任务 • 重构和代码改进 • 安全的自动化 | 中等 |
| YOLO | ✅ 自动批准 | ✅ 自动批准 | • 可信的个人项目 • 自动化脚本/CI/CD • 批量处理任务 | 最高 |
快速参考指南
- 以计划模式开始:在进行更改前理解现状的理想选择
- 在默认模式下工作:大多数开发工作的平衡之选
- 切换到自动编辑模式:当你需要进行大量安全的代码变更时
- 谨慎使用YOLO模式:仅适用于受信任的自动化操作,并且环境可控
在会话期间,你可以通过 Shift+Tab 快速循环切换模式。终端状态栏会显示你当前所处的模式,因此你能始终清楚 Qwen Code 拥有哪些权限。
1. 使用计划模式进行安全的代码分析
计划模式指示 Qwen Code 通过只读操作来分析代码库并制定计划,非常适合用于探索代码库、规划复杂变更或安全地审查代码。
何时使用计划模式
- 多步骤实现:当你的功能需要编辑多个文件时
- 代码探索:当你希望在更改任何内容之前彻底研究代码库时
- 交互式开发:当你希望与 Qwen Code 迭代方向时
如何使用计划模式
在会话期间开启计划模式
你可以使用 Shift+Tab 在会话期间切换权限模式。
如果你当前处于普通模式,Shift+Tab 会首先切换到 auto-edits 模式,此时终端底部会显示 ⏵⏵ accept edits on。再次按下 Shift+Tab 将切换至计划模式,终端底部将显示 ⏸ plan mode。
以计划模式启动新会话
要以计划模式启动新会话,请使用 /approval-mode 命令并选择 plan:
/approval-mode以计划模式运行“无头”查询
你也可以直接使用 -p 或 prompt 参数在计划模式下运行查询:
qwen --prompt "什么是机器学习?"示例:规划复杂重构
/approval-mode plan我需要将我们的认证系统重构为使用 OAuth2。创建一个详细的迁移计划。Qwen Code 分析当前实现并制定全面的计划。通过以下后续问题进行优化:
向后兼容性如何处理?
数据库迁移应如何处理?将计划模式配置为默认模式
// .qwen/settings.json
{
"permissions": {
"defaultMode": "plan"
}
}2. 使用默认模式进行受控交互
默认模式是与 Qwen Code 交互的标准方式。在此模式下,您可以完全控制所有潜在风险操作——Qwen Code 在进行任何文件更改或执行 Shell 命令之前都会请求您的批准。
何时使用默认模式
- 初接触代码库时:当你在探索一个不熟悉的项目并希望格外谨慎时
- 关键系统:当处理生产代码、基础设施或敏感数据时
- 学习与教学:当你希望理解 Qwen Code 执行的每一步时
- 团队协作:当多人共同处理同一代码库时
- 复杂操作:当变更涉及多个文件或复杂逻辑时
如何使用默认模式
在会话期间开启默认模式
你可以通过 Shift+Tab 在会话期间切换权限模式。如果你当前处于其他模式,按下 Shift+Tab 最终会回到默认模式,此时终端底部将不再显示任何模式指示器。
以默认模式启动新会话
默认模式是你启动 Qwen Code 时的初始模式。如果你已更改模式并希望返回默认模式,请使用:
/approval-mode default以默认模式运行“无头”查询
运行无头命令时,默认行为即为默认模式。你也可以显式指定它:
qwen --prompt "分析此代码中潜在的错误"示例:安全地实现一个功能
/approval-mode default我需要在我们的应用中添加用户头像。这些图片应该存储在 S3 存储桶中,并将 URL 保存到数据库。Qwen Code 将分析你的代码库并提出一个计划。然后它会在以下操作之前请求批准:
- 创建新文件(控制器、模型、迁移)
- 修改现有文件(添加新列、更新 API)
- 运行任何 shell 命令(数据库迁移、依赖安装)
你可以逐一审查每个提议的更改,并单独批准或拒绝它们。
将默认模式配置为 default
// .qwen/settings.json
{
"permissions": {
"defaultMode": "default"
}
}3. 自动编辑模式
自动编辑模式指示 Qwen Code 自动批准文件编辑,同时要求手动批准 shell 命令,这非常适合加速开发工作流程的同时保持系统安全性。
何时使用自动接受编辑模式
- 日常开发:适用于大多数编码任务
- 安全自动化:允许 AI 修改代码,同时防止意外执行危险命令
- 团队协作:在共享项目中使用,以避免对他人造成意外影响
如何切换到此模式
# 通过命令切换
/approval-mode auto-edit
# 或使用键盘快捷键
Shift+Tab # 从其他模式切换工作流程示例
- 你要求 Qwen Code 重构一个函数
- AI 分析代码并提出更改建议
- 自动应用所有文件更改,无需确认
- 如果需要运行测试,它将请求批准以执行
npm test
4. YOLO 模式 - 全自动化
YOLO 模式授予 Qwen Code 最高权限,自动批准所有工具调用,包括文件编辑和 shell 命令。
何时使用 YOLO 模式
- 自动化脚本:运行预定义的自动化任务
- CI/CD 流水线:在受控环境中的自动化执行
- 个人项目:在完全受信任的环境中快速迭代
- 批处理:需要多步骤命令链的任务
谨慎使用 YOLO 模式:AI 可以使用你的终端权限执行任何命令。请确保:
- 你信任当前代码库
- 你了解 AI 将要执行的所有操作
- 重要文件已备份或提交到版本控制
如何启用 YOLO 模式
# 临时启用(仅当前会话)
/approval-mode yolo
# 设置为项目默认
/approval-mode yolo --project
# 设置为用户全局默认
/approval-mode yolo --user配置示例
// .qwen/settings.json
{
"permissions": {
"defaultMode": "yolo",
"confirmShellCommands": false,
"confirmFileEdits": false
}
}自动化工作流示例
# 完全自动化的重构任务
qwen --prompt "运行测试套件,修复所有失败的测试,然后提交更改"
# 在没有人工干预的情况下,AI 将:
# 1. 运行测试命令(自动批准)
# 2. 修复失败的测试用例(自动编辑文件)
# 3. 执行 git 提交(自动批准)模式切换与配置
快捷键切换
在 Qwen Code 会话期间,使用 Shift+Tab 快速循环切换三种模式:
默认模式 → 自动编辑模式 → YOLO 模式 → 计划模式 → 默认模式持久化配置
// 项目级别: ./.qwen/settings.json
// 用户级别: ~/.qwen/settings.json
{
"permissions": {
"defaultMode": "auto-edit", // 或 "plan" 或 "yolo"
"confirmShellCommands": true,
"confirmFileEdits": true
}
}模式使用建议
- 初学者:从 计划模式(Plan Mode) 开始,安全地探索代码库
- 日常开发任务:使用 自动接受编辑(Auto-Accept Edits)(默认模式),高效且安全
- 自动化脚本:在受控环境中使用 YOLO 模式(YOLO Mode) 实现完全自动化
- 复杂重构:首先使用 计划模式(Plan Mode) 进行详细规划,然后切换到合适的模式执行操作