Skip to main content
Webhooks 会在受支持的 run 进入终态时通知您的系统。对于 training、evaluation 和 benchmark run 的完成事件,Osmosis 会向您为 workspace 配置的 URL 发送 JSON POST

设置

打开 Workspace Settings → Webhooks(仅限 owner 和 admin):
  1. 输入您的 Webhook URL。必须使用 HTTPS 且端口为 443,并且解析到公网地址。指向私有或内部网络的 URL 会被拒绝。
  2. 打开 Deliver events 并点击 Save
  3. 点击 Send test payload,确认您的接收端收到 webhook.test 事件。
关闭 Deliver events 可以暂停投递,且不会丢失已保存的 URL。如需移除 webhook,请清空 Webhook URL 并点击 Save

事件

Payload

每个请求都是 Content-Type: application/jsonPOST,采用以下 envelope:

training_run.completedeval_run.completed

两种事件的 data 对象结构相同: Training run 示例:
Evaluation run 的 latest_metrics 则包含汇总结果:

benchmark_run.completed

agents 中的每个对象包含:

webhook.test

投递

  • 每次尝试的超时时间为 5 秒。投递失败最多重试 2 次,并采用退避策略。
  • 重试可能产生重复投递。对于 run completion 事件,请使用 event + data.id 这一组合实现幂等处理。
  • 任何 2xx 响应都视为投递成功。不会跟随重定向。
  • 投递为尽力而为。Webhook 投递失败不会影响 run,Osmosis 不保证每个事件都能到达您的接收端。

安全

Webhook 请求目前没有签名,因此 payload 本身不能证明请求来自 Osmosis。请使用不会在其他位置公开的专用高熵 HTTPS URL,在处理前验证 JSON schema 和预期的 event 值,并应用上述幂等规则。不要仅根据未经验证的 payload 字段触发 privileged actions。如果需要签名认证,请将 webhook 放在您控制的 gateway 后,并实施自己的 receiver policy。
最后修改于 2026年8月10日