Skip to main content

Webhook 集成

概览

Open WebUI 提供了两种不同的 Webhook 集成,帮助您随时了解实例中发生的事件。这些 Webhook 允许您在外部服务(如 Discord、Slack 或任何其他支持传入 Webhook 的应用程序)中接收自动通知。

目前提供两种类型的 Webhook:

  1. 管理员 Webhook (Admin Webhook): 系统范围的 Webhook,用于通知管理员有新用户注册。
  2. 用户 Webhook (User Webhook): 个人 Webhook,用于在聊天响应完成时通知单个用户,这对于耗时较长的任务特别有用。

1. 管理员 Webhook:新用户通知

此 Webhook 旨在供管理员监控 Open WebUI 实例上的新用户注册。

使用案例

  • 用户注册跟踪: 每当有新用户创建帐户时,在专用的 Slack 或 Discord 频道中接收实时通知。这有助于您跟踪用户群并欢迎新成员。

配置

您可以通过两种方式配置管理员 Webhook:

选项 1:通过管理面板

  1. 以管理员身份登录。
  2. 导航至管理面板 > 设置 > 常规
  3. 找到**“Webhook URL”**字段。
  4. 输入外部服务(例如 Discord、Slack)提供的 Webhook URL。
  5. 点击**“保存”**。

选项 2:通过环境变量

您也可以使用 WEBHOOK_URL 环境变量设置 Webhook URL。有关更多详细信息,请参阅环境变量配置文档。

有效负载格式 (Payload Format)

当有新用户注册时,Open WebUI 将向配置的 URL 发送一个 POST 请求,其中包含一个包含新用户详细信息的 JSON 有效负载。

有效负载示例:

{
"event": "new_user",
"user": {
"email": "tim@example.com",
"name": "Tim"
}
}

2. 用户 Webhook:聊天响应通知

此 Webhook 允许单个用户在模型完成对其提示词的响应生成时接收通知。这对于可能导致您离开 Open WebUI 标签页的长耗时任务特别有用。

使用案例

  • 长耗时任务警报: 如果您提交了一个需要几分钟处理的复杂提示词,您可以关闭浏览器标签页,并在响应完成时立即收到通知。这允许您在处理其他任务的同时,无需不断检查 Open WebUI 界面。

工作原理

仅当您未在使用 WebUI 时才会发送通知。如果您已打开标签页并处于焦点状态,则不会触发 Webhook,从而避免不必要的通知。

启用/禁用用户 Webhook

用户 Webhook 默认启用。但是,管理员可以为所有用户禁用此功能,以防止外部请求或出于安全原因。

可以通过两种方式完成:

  1. 直接在管理面板中:

    • 转到管理面板 > 设置 > 常规 > 功能
    • 切换**“用户 Webhook” (User Webhooks)** 开关。
  2. 使用环境变量:

    • 在后端配置中将环境变量 ENABLE_USER_WEBHOOKS 设置为 False。这将全局禁用该功能并在用户个人资料中隐藏该设置。

配置

  1. 点击左下角的个人头像以打开设置菜单。
  2. 导航至设置 > 账户
  3. 找到**“通知 Webhook” (Notification Webhook)** 字段。
  4. 输入您的个人 Webhook URL。
  5. 点击**“保存”**。

有效负载格式 (Payload Format)

当聊天响应就绪且您处于非活动状态时,Open WebUI 将向您的 Webhook URL 发送一个 POST 请求,其中包含一个包含聊天详情的 JSON 有效负载。

有效负载示例:

{
"event": "chat_response",
"chat": {
"id": "abc-123-def-456",
"title": "我精彩的对话",
"last_message": "这是我提交的提示词。"
}
}