POST。
设置
打开 Workspace Settings → Webhooks。任何 workspace 成员都可以查看该页面和投递记录。只有 owner 和 admin 可以编辑 URL、开关投递或发送测试 payload:- 输入您的 Webhook URL。必须使用 HTTPS 且端口为 443,并且解析到公网地址。指向私有或内部网络的 URL 会被拒绝。
- 打开 Deliver events 并点击 Save。
- 点击 Send test payload,确认您的接收端收到
webhook.test事件。
事件
Payload
每个请求都是Content-Type: application/json 的 POST,采用以下 envelope:
training_run.completed 和 eval_run.completed
两种事件的 data 对象结构相同:
Training run 示例:
latest_metrics 则包含汇总结果:
benchmark_run.completed
agents 中的每个对象包含:
webhook.test
投递
- 每次尝试的超时时间为 5 秒。投递失败最多重试 2 次,并采用退避策略。
- 重试可能产生重复投递。对于 run completion 事件,请使用
event+data.id这一组合实现幂等处理。 - 任何 2xx 响应都视为投递成功。不会跟随重定向。
- 投递为尽力而为。Webhook 投递失败不会影响 run,Osmosis 不保证每个事件都能到达您的接收端。
- 每次投递都会连同最终结果记录在 Recent deliveries 中,方便您查看 Osmosis 发送了什么以及接收端如何响应。
Recent deliveries
Workspace Settings → Webhooks 会在 webhook 表单下方列出最近 30 天内的每次投递。任何 workspace 成员都可以查看该列表;编辑 webhook 仍需 owner 或 admin 权限。 每一行显示:
点击某一行即可打开该次投递。Request 标签页显示 Osmosis 发送的完整 JSON body。Response 标签页显示 HTTP 状态以及接收端响应 body 的前 2 KB;如果没有收到响应,则显示传输错误。可以按事件或状态筛选列表,以定位某次具体的投递。
通过 Send test payload 发送的测试 payload 会像其他事件一样出现在列表中,因此查看 payload 最快的方式就是发送一次并打开对应的行。投递记录保留 30 天后删除。关闭 Deliver events 期间不会记录任何内容,因为不会发起请求。
Osmosis 会存储接收端响应 body 的前 2 KB 以便您排查失败原因。请不要在 webhook 响应中回显 secret 或其他敏感数据。