webhook 参数。如果一个可以接受 POST 请求的端点指定了此参数,LangSmith 将在运行完成时发送一个请求。
在使用 LangSmith 时,你可能希望使用 Webhooks 在 API 调用完成后接收更新。Webhooks 非常适合在运行处理完成后触发你服务中的操作。要实现此功能,你需要暴露一个可以接受 POST 请求的端点,并在你的 API 请求中将该端点作为 webhook 参数传递。
目前,SDK 没有为定义 webhook 端点提供内置支持,但你可以通过 API 请求手动指定它们。
支持的端点
以下 API 端点接受webhook 参数:
在本指南中,我们将展示如何在流式运行后触发一个 webhook。
设置你的助手和线程
在进行 API 调用之前,先设置好你的助手和线程。- Python
- JavaScript
- cURL
在图运行中使用 Webhook
要使用 webhook,请在你的 API 请求中指定webhook 参数。当运行完成时,LangSmith 会向指定的 webhook URL 发送一个 POST 请求。
例如,如果你的服务器在 https://my-server.app/my-webhook-endpoint 监听 webhook 事件,请在请求中包含此 URL:
- Python
- JavaScript
- cURL
Webhook 负载
LangSmith 以 Run 的格式发送 webhook 通知。请求负载包含运行的输入、配置和其他元数据,位于kwargs 字段中。除了标准运行字段外,webhook 负载还包括 values、webhook_sent_at 和 error 字段。
完整的 webhook 负载包含以下字段:
示例负载:
error 字段包含失败详情:
安全 Webhook
为确保只有授权的请求能到达你的 webhook 端点,考虑添加安全令牌作为查询参数:为 Webhook 请求添加头部
适用于
langgraph-api>=0.5.36。langgraph.json 文件中添加 webhooks.headers 配置:
在头部中使用环境变量
要包含密钥或特定于环境的值而不将它们检入配置文件,可以使用${{ env.VAR }} 模板语法:
LG_WEBHOOK_ 开头的环境变量。这可以防止意外泄露不相关的环境变量。你可以使用 env_prefix 自定义此前缀:
缺少必需的环境变量将阻止服务器启动,确保你不会在配置不完整的情况下进行部署。
限制 Webhook 目标
适用于
langgraph-api>=0.5.36。webhooks.url 配置来限制哪些 URL 是有效的 webhook 目标:
禁用 Webhooks
从langgraph-api>=0.2.78 起,开发者可以在 langgraph.json 文件中禁用 webhooks:
测试 Webhooks
你可以使用以下在线服务测试你的 webhook:- Beeceptor – 快速创建一个测试端点并检查传入的 webhook 负载。
- Webhook.site – 实时查看、调试和记录传入的 webhook 请求。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

