III. 自动化系统 - 1. Hooks

📍 课程位置

阶段:III. 自动化系统
课序:第 1 课
前置知识:I. 核心架构(Agent Loop/Context)
后续课程:III-2. Webhooks


🎯 本课核心问题(你不懂我就这样教你)

你可能会问:

  1. 我能不能在 Agent 每次运行前/后做一些自定义动作?
  2. 能不能自动把某些信息写入记忆、写入日志、注入额外提示?
  3. 我想把 OpenClaw 变成"可编排系统",Hooks 是不是关键?

答案是:对,Hooks 就是 OpenClaw 的"扩展插槽"。

一句话:

Hooks = 在 Agent Loop 的关键节点插入自定义逻辑(插件化扩展),让系统自动做额外工作。


🧠 心智模型:Hooks = 流水线上的"工位加装"

类比:

  • Agent Loop 是一条流水线:消息 → 上下文 → 模型 → 工具 → 输出 → 持久化
  • Hooks 就像你在某个工位加一台机器:
    • 在开始前自动加载某些资料
    • 在结束后自动写入日志
    • 在写入 session 前做裁剪/清洗

✅ 验收标准

  • 知道 Hooks 能做什么、不能做什么
  • 能说清楚 Hook 的触发点(在哪些阶段)
  • 知道官方内置 hooks 有哪些
  • 能列出已安装的 hooks
  • 能启用/禁用某个 hook

🔧 官方常见内置 Hooks(理解用途即可)

不同版本可能略有差异,但核心思想一致:官方提供一些默认 hook 帮你做常见工作。

1) session-memory

  • 用途:把对话中的关键内容写入 memory(长期记忆)

2) bootstrap

  • 用途:在会话开始时注入 bootstrap 文件(例如 SOUL/USER/AGENTS 等)

3) logger

  • 用途:记录运行日志、关键事件

4) boot-md

  • 用途:注入 boot markdown(类似启动说明/约束)

🔍 Hooks 的工作位置(概念)

你可以把 Hook 的触发点理解为:

  • Pre-turn:本次对话开始前(适合注入信息/安全检查)
  • Post-model:模型输出后(适合审计/过滤/改写)
  • Pre-tools / Post-tools:工具执行前后(适合审批/记录)
  • Pre-persist / Post-persist:写入 session 前后(适合裁剪/清洗/写 memory)

🔧 实战:管理 Hooks

查看 hooks

openclaw hooks list

安装某个 hook

openclaw hooks install <hook-name>

禁用/启用(思路)

不同版本可能通过配置或 CLI 控制。

核心原则:

  • hooks 影响行为
  • 需要可控开关
  • 出问题先临时禁用相关 hook 做隔离排查

⚠️ 常见陷阱

陷阱 表现 原因 解决
hook 影响输出 回答风格变怪 hook 注入了额外 prompt 临时禁用/检查注入内容
记忆写入异常 memory 变乱 session-memory 规则太宽 收紧规则/增加过滤
调试困难 不知道谁改了行为 多个 hook 叠加 一次只启用一个逐步排查

📝 学习心得

Hooks 是把 OpenClaw 从"聊天机器人"变成"自动化系统"的关键。

我的建议:

  1. 初期不要装太多 hook
  2. 先用官方默认 hook 跑通
  3. 出现异常时,优先怀疑 hook 注入/改写
  4. 任何 hook 都要可回滚

✅ 本课总结(记住 5 句话)

  1. Hooks 是 Agent Loop 的扩展插槽。
  2. 通过 Hooks 可以注入信息、写记忆、做审计、做自动化。
  3. 官方常见 hooks:session-memory / bootstrap / logger / boot-md。
  4. Hook 叠加会让排障变难,建议逐个启用验证。
  5. 出现异常先禁用 hook 做隔离定位。

🔗 相关资源

  • 官方文档:https://docs.openclaw.ai/automation/hooks
  • 下一课:III-2. Webhooks
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