审批模式
Qwen Code 提供了三种不同的权限模式,让你可以根据任务复杂度和风险级别,灵活控制 AI 如何与你的代码和系统进行交互。
权限模式对比
| 模式 | 文件编辑 | shell 命令 | 最适合场景 | 风险等级 |
|---|---|---|---|---|
| Plan | ❌ 仅只读分析 | ❌ 不执行 | • 代码探索 • 规划复杂变更 • 安全代码审查 | 最低 |
| Default | ✅ 需要手动审批 | ✅ 需要手动审批 | • 新的/不熟悉的代码库 • 关键系统 • 团队协作 • 学习和教学 | 低 |
| Auto-Edit | ✅ 自动审批 | ❌ 需要手动审批 | • 日常开发任务 • 重构和代码改进 • 安全自动化 | 中等 |
| YOLO | ✅ 自动审批 | ✅ 自动审批 | • 可信的个人项目 • 自动化脚本/CI/CD • 批处理任务 | 最高 |
快速参考指南
- 在计划模式下开始:适合在进行更改之前先理解代码
- 在默认模式下工作:适用于大多数开发工作的平衡选择
- 切换到自动编辑:当你需要进行大量安全的代码更改时
- 谨慎使用 YOLO:仅在受控环境中用于可信的自动化操作
你可以在会话期间使用 Shift+Tab(或 Windows 上的 Tab)快速循环切换模式。终端状态栏会显示你当前的模式,因此你始终知道 Qwen Code 具有哪些权限。
1. 使用计划模式进行安全的代码分析
计划模式指示 Qwen Code 通过使用 只读 操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。
何时使用计划模式
- 多步骤实现:当你的功能需要对多个文件进行编辑时
- 代码探索:当你想在更改任何内容之前彻底研究代码库时
- 交互式开发:当你想与 Qwen Code 迭代开发方向时
如何使用计划模式
在会话期间开启计划模式
你可以在会话期间使用 Shift+Tab(或 Windows 上的 Tab)来循环切换权限模式,从而进入计划模式。
如果你当前处于普通模式,Shift+Tab(或 Windows 上的 Tab)首先会切换到 auto-edits 模式,在终端底部显示 ⏵⏵ accept edits on。再次按 Shift+Tab(或 Windows 上的 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(或 Windows 上的 Tab)来循环切换权限模式,从而进入默认模式。如果你处于任何其他模式下,按下 Shift+Tab(或 Windows 上的 Tab)最终会循环回到默认模式,此时终端底部不会显示任何模式指示器。
以默认模式开始新会话
当你启动 Qwen Code 时,默认模式是初始模式。如果你更改了模式并想返回到默认模式,请使用:
/approval-mode default在默认模式下运行“无头”查询
当运行无头命令时,默认模式是默认行为。你可以通过以下方式显式指定它:
qwen --prompt "分析此代码中可能存在的 bug"示例:安全地实现功能
/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(或 Windows 上的 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 commit(自动批准)
## 模式切换和配置
### 键盘快捷键切换
在 Qwen Code 会话期间,使用 **Shift+Tab**(或 Windows 上的 **Tab**)快速循环切换三种模式:
默认模式 → 自动编辑模式 → YOLO 模式 → 计划模式 → 默认模式
### 持久化配置
// 项目级别:./.qwen/settings.json // 用户级别:~/.qwen/settings.json { “permissions”: { “defaultMode”: “auto-edit”, // 或 “plan” 或 “yolo” “confirmShellCommands”: true, “confirmFileEdits”: true } }
### 模式使用建议
1. **刚接触代码库**:从 **Plan Mode** 开始,安全探索
2. **日常开发任务**:使用 **Auto-Accept Edits**(默认模式),高效且安全
3. **自动化脚本**:在受控环境中使用 **YOLO Mode** 实现完全自动化
4. **复杂重构**:先使用 **Plan Mode** 进行详细规划,然后切换到适当的模式执行