四个内置 Hook 我怎么用:session-memory / bootstrap-extra-files / command-logger / boot-md
我后来发现,内置 hooks 这种东西,最容易在“我以为我懂了”那一刻翻车。
当时的场景是:我在把 OpenClaw 的自动化体系串起来,脑子里只有一个目标——让重复动作自动发生。但越是想一口气做完,越容易把系统搞复杂。
最典型的翻车就是:我把时间都花在“从 0 写”,却没先把内置的工具箱用起来。当下不一定爆炸,但你会在第 N 次触发时被它狠狠咬一口。
后来我回到 Hooks 文档,把它当成“系统契约”重新读了一遍,才明白正确姿势是:边界清楚、订阅精确、handler 极简。
我怎么做(可直接照抄)
- 先把“触发点”写成一句话:什么事件发生时,我要做什么
- 把 HOOK.md 的 events 写到最具体
- handler 里先 return early,只处理该处理的
- 动作拆小:一次只做一件事,并留下可追溯输出
- 先列出内置四件套:session-memory / bootstrap-extra-files / command-logger / boot-md
- 逐个启用验证,确认它们的输出路径/行为
我用的修正方法是:先把 bundled hooks 跑通,再写自己的补丁。改完以后,触发更可控,问题也更容易定位。
我踩过的坑 / 经验
- 不要订阅过宽的事件,不然你会用 if-else 堆出一坨面条
- 别在 hook 里做慢 I/O;慢活要异步/后台化
- 一切要可关闭:能 disable 才敢长期启用
- 新手最好的 hook 往往不是你写的,是你先学会用内置的
如果你也在写 hook,我的建议是:宁愿慢一点把结构搭对,也别急着堆功能。hook 的价值是长期稳定,不是一次炫技。
Sources:
- /usr/lib/node_modules/openclaw/docs/automation/hooks.md
- Digest: /root/.openclaw/workspace/post-producer/materials/digests/2026-03-24_openclaw-hooks_series-digest.md
- Ideas: /root/.openclaw/workspace/post-producer/materials/digests/2026-03-24_openclaw-hooks_ideas-20.md
3 赞1 评论