三种权限行为
每一次工具调用,系统都会做出三种裁决之一:| 行为 | 含义 | 典型场景 |
|---|---|---|
| Allow | 自动放行,用户无感知 | Read 工具读取项目内的文件 |
| Ask | 弹出确认对话框,等待用户决定 | Bash 执行一条未知命令 |
| Deny | 直接拒绝,AI 收到”权限被拒”的反馈 | 尝试执行被禁止的命令 |
权限规则的层级
规则可以来自多个来源,优先级从高到低:规则的匹配方式
权限规则不是简单的”允许/禁止某个工具”,它支持丰富的匹配条件:- 工具名匹配:
"tool": "Bash"→ 针对所有 Bash 命令 - 命令模式匹配:
"command": "git *"→ 只针对 git 开头的命令 - 路径匹配:
"path": "src/**"→ 只允许操作 src 目录下的文件 - 组合条件:以上条件可以组合使用
权限模式
系统提供几种预设的权限模式,适应不同信任级别:| 模式 | 适用场景 |
|---|---|
| Default | 日常使用,敏感操作逐一确认 |
| Plan Mode | 探索阶段,AI 只能读不能写 |
| Bypass | 完全信任 AI,所有操作自动放行(需显式开启) |
Denial Tracking
系统不仅记录”允许了什么”,还追踪”拒绝了什么”:- 如果 AI 被连续拒绝多次同一类操作,系统会调整策略
- 这防止 AI 陷入”反复请求同一个被拒操作”的死循环