如何把OpenClaw接入你的业务系统

305 字

如何把OpenClaw接入你的业务系统

来源类型: 微信公众号文章
日期: 2026-06-02
标签: AI, OpenClaw, 网络安全, 编程, 大模型
原文链接: https://mp.weixin.qq.com/s/TmtN43DEOAcBsNS_FeDpnA

摘要

文章比较长,建议先收藏再看。 如果你只是想让龙虾响应外部事件,看前半部分就够了。如果想把OpenClaw 对接自己的业务系统——比如工单触发 AI 分析、合同上传自动审查——后半部分专门讲这个,包括结果怎么回传。 ## 通过Webhook让龙虾响应外部事件 OpenClaw 的 Webhook 挂在网关上,默认端口 18789,路径默认 /hooks。在 openclaw.json 配置文件里加这几行开启: { "hooks": { "enabled": true, "token": "your-shared-secret", "path": "/h...

核心内容

文章比较长,建议先收藏再看。

如果你只是想让龙虾响应外部事件,看前半部分就够了。如果想把OpenClaw 对接自己的业务系统——比如工单触发 AI 分析、合同上传自动审查——后半部分专门讲这个,包括结果怎么回传。

通过Webhook让龙虾响应外部事件

OpenClaw 的 Webhook 挂在网关上,默认端口 18789,路径默认 /hooks。在 openclaw.json 配置文件里加这几行开启:

{

"hooks": {

"enabled": true,

"token": "your-shared-secret",

"path": "/hooks"

}

}

hooks.enabled=true 的时候 token 是必填的,没有 token 根本启不来。认证方式官方推荐用请求头:

Authorization: Bearer
也支持 x-openclaw-token:

三种调用方式

/hooks/wake 简单调用

最轻量的触发方式,请求体只有两个字段:

{ "text": "收到新邮件", "mode": "now" }

text 是事件描述,作为系统行写进主会话队列。mode 有两个值:now 立即触发心跳,next-heartbeat 等下次定期检查再处理。

适合场景:外部脚本监控某个目录,出现新文件就通知龙虾处理。逻辑简单、不需要隔离运行环境时用这个。

/hooks/agent 跑一个隔离的 Agent

这是重头戏,完整参数列表:

{

"message": "帮我总结这封邮件",

"name": "Email",

"agentId": "main",

"wakeMode": "now",

"deliver": true,

"channel": "feishu",

"to": "ou_xxx",

"model": "openai/gpt-5.4-mini",

"thinking": "low",

"timeoutSeconds": 120

}

几个需要重点注意的字段:

agentId — 单Agent 可以不传,多Agent 可以通过 openclaw agents list 获取。

deliver + channel + to — 控制 Agent 执行完任务后把结果发给谁。channel 支持 feishu、wechat、telegram、discord 等已配置的渠道,to 是对方 ID。不需要通知任何人时设 deliver: false。

获取接收人ID:可以通过先打开实时日志(运行 openclaw logs --follow),然后给你的小龙虾发消息,在日志中查看;如果是飞书的话,可以直接问小龙虾当前聊天的飞书openid,他会直接告诉你。

model — 单次覆盖默认模型。常规任务换轻量模型省钱,但要注意 agents.defaults.models 白名单的限制。

timeoutSeconds — Agent 运行的超时上限。长任务必须设,不然遇到模型响应慢或工具调用卡住,进程会一直挂着。

返回码是 202,表示异步启动成功,Agent 还在跑。这是后面集成业务系统时需要重点处理的地方。

请求示例:

-

-

curl -X POST http://127.0.0.1:18789/hooks/agent \ -H 'Authorization: Bearer {密钥}' \ -H 'Content-Type: application/json' \ -d '{"message":"总结{邮件内容}这封邮件保存到email.txt","name":"Email","model":"openai/gpt-5.4-mini"}'

/hooks/(映射端点)给外部系统专门开的接口

用于集成 GitHub、Gmail、Stripe 这类第三方服务。它们发过来的请求体格式各不相同,不可能直接符合 /hooks/agent 的格式。

通过 hooks.mappings 配置自定义端点,比如 /hooks/github,用 match 匹配来源,用模板或 JS/TS 模块把外部 payload 转成 Agent 能理解的格式。

Gmail 已内置,配置里加:

{ "hooks": { "presets": ["gmail"] } }

然后跑 openclaw webhooks gmail setup,会自动写好 hooks.gmail 配置。

4.7 版本新增的 TaskFlow 是什么

v2026.4.7 的描述是"Webhook 驱动的 TaskFlow,支持外部系统通过共享密钥端点创建和驱动任务流"。

这是接着 4.2 版本 TaskFlow 底层重构的延伸。4.2 做的是把任务流状态持久化,加了可恢复的检查点、子任务管理和 api.runtime.taskFlow 插件接口。4.7 是在这个基础上,把 Webhook 和 TaskFlow 打通——外部系统不只是触发一次 Agent 回合,而是可以通过 Webhook 持续驱动一个有状态的任务流。

实际场景:CI/CD 流水线每次 PR 合并触发一个 Webhook,龙虾启动 TaskFlow:先拉代码分析,发现问题通过 Telegram 通知你,等你确认后继续下一步。整个流程有状态,中途可以暂停、继续,不因网络抖动或重启丢失进度。

把 OpenClaw 接入业务系统

前面说的是标准的"外部事件触发龙虾"模式。但如果你是开发者,想让自己的业务系统——工单、ERP、合同管理、客服平台——把 AI 能力嵌进业务流,还有一个核心问题没解决:Agent 跑完任务,结果怎么回到你的系统?

/hooks/agent 返回 202 就结束了,业务系统拿不到同步响应。下面把这个问题拆开说。

整体架构

业务系统 -> OpenClaw 这条线是 HTTP POST,是主动推送。
OpenClaw -> 业务系统这条线,Agent 执行完任务后主动回调,也是 HTTP POST。
两侧都是接收方,两侧也都是发送方,没有轮询,没有长连接。

业务系统触发 OpenClaw

业务系统在适当时机 POST 到 /hooks/agent。关键是 message 里要包含回调指令,告诉 Agent 执行完任务把结果发回哪里:

{

"message": "请分析以下合同风险:{contract_text}\n\n分析完成后,请调用 HTTP 工具,POST 结果到 http://your-system/api/ai-result,携带 callback_id={callback_id}",

"name": "合同审查",

"deliver": false,

"timeoutSecon

...(内容截断,完整内容请查看原文)


本页由自动化脚本生成,待人工审核补充