确认机制:用户决定它能走多远
整个权限系统的最外层是权限模式(Permission Mode)——相当于一个总开关,控制 Claude 整体的行为风格。
用户可以通过 Shift+Tab 在几个模式之间循环切换,状态栏会显示当前模式。
// src/utils/permissions/PermissionMode.ts
const PERMISSION_MODE_CONFIG = {
default: {
title: 'Default',
symbol: '', // 无特殊标记
color: 'text',
},
acceptEdits: {
title: 'Accept edits',
symbol: '⏵⏵', // 快进符号,表示自动通过
color: 'autoAccept',
},
plan: {
title: 'Plan Mode',
symbol: PAUSE_ICON, // 暂停符号,表示先看再决定
color: 'planMode',
},
bypassPermissions: {
title: 'Bypass Permissions',
symbol: '⏵⏵',
color: 'error', // 红色警告
},
}
五种模式的产品含义:
| 模式 | 用户体验 | 适用场景 |
|---|---|---|
| default(默认) | 每个有风险的操作都弹出确认框 | 日常使用,不确定时 |
| acceptEdits(接受编辑) | 文件修改自动通过,终端命令仍需确认 | 相信 Claude 的代码改动,但不放心命令执行 |
| plan(计划模式) | Claude 先列出完整计划,用户一次性审批后自动执行 | 复杂任务,想先看全貌再决定 |
| bypassPermissions(绕过权限) | 完全不询问,自动执行一切 | 自动化脚本、CI 环境,或非常信任 Claude 时 |
| auto(自动模式,内部实验) | 由 AI 分类器自动判断每个操作是否安全 | Anthropic 内部测试,见第五节:Auto Mode AI 分类器 |
模式循环顺序:
外部用户:default → acceptEdits → plan → bypassPermissions → default
Ant 员工:default → bypassPermissions → auto → default
Ant 员工跳过了 acceptEdits 和 plan,因为 auto mode 取代了它们的功能。