审批模式
审批模式用于控制 Carry Code 的操作权限,让你可以精细地控制 AI 能做什么。
什么是审批模式?
Section titled “什么是审批模式?”审批模式定义了 AI 在执行操作时需要获得什么样的授权:
- 🔒 安全优先 — 只允许安全的读取操作
- ⚖️ 平衡模式 — 允许大多数操作,但需要确认
- 🚀 完全开放 — 允许所有操作,无需确认
三种审批模式
Section titled “三种审批模式”1. read-only(只读模式)
Section titled “1. read-only(只读模式)”AI 只能读取文件,不能修改或执行任何内容。
| 操作 | 允许 |
|---|---|
| 读取文件 | ✅ |
| 搜索文件 | ✅ |
| 执行命令 | ❌ |
| 写入文件 | ❌ |
| 删除文件 | ❌ |
适用场景:
- 学习代码
- 代码审查
- 问题分析
2. agent(代理模式,默认)
Section titled “2. agent(代理模式,默认)”AI 可以执行大多数操作,但需要用户确认。
| 操作 | 允许 | 需要确认 |
|---|---|---|
| 读取文件 | ✅ | - |
| 搜索文件 | ✅ | - |
| 写入文件 | ✅ | ✅ |
| 执行命令 | ✅ | ✅ |
| 删除文件 | ✅ | ✅ |
适用场景:
- 日常编程
- 代码修改
- 任务执行
3. agent-full(完全模式)
Section titled “3. agent-full(完全模式)”AI 可以执行所有操作,无需确认。
| 操作 | 允许 |
|---|---|
| 读取文件 | ✅ |
| 搜索文件 | ✅ |
| 写入文件 | ✅ |
| 执行命令 | ✅ |
| 删除文件 | ✅ |
适用场景:
- 自动化脚本
- 信任的 AI 操作
- 批量处理
切换审批模式
Section titled “切换审批模式”/approval然后选择你想要的模式。
/approval read-only/approval agent/approval agent-full模式与双模式配合
Section titled “模式与双模式配合”审批模式可以与 Build/Plan 模式配合使用:
| 审批模式 | Build 模式 | Plan 模式 |
|---|---|---|
read-only | ❌ 受限 | ✅ 只读 |
agent | ✅ 可执行 | ✅ 只读 |
agent-full | ✅ 完全开放 | ✅ 只读 |
需要确认的操作
Section titled “需要确认的操作”当使用 agent 模式时,以下操作需要确认:
- 写入文件 — 创建或修改文件
- 执行命令 — 运行 Shell 命令
- 删除文件 — 删除文件或目录
当 AI 请求执行操作时,会显示:
⚠️ 确认请求操作: 执行命令命令: npm install是否允许? [y/n]| 场景 | 推荐模式 |
|---|---|
| 学习代码 | read-only |
| 日常开发 | agent |
| 自动化任务 | agent-full |
安全最佳实践
Section titled “安全最佳实践”- 陌生项目 → 使用
read-only - 日常使用 → 使用
agent - 信任 AI → 使用
agent-full
设置默认审批模式
Section titled “设置默认审批模式”在 ~/.carry/carrycode.json 中配置:
{ "approval": { "mode": "agent", "confirmWrite": true, "confirmDelete": true, "confirmCommand": true }}| 参数 | 说明 | 默认值 |
|---|---|---|
mode | 审批模式 | agent |
confirmWrite | 写入时确认 | true |
confirmDelete | 删除时确认 | true |
confirmCommand | 执行命令时确认 | true |
Q:什么是默认的审批模式?
Section titled “Q:什么是默认的审批模式?”默认是 agent 模式,需要确认才能执行敏感操作。
Q:可以用快捷键切换模式吗?
Section titled “Q:可以用快捷键切换模式吗?”可以使用 /approval <模式名> 快速切换。
Q:审批模式会影响 AI 的能力吗?
Section titled “Q:审批模式会影响 AI 的能力吗?”不会影响 AI 的分析和建议能力,只影响执行操作。
Q:确认时有哪些选项?
Section titled “Q:确认时有哪些选项?”| 选项 | 作用 |
|---|---|
y | 允许执行 |
n | 拒绝执行 |
a | 记住选择,之后不再询问 |