---
title: 执行模式与权限
description: 了解不同的执行模式及其适用场景
---

---

Verdent for VS Code 提供多种执行模式，用于控制 AI 如何与你的文件交互以及执行命令。每种模式在控制力、速度和安全性之间提供不同的权衡。

### 你将学到

- 每种执行模式的工作方式及适用场景
- 权限模型与安全考量
- 模式对比与切换策略
- 用于复杂推理任务的 Think Hard Mode

### 可用的关键模式

<CardGroup cols={2}>
  <Card title="Manual Accept Mode" icon="hand">
    默认模式，对每个受保护操作都发出权限请求。提供最大的控制力与监督。
  </Card>
  <Card title="Auto-Run Mode" icon="play">
    自动执行文件操作，命令则需要权限。在速度与安全之间取得平衡。
  </Card>
  <Card title="Skip Permission Mode" icon="forward">
    为隔离环境提供完全自主。对任何操作都不弹出权限提示。
  </Card>
  <Card title="Plan Mode" icon="clipboard-list">
    只读规划模式。在执行开始前审查完整计划。
  </Card>
</CardGroup>

---

## 执行模式

<Tabs>
  <Tab title="Manual Accept Mode">
    Manual Accept Mode 是默认的执行模式，为文件修改和命令执行提供控制。

    **自动操作：**
    - 文件读取与代码分析
    - 目录浏览

    **需要权限：**
    - 文件编辑（创建、修改、删除）
    - 命令执行（终端命令、测试、构建）

    当 Verdent 需要执行受保护操作时，它会显示想要采取的操作以及涉及的文件/命令。你可以对每个操作选择 **Accept** 或 **Reject**。

    **重要：** 每次权限仅针对该特定操作。Manual Accept Mode 在整个会话中对每个受保护操作都需要批准。

    #### 何时使用

    - 学习 Verdent 的能力与工作流模式
    - 在不熟悉的代码库中工作，需要谨慎监督
    - 对生产代码或安全敏感区域进行关键更改
    - 需要明确批准记录的合规要求

    #### 激活

    Manual Accept Mode 默认处于激活状态。要切换回来：

    <Steps>
      <Step title="打开权限菜单">
        点击输入框中的 "Switch Permission" 按钮
      </Step>
      <Step title="选择 Manual Accept Mode">
        从下拉菜单中选择 "Manual Accept Mode"
      </Step>
      <Step title="确认激活">
        按钮显示 "Manual" 以确认该模式已激活
      </Step>
    </Steps>

    #### 安全考量

    **优点：**
    - 每种工具类型（文件编辑、命令、工具）首次使用时需批准
    - 在授权前拥有完整可见性
    - 最大的控制力与透明度

    **限制：**
    - 某类工具首次批准后，后续使用将不再提示
    - 批准是按工具类型而非按操作进行
    - 处理关键代码时，开启新会话以重置工具批准
  </Tab>

  <Tab title="Auto-Run Mode">
    Auto-Run Mode 自动批准文件操作，但命令仍需权限。这减少了常规文件工作的权限提示，同时为风险操作保留安全保障。

    **自动：**
    - 工作区内的文件读取、编辑、创建、删除
    - 工作区内文件的移动、重命名、整理
    - 文件搜索与导航操作

    **需要权限：**
    - **任何涉及当前工作区之外路径的命令**
    - **危险的 bash 命令：** `rm -rf`、`git commit`、`git push` 等
    - 命令执行（终端、脚本、构建）
    - 软件包安装与系统修改

    #### 何时使用

    | 适合 Auto-Run | 不适合 |
    |------------------|---------------|
    | 有版本控制的受信任代码库 | 不熟悉的代码库 |
    | 快速原型设计与实验 | 关键生产代码 |
    | 多文件重构（15+ 文件 = 节省 15 次提示） | 没有版本控制的安全网 |
    | 减少打断的专注开发 | 合规要求 |

    #### 激活

    <Steps>
      <Step title="打开权限菜单">
        点击显示当前模式的 "Switch Permission" 按钮
      </Step>
      <Step title="选择 Auto-Run Mode">
        从下拉菜单中选择 "Auto-Run Mode"
      </Step>
      <Step title="确认激活">
        按钮显示 "Auto" 以确认该模式已激活
      </Step>
    </Steps>

    跨会话与 VS Code 重启持久保留。全局应用于所有工作区。

    #### 示例工作流

    **构建 POST /api/tasks 端点：**

    1. 激活 Auto-Run Mode
    2. 提交："创建 POST /api/tasks 端点，验证分类存在并保存到数据库"
    3. Verdent 读取 5+ 个文件，自动修改 3 个文件（无提示）
    4. 在 Source Control 面板中审查更改
    5. 请求测试："运行 tasks API 的测试"
    6. `npm test` 命令的权限提示 - 选择 Accept
    7. 添加验证："为空标题添加验证"
    8. Verdent 自动编辑（无提示）
    9. 再次请求测试 - 权限提示 - 选择 Accept
    10. 审查差异，提交更改

    **结果：** 3 次命令提示，0 次文件提示。Manual Accept 则会额外需要 4 次文件提示。

    #### 安全考量

    **优点：**
    - 更改立即在 VS Code 中可见
    - 限定在工作区范围内（无法影响系统文件）
    - Git 提供回滚保障

    **风险：**
    - 缺乏对文件操作的监督
    - 意外的范围扩大（"将 User 重命名为 Account" 可能修改数十个文件）
    - 清理过程中可能删除文件
    - 如被提示可能会修改敏感文件

    **缓解措施：**
    - 使用清晰、具体的提示词
    - 完成后审查 Source Control 面板
    - 频繁提交以建立干净的检查点
    - 对复杂操作先使用 Plan Mode
    - 配置 .gitignore 以保护敏感文件
  </Tab>

  <Tab title="Skip Permission Mode">
    Skip Permission Mode 绕过所有权限提示，允许完全自主。**仅在隔离的、可丢弃的环境中使用。**

    **所有操作自动执行：**
    - 文件操作
    - 命令执行
    - 软件包安装
    - 系统级操作

    <Warning>
    此模式移除所有安全护栏。仅在完全隔离、可丢弃且错误不会造成任何后果的环境中使用。切勿在生产环境或任何你在意的代码库中使用。
    </Warning>

    #### 何时使用

    | 适合 Skip Permission | 切勿用于 |
    |------------------------|---------------|
    | 隔离容器中的自动化 CI/CD 流水线 | 生产环境 |
    | 一次性开发容器（实验后删除） | 含有重要代码的开发环境 |
    | 无生产连接的沙盒环境 | 任何你在意的代码库 |
    | 人工批准会失去意义的脚本化工作流 | 共享仓库 |
    | | 含有敏感数据的环境 |

    #### 激活

    <Steps>
      <Step title="打开权限菜单">
        点击 "Switch Permission" 按钮
      </Step>
      <Step title="选择 Skip Permission Mode">
        从下拉菜单中选择 "Skip Permission Mode"
      </Step>
      <Step title="确认激活">
        按钮显示 "Skip" 以确认该模式已激活
      </Step>
    </Steps>

    **激活前的安全检查：**
    - 这是一次性容器或虚拟机吗？
    - 此环境是否可以被删除而无后果？
    - 这里是否存在任何生产或重要代码？

    如果前两项为"否"或第三项为"是"，请勿激活。

    #### 安全警告

    **所有安全护栏被移除：**
    - 命令以系统权限立即执行
    - 文件可能被修改或删除而无警告
    - 数据库操作、Git 操作（包括强制推送）无需批准即可执行
    - 可能安装恶意软件包或暴露凭据

    **仅在以下情况下安全：**
    - 环境完全可丢弃
    - 不存在重要代码或数据
    - 与生产系统没有连接
    - 你接受任何东西都可能被销毁
  </Tab>
