如果你想把 OpenClaw 接到自己的系统里,很多时候并不是“OpenClaw 主动发 webhook”这一条路。按我现在的习惯,我会把它拆成两种方向:外部系统调 OpenClaw 的 hook,或者 OpenClaw 通过一个 sender 能力回调你自己的服务。
前者更稳,后者更灵活。你要是刚起步,先把前者打通,后面再扩展会轻松很多。
先把入口和出口分清楚:谁调用谁、谁负责认证、谁负责记录结果。
一、先记住官方提供的是入站 Webhook
官方文档里写得很清楚,Gateway 网关可以暴露一个小型 HTTP hook 端点,常见的就是 POST /hooks/wake、POST /hooks/agent 和 POST /hooks/<name>。
认证头可以用 Authorization: Bearer <token>,也可以用 x-openclaw-token: <token>。我自己现在更习惯前者,但后者在内网调试时也挺省事。
curl -X POST http://127.0.0.1:18789/hooks/agent -H 'x-openclaw-token: SECRET' -H 'Content-Type: application/json' -d '{"message":"请总结今天的新增工单,并按严重级别排序"}'这个模式特别适合你自己的系统已经有事件源,比如工单新增、告警聚合、数据库变更通知,这时让业务系统直接把事件打给 OpenClaw 反而更稳。
我会先打通入站 hook,等事件能稳定进来,再决定要不要做回调发送。
二、如果你真要让 OpenClaw 把结果推回你的系统
我更建议把“回调发送”单独做成一个 sender 能力,底层可以是 HTTP 工具,也可以是你自己封的 Skill。这样能把签名、字段格式和重试逻辑独立出来。
curl -X POST "$WEBHOOK_URL" -H 'Content-Type: application/json' -H "X-Signature: $WEBHOOK_SECRET" -d '{"job":"daily-digest","status":"ok","summary":"今天新增 12 条工单,P1 2 条"}'这一步我通常不会直接硬写到主流程里,而是做成一个单独的 sender 逻辑。原因很简单:以后你要换字段、换签名、换目标系统,不至于把整个自动化都拆了。
三、安全这块别省
官方文档明确建议把 hook 端点放在 loopback、tailnet 或受信任的反向代理后面。
专门给 webhook 单独配 token,别拿 Gateway 网关的主认证直接复用。
日志里尽量不要原样记录敏感请求体,尤其是业务侧带过来的订单号、邮箱和手机号。
四、我自己现在更推荐的落地方式
先把业务事件调进 OpenClaw:工单、邮件、监控告警都可以。
让 OpenClaw 只做理解、摘要、分类和路由判断。
最后再由 sender 能力把结构化结果回调给你自己的系统。
这样拆的好处是很明显的:OpenClaw 负责理解和自动化,你自己的系统负责最终落库、展示和审计,两边职责清楚,后面维护轻松很多。











还没有评论,来说两句吧...