S03: Permission Model 权限模型
"Trust but verify" -- 信任但要验证,每个操作都需用户确认。
Security 层: Permissions -- Agent 与用户之间的安全边界。
🎯 问题
Agent 可以执行任意命令,但用户可能不想让 Agent 删除重要文件或执行危险操作。如何平衡便利性与安全性?
💡 解决方案
Claude Code 实现了多层权限控制系统:
+-------------+ +----------------+ +-------------+
| Tool Call | --> | Permission | --> | User Action |
| Request | | Check | | (Allow/Deny)|
+-------------+ +----------------+ +-------------+
|
v
+-------------+
| Risk Level |
| Assessment |
+-------------+
🔑 权限级别
Auto-allow
低风险操作自动允许
Ask
需要用户确认
Deny
高风险操作拒绝
📐 权限模式
type PermissionMode =
| 'default' // 默认:询问高风险操作
| 'acceptEdits' // 自动接受编辑
| 'bypassPermissions' // 跳过所有检查(危险)
| 'dontAsk' // 不再询问
| 'plan' // 规划模式