> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openkova.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 模式总览

> 一个应用里五个常被叫作「模式」的东西：会话模式、权限档位、工作模式、自动化权限档，以及那些其实不是模式的。

扣瓦应用里有五个常被叫作「模式」的东西。它们互不相干，混为一谈
是关于扣瓦最常见的误解——这一页把它们彻底分开。

## 一、会话模式（能不能改）

| | |
| - | - |
| 值 | `agent` / `plan` / `ask` / `goal` |
| 管什么 | 工具表、系统提示词的模式段、能不能写 |
| 模型可见 | **是**——模式段进系统提示词，模型知道自己在哪一档 |
| 生效 | 立即，含运行中（热换提示词与工具表） |

* `agent`：完整工具集
* `plan`：结构性只读，靠 `plan_write` 写计划、`plan_exit` 拿批准后回 agent 实施
  （模型自己也能 `plan_enter`）
* `ask`：纯只读子集（无 bash），需要动代码时用出口工具 `ask_needs_work` 提议切档
* `goal`：完整工具集 + 跨轮自治，详见[目标模式](/features/goal-mode)

## 二、权限档位（问不问）

| | |
| - | - |
| 值 | 变更前确认 / 工作区内自动 / 自动编辑 / 完全访问 |
| 管什么 | **逐工具审批**：改动前是否弹卡等你点 |
| 模型可见 | **否**——它不进系统提示词，纯粹是执行前的门控。<br />**模型不知道自己正被问** |
| 生效 | 立即（下一条工具调用） |

| 档位 | write / edit | bash | 配置类工具 |
| - | - | - | - |
| 变更前确认 | 确认 | 确认 | 确认 |
| 工作区内自动 | 工作区内 + 可写根清单内免确认 | 确认（可「允许并记住这类命令」，记的是命令词**前缀规则**，如 `pnpm add *`） | 确认 |
| 自动编辑 | 全免（含工作区外） | 确认 | 确认 |
| 完全访问 | 全免 | 全免 | 全免 |

解释器类与破坏性命令（`node` / `bash` / `npx` / `pnpm dlx` / `sudo` / `rm` / `cp` /
`find` 这些）不提供「记住」——它们的规则第一词之后就是"要执行的代码"或"任意路径"，
一次点击等于永久免问。卡上会直接说明只能这一次放行。

细则（三个按钮、前缀规则与守卫、可写根清单）见 [Agent 引擎](/features/agent-engine)。

<Note>
  `Shift+Tab` 在四个权限档位间循环。这两个维度是分开的：
  会话模式决定**能不能改**，权限档位决定**要不要问**。
</Note>

## 三、工作模式（面向谁）

| | |
| - | - |
| 值 | 编码 `code` / 工作 `work` / 设计 `design` |
| 管什么 | 人群定位：提示词附加段、git 界面显隐、设计稿优先 |
| 模型可见 | **是**（`appModePromptBlock`） |
| 生效 | 立即 |

与「会话模式」正交：那个切权限与形态，这个切人群定位。
设计档有前置门禁——ui-design 插件未装或禁用时先引导安装。

## 四、自动化权限档（无人值守专用）

| | |
| - | - |
| 值 | 只读 / 可写工作区 / 全放开 |
| 管什么 | 定时任务在**没人可问**时，对「需要审批的工具」怎么即时裁决 |
| 模型可见 | 否（只体现在被拒时的理由文案里） |

<Warning>
  与「权限档位」**同名，判定口径已对齐**：

  * 「工作区内自动」（权限档位）**按路径判**：能判断目标文件在不在工作区/清单里，
    判不了就弹确认；
  * 「可写工作区」（自动化档）**同样按路径判**：`write` / `edit` 只在工作区内或
    本机可写根清单内放行，越界即时拒绝；`bash` 与 MCP 拒绝，配置类工具也拒绝。
    差别只在——没人可问，所以"要问的"变成"直接拒绝"。

  两者外观还是同一套胶囊（自动化编辑器特意复用了 ModePicker 的形态），
  所以看名字几乎必错。自动化默认档也从 `workspace-write` 收紧为 `read-only`
  ——无人值守的安全默认。

  > 历史上这一档是"按工具类别一刀切"（`write` / `edit` 一律放行、不看路径），
  > 于是档位名承诺的边界并不存在：无人值守能把文件写到工作区外。需要"写得到处都行"
  > 就选 `full`，别让中间档名不副实。
</Warning>

## 五、常被误当成「模式」的几样东西

| 名字 | 其实是什么 |
| - | - |
| 计划状态（planning） | `plan` 档的副产物，不是独立旋钮 |
| 思考档位（thinking level） | 模型的推理强度，调参，不是权限也不是形态 |
| 审批卡里的「批准 / 拒绝」 | 一次性的结果，不是档位 |
| `plan_enter` / `plan_exit` | **模型**申请切档的工具；`plan_exit` 的确认是模式级 HITL |
| 目标模式的轮次上限 | 一条目标的字段，不是模式 |

## 六、存哪

| 东西 | 存哪 |
| - | - |
| 会话模式 | `sessions.mode` 列（会话级）+ 全局「最近一次使用」兜底 |
| 权限档位 | `sessions.approval_level` 列 + 同上 |
| 工作模式 | `sessions.app_mode` 列 + 全局默认；从未切过的会话跟随全局 |
| 自动化档 | 任务自己的 `toolPolicyProfile` 字段 |

<Card title="下一步" icon="arrow-right" href="/features/automation">
  无人值守的时候，这套权限怎么裁。
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.