确认机制:用户决定它能走多远

整个权限系统的最外层是权限模式(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 取代了它们的功能。