• 简体中文
  • v6.6.0
  • 生命周期钩子

    钩子让你在 Agent 活动发生时进行观测和把控。你针对某个生命周期事件注册一个具名回调, 运行时会在该节点调用它,回调返回一个决策,例如 { action: "continue" }。钩子可用于 审计、脱敏、日志记录,或在不修改 Agent 提示词的前提下实施策略。

    其生命周期是对称的:registerHook 按名称添加回调,hookCount 告诉你当前有多少个钩子 处于活动状态,unregisterHook 则按名称移除某个钩子。

    Rust
    Node.js
    Python
    Go

    注意事项:

    • 钩子回调返回一个决策。返回 { action: "continue" }(Node)/ {"action": "continue"}(Python)/ &code.HookResponse{Action: "continue"}(Go)即可让 Agent 继续执行。
    • 匹配器({ pathPattern: '**/.env*' })将钩子限定到路径匹配该模式的事件,而 { priority: 100 } 用于对同一事件上的多个钩子排序(数值越小越先执行)。
    • Node 钩子回调不得抛出异常——未捕获的抛出可能会终止进程。请让处理逻辑保持完备, 并始终返回一个决策。
    • hookCount / hook_count / HookCount 反映当前已注册钩子的数量,在测试中可方便地断言注册与 清理是否生效。
    • unregisterHook / unregister_hook / UnregisterHook 接收你注册时使用的名称。请始终拆除不再需要的 钩子,以免它们在多次运行之间泄漏。
    • 把钩子当作生产关卡前,请先验证你所依赖的具体 event path。