OpenClaw学习总结_III_自动化系统_1:Hooks详解
本文介绍OpenClaw自动化系统中的Hooks机制。Hooks是Agent Loop的扩展插槽,在关键节点插入自定义逻辑,实现信息注入、记忆写入、审计和自动化。涵盖Hooks心智模型、内置类型(session-memory/bootstrap/logger/boot-md)、工作位置及管理方法,并列举常见陷阱。
·
III. 自动化系统 - 1. Hooks
📍 课程位置
阶段:III. 自动化系统
课序:第 1 课
前置知识:I. 核心架构(Agent Loop/Context)
后续课程:III-2. Webhooks
🎯 本课核心问题(你不懂我就这样教你)
你可能会问:
- 我能不能在 Agent 每次运行前/后做一些自定义动作?
- 能不能自动把某些信息写入记忆、写入日志、注入额外提示?
- 我想把 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 从"聊天机器人"变成"自动化系统"的关键。
我的建议:
- 初期不要装太多 hook
- 先用官方默认 hook 跑通
- 出现异常时,优先怀疑 hook 注入/改写
- 任何 hook 都要可回滚
✅ 本课总结(记住 5 句话)
- Hooks 是 Agent Loop 的扩展插槽。
- 通过 Hooks 可以注入信息、写记忆、做审计、做自动化。
- 官方常见 hooks:session-memory / bootstrap / logger / boot-md。
- Hook 叠加会让排障变难,建议逐个启用验证。
- 出现异常先禁用 hook 做隔离定位。
🔗 相关资源
- 官方文档:https://docs.openclaw.ai/automation/hooks
- 下一课:III-2. Webhooks
更多推荐


所有评论(0)