第 4 章合同:权限与 Hooks
章节目标
读者理解 Agent 为什么必须有权限系统,以及 Hooks 如何把核心循环和外部策略解耦。
必须覆盖的源码
restored-src/src/hooks/useCanUseTool.tsrestored-src/src/utils/permissions/restored-src/src/services/tools/toolExecution.tsrestored-src/src/services/tools/toolHooks.tsrestored-src/src/utils/hooks/
必须回答的问题
- 权限检查插入在工具执行前的哪里?
- allow、deny、ask、permission mode 分别解决什么?
- PreToolUse 和 PostToolUse 的价值是什么?
- 非交互模式如何处理权限?
- 自研 Agent 的最小安全边界应该是什么?
必须包含的迁移观点
权限系统不应是工具里的零散 if 判断,而应该是工具执行管线中的独立网关。
验收标准
- 给出权限调用链。
- 给出 Hook 插入点。
- 给出简化版 Permission Gate。