</Tabs>

---

## Plan Mode

Plan Mode 是一种只读交互模式，Verdent 在其中分析代码、创建详细计划并提出澄清问题，但在你批准之前无法修改文件或执行命令。

#### 工作方式

1. **分析** - 自动读取文件
2. **规划** - 创建带待办列表的结构化计划
3. **澄清** - 提出问题以消除不确定性
4. **批准** - 你审查并决定是否继续
5. **执行** - 切换到你的权限模式以执行

计划会显示要修改的文件、实现步骤、依赖关系和验证策略。

#### 何时使用

- 复杂的多文件更改（在投入前理解范围）
- 不熟悉的代码库（安全探索而无风险）
- 架构决策（在实现前审查方案）
- 避免 Manual Accept 疲劳（一次审查 vs 50 次单独提示）
- 高风险的生产更改（执行前拥有完整可见性）

#### 激活

<Steps>
  <Step title="打开模式菜单">
    点击输入框中的 "Switch Mode" 按钮
  </Step>
  <Step title="选择 Plan Mode">
    从下拉菜单中选择 "Plan Mode"
  </Step>
  <Step title="确认激活">
    模式指示器变为 "Plan" 以确认该模式已激活
  </Step>
</Steps>

激活后，Verdent 会分析并创建计划，但在你批准之前不会修改文件或执行命令。批准后，切换到你的默认权限模式（Manual Accept 或 Auto-Run）。

