瀏覽代碼

Merge branch 'open-webui:dev' into dev

Tiancong Li 4 月之前
父節點
當前提交
9d3ab2e40e
共有 2 個文件被更改,包括 8 次插入3 次删除
  1. 3 2
      backend/open_webui/utils/middleware.py
  2. 5 1
      backend/open_webui/utils/webhook.py

+ 3 - 2
backend/open_webui/utils/middleware.py

@@ -608,15 +608,16 @@ async def process_chat_response(request, response, user, events, metadata, tasks
                                 is None
                             ):
                                 webhook_url = Users.get_user_webhook_url_by_id(user.id)
+                                webui_url = f"{request.headers.get('x-forwarded-proto', request.url.scheme)}://{request.headers.get('x-forwarded-host', f'{request.client.host}:{request.url.port}')}"
                                 if webhook_url:
                                     post_webhook(
                                         webhook_url,
-                                        f"{title} - {WEBUI_URL}/c/{metadata['chat_id']}\n\n{content}",
+                                        f"{title} - {webui_url}/c/{metadata['chat_id']}\n\n{content}",
                                         {
                                             "action": "chat",
                                             "message": content,
                                             "title": title,
-                                            "url": f"{WEBUI_URL}/c/{metadata['chat_id']}",
+                                            "url": f"{webui_url}/c/{metadata['chat_id']}",
                                         },
                                     )
 

+ 5 - 1
backend/open_webui/utils/webhook.py

@@ -19,7 +19,11 @@ def post_webhook(url: str, message: str, event_data: dict) -> bool:
             payload["text"] = message
         # Discord Webhooks
         elif "https://discord.com/api/webhooks" in url:
-            payload["content"] = message
+            payload["content"] = (
+                message
+                if len(message) > 2000
+                else f"{message[: 2000 - 14]}... (truncated)"
+            )
         # Microsoft Teams Webhooks
         elif "webhook.office.com" in url:
             action = event_data.get("action", "undefined")