Skip to content
源码分析手册

第 03 章:钩子与扩展 (Hooks & Extensions)

如果 Claude Code 是一台固定的机器,那么它的“钩子系统 (Hook System)”就是其开放的扩展插槽。本章将揭秘 Claude Code 是如何实现高度解耦的事件驱动架构的。从用户提交 Prompt 的那一刻,到工具执行前后的拦截,钩子无处不在。

本章解答的核心问题是:如何让一个复杂的 Agent 框架具备可观测性与可扩展性? 我们会研究 Claude Code 内部的“中枢神经系统”,看它如何监听工作目录的变化、如何劫持权限请求、以及如何在工具执行的间隙注入自定义逻辑。

推荐阅读顺序

  1. 首先精读 hook-system-architecture.md,理解事件总线与订阅分发机制。
  2. 关注 pre-tool-use.mdpost-tool-use.md,这对于理解 Agent 的可观测性至关重要。
  3. 通过 cwd-changed-file-changed.mdworktree-create-remove.md 观察文件系统事件如何反馈给 Agent。

读后心智模型: 读完本章,你会明白 Claude Code 内部其实是由一系列互相独立的组件构成的,这些组件通过“钩子”进行松耦合通信。这种架构设计对于我们构建自己的 Agent 系统非常有启发意义。


本章文章

基于 Claude Code v2.1.88 开源快照的深度分析