#### 安全考量

**优点：**
- 规划期间零执行风险
- 投入前拥有完整可见性
- 交互式澄清消除不确定性
- 对生产环境分析安全

**限制：**
- 批准并不保证正确性（计划可能存在逻辑错误）
- 执行安全取决于批准后选择的权限模式
- 计划质量取决于提示词的清晰度

**最佳实践：**
- 审查计划中的逻辑错误或误解
- 如有不清楚之处提出追问
- 在批准执行前优化提示词
- 考虑将由哪种权限模式执行（Manual Accept 用于监督，Auto-Run 用于速度）

---

## Think Hard Mode

Think Hard Mode 为复杂推理任务分配最大计算资源。模型会探索多种方案并提供更彻底的解决方案。

**特点：**
- 延长的推理时间
- 对多种解决方案更深入的分析
- 更好地处理复杂逻辑、边界情况和架构决策
- 每次请求消耗更高的积分

#### 何时使用

| 适合 Think Hard Mode | 不适合 |
|-------------------------|---------------|
| 涉及多种权衡的复杂架构决策 | 简单直接的任务 |
| 有多种潜在原因的复杂调试 | 时间敏感的请求 |
| 需要优化分析的算法设计 | 积分预算有限 |
| 正确性至关重要的关键业务逻辑 | 标准模式已足够时 |
| 复杂瓶颈的性能优化 | |

#### 激活

<Tabs>
  <Tab title="Think Hard 按钮">
    使用 UI 按钮进行单次请求激活：

    <Steps>
      <Step title="启用 Think Hard">
        点击输入框中的 "Think Hard" 按钮/开关
      </Step>
      <Step title="提交你的提示词">
        输入并提交你的请求
      </Step>
      <Step title="仅限单次请求">
        仅应用于该特定请求 - 不持久保留
      </Step>
    </Steps>

    适用于所有 AI 提供商。不持久保留 - 需要深度推理的请求每次都必须激活。
  </Tab>

  <Tab title="自然语言（Claude）">
    在你的提示词中包含思考关键词：

    ```
    Think: Design the optimal database schema for this multi-tenant SaaS application
    ```

    或用于最大化推理：

    ```
    Ultrathink: Analyze the trade-offs between different authentication approaches
    ```

    <Note>
    "Think" 和 "ultrathink" 是 Claude 模型特有的能力。这些关键词会在 Claude 模型（Sonnet、Opus）中激活更深入的推理，但可能不适用于其他 AI 提供商（GPT-5、MiniMax）。
    </Note>

    仅限单次请求激活 - 不像 Manual Accept 或 Auto-Run 那样持久保留。
  </Tab>
</Tabs>

---

## 模式对比

