Webhook 集成
概述
Open WebUI 提供了三种不同的 Webhook 集成,以帮助您及时了解实例中发生的事件并启用外部集成。这些 Webhook 允许您在外部服务(如 Discord、Slack 或任何其他支持接收 Webhook 的应用程序)中接收自动通知,同时允许从外部服务向 Open WebUI 频道发布消息。
目前提供以下三种类型的 Webhook:
- Admin Webhook: 系统级 Webhook,在有新用户注册时通知管理员。
- User Webhook: 个人 Webhook,当用户的聊天响应生成完毕时通知个人用户,这对于长时运行的任务特别有用。
- Channel Webhooks: 接收式 Webhook,允许外部服务向特定频道发布消息。
1. Admin Webhook:新用户通知
该 Webhook 旨在让管理员能够监控 Open WebUI 实例上的新用户注册情况。
使用场景
- 用户注册跟踪: 每当有新用户创建账户时,在专用的 Slack 或 Discord 频道中接收实时通知。这有助于您跟踪用户增长情况并欢迎新成员。
配置
您可以通过以下两种方式配置管理员 Webhook:
选项 1:通过 Admin Panel
- 以管理员身份登录。
- 导航至 Admin Panel > Settings > General。
- 找到 "Webhook URL" 字段。
- 输入由您的外部服务(例如 Discord、Slack)提供的 Webhook URL。
- 点击 "Save"。
选项 2:通过环境变量
您还可以使用 WEBHOOK_URL 环境变量来设置 Webhook URL。有关详细信息,请参阅 环境变量配置 文档。
Payload 格式
当有新用户注册时,Open WebUI 将发送一个 POST 请求到配置的 URL,其中包含一个带有新用户详细信息的 JSON payload。
Payload 示例:
{
"event": "new_user",
"user": {
"email": "tim@example.com",
"name": "Tim"
}
}2. User Webhook:聊天响应通知
该 Webhook 允许个人用户在模型完成对其 Prompt 的响应生成时接收通知。这对于需要耗费较长时间且您可能会切走 Open WebUI 标签页的任务特别有用。
使用场景
- 长时运行任务提醒: 如果您提交了一个需要花费数分钟处理的复杂 Prompt,您可以关闭浏览器标签页,并在响应就绪的瞬间收到通知。这使您可以处理其他任务,而无需不断检查 Open WebUI 界面。
工作原理
该通知仅在您未处于活跃使用 WebUI 的状态下才会发送。如果您打开了标签页并且焦点在上面,Webhook 将不会被触发,从而避免不必要的通知。
启用/禁用 User Webhooks
User Webhooks 默认是禁用的。管理员可以根据需要为所有用户启用此功能,或者保持禁用状态以防止外部请求。
这可以通过以下两种方式完成:
-
直接在 Admin Panel 中:
- 前往 Admin Panel > Settings > General > Features。
- 切换 "User Webhooks" 开关。
-
使用环境变量:
- 在后端配置中将环境变量
ENABLE_USER_WEBHOOKS设置为False。这将全局禁用该功能并在用户个人资料中隐藏该设置。
- 在后端配置中将环境变量