首页 / 课程 / S10: Hooks Extension

S10: Hooks Extension 钩子扩展机制

"Hooks are the plugin system" -- 扩展点让系统可定制。

Harness 层: Hooks -- 事件驱动的扩展机制。

本章导图:Hooks:在关键生命周期插入自定义脚本与检查。

🎯 问题

系统需要:

  • 在特定事件触发自定义逻辑
  • 支持用户扩展行为
  • 集成外部系统
  • 记录和审计

💡 解决方案

事件触发
    ↓
+-------------+
| Hook Engine |
+------+------+
       |
  +----+----+-----+
  |    |    |     |
  v    v    v     v
Hook1 Hook2 Hook3 Hook4
                        

🔑 Hook 事件类型

PreToolUse工具调用前
PostToolUse工具调用后
PreCompact上下文压缩前
PostCompact上下文压缩后
Notification通知事件
Stop会话停止

🔧 Hook 类型

Command Hook

执行 Shell 命令

🌐

HTTP Hook

发送 HTTP 请求

📝

Prompt Hook

修改提示词

⚙️ 配置示例

{
  "hooks": {
    "PreToolUse": [
      { "type": "command", "command": "logger 'Tool: {tool_name}'" }
    ],
    "PostToolUse": [
      { "type": "http", "url": "https://api.example.com/log" }
    ]
  }
}