| 模式 | 控制力 | 速度 | 最适合 | 避免使用场景 |
|------|---------|-------|----------|------------|
| **Manual Accept** | 最大 | 最慢 | 学习、不熟悉的代码、关键更改 | 受信任的项目、快速迭代 |
| **Auto-Run** | 适中 | 快 | 受信任的代码库、原型设计、多文件工作 | 不熟悉的代码、无版本控制 |
| **Skip Permission** | 无 | 最快 | CI/CD、一次性容器、沙盒 | 生产、重要代码 |
| **Plan Mode** | 先审查 | 不适用 | 复杂更改、架构决策 | 简单任务 |
| **Think Hard** | 按请求 | 较慢 | 复杂推理、算法、关键逻辑 | 简单任务、时间敏感 |

### 各模式的使用场景

| 场景 | Manual Accept | Auto-Run | Skip Permission | Plan Mode |
|----------|:-------------:|:--------:|:---------------:|:---------:|
| 学习 Verdent | ✓ | | | |
| 不熟悉的代码库 | ✓ | | | ✓ |
| 有 Git 的受信任代码库 | | ✓ | | |
| 关键/生产代码 | ✓ | | | ✓ |
| 快速原型设计 | | ✓ | | |
| 多文件重构 | | ✓ | | |
| 复杂架构规划 | | | | ✓ |
| CI/CD 流水线（隔离） | | | ✓ | |
| 一次性容器 | | | ✓ | |
| 合规要求 | ✓ | | | |

---

## 安全最佳实践

<Accordion title="安全层级（从最安全到最不安全）">
  理解每种模式的安全排名有助于你为不同风险级别做出适当选择。

  1. **Plan Mode** - 在批准前为只读。规划期间零执行风险。
  2. **Manual Accept Mode** - 按操作控制，每种工具类型首次使用需批准。
  3. **Auto-Run Mode** - 文件自主，命令需批准。需要 Git 安全网。
  4. **Skip Permission Mode** - 完全自主。仅限隔离环境。

  根据风险级别匹配你的模式：关键代码使用最安全的模式（Plan、Manual Accept），受信任的代码使用更快的模式（Auto-Run），一次性环境使用最快的模式（Skip Permission）。
</Accordion>

<Accordion title="通用最佳实践">
  无论你使用哪种执行模式，都适用的基本实践。

  **适用于所有模式：**

  1. **使用版本控制** - 在使用宽松模式前初始化 Git，频繁提交，提交前审查差异
  2. **编写清晰的提示词** - 明确范围，显式指定文件边界，使用 @-提及提供上下文
  3. **提交前审查** - 完成后检查 Source Control 面板，仔细审查所有差异，测试更改
  4. **开启全新会话** - 在重大任务之间清除上下文，为敏感工作重置工具批准，避免上下文污染
  5. **将模式匹配风险** - 关键代码 → Manual Accept 或 Plan Mode，受信任代码 → Auto-Run，实验 → 带 Git 的 Auto-Run，一次性环境 → 仅 Skip Permission

  **安全提醒：**
  - 切勿提交敏感文件（.env、凭据）
  - 在使用 Auto-Run 前配置 .gitignore
  - 仔细审查命令权限
  - 对影响安全的更改使用 Plan Mode
  - 全新会话会重置 Manual Accept 中的工具批准
</Accordion>

<Accordion title="渐进式权限模型">
  理解 Verdent 权限系统的工作方式有助于你高效使用它。

  **工作方式：**
  1. **首次使用** - 当你首次使用每种工具类型（文件编辑、命令执行、工具使用）时，系统会请求权限
  2. **后续使用** - 初次批准后，该工具类型在本次会话剩余时间内将不再提示
  3. **新会话** - 开启新会话会重置所有批准，让你重新开始

  **关键原则：** 此模型在安全与生产力之间取得平衡。你只需审查并批准工具类型一次，然后在该批准上下文中高效工作。对于敏感工作，开启新会话以重置批准。

  **重置批准的方法：** 开启新会话
</Accordion>

---

## 另请参阅

<CardGroup cols={2}>
  <Card title="资源管理" href="/docs/verdent-for-vscode/resource-management/monitoring" icon="chart-line">
    监控 token 用量、积分和性能
  </Card>
  <Card title="最佳实践：上下文" href="/docs/verdent-for-vscode/best-practices/context" icon="layer-group">
    跨模式管理上下文窗口
  </Card>
</CardGroup>
