From c6af296b605a087263c71beb8db11d55f0ba62d8 Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Thu, 12 Feb 2026 22:04:27 +0100 Subject: [PATCH] add message id (#21214) --- backend/open_webui/env.py | 3 +++ backend/open_webui/utils/middleware.py | 7 ++++++- backend/open_webui/utils/tools.py | 9 +++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/backend/open_webui/env.py b/backend/open_webui/env.py index d57f25dae6..1dad545680 100644 --- a/backend/open_webui/env.py +++ b/backend/open_webui/env.py @@ -209,6 +209,9 @@ FORWARD_USER_INFO_HEADER_USER_ROLE = os.environ.get( ) # Header name for chat ID forwarding (customizable via environment variable) +FORWARD_SESSION_INFO_HEADER_MESSAGE_ID = os.environ.get( + "FORWARD_SESSION_INFO_HEADER_MESSAGE_ID", "X-OpenWebUI-Message-Id" +) FORWARD_SESSION_INFO_HEADER_CHAT_ID = os.environ.get( "FORWARD_SESSION_INFO_HEADER_CHAT_ID", "X-OpenWebUI-Chat-Id" ) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index afb0c83901..e74bc9fbc0 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -129,6 +129,7 @@ from open_webui.env import ( RAG_SYSTEM_CONTEXT, ENABLE_FORWARD_USER_INFO_HEADERS, FORWARD_SESSION_INFO_HEADER_CHAT_ID, + FORWARD_SESSION_INFO_HEADER_MESSAGE_ID, ) from open_webui.utils.headers import include_user_info_headers from open_webui.constants import TASKS @@ -2245,7 +2246,11 @@ async def process_chat_payload(request, form_data, user, metadata, model): headers = include_user_info_headers(headers, user) if metadata and metadata.get("chat_id"): headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get( - "chat_id" + "chat_id" + ) + if metadata and metadata.get("message_id"): + headers[FORWARD_SESSION_INFO_HEADER_MESSAGE_ID] = metadata.get( + "message_id" ) mcp_clients[server_id] = MCPClient() diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index b350a8c679..92121d2795 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -48,6 +48,7 @@ from open_webui.env import ( AIOHTTP_CLIENT_SESSION_TOOL_SERVER_SSL, ENABLE_FORWARD_USER_INFO_HEADERS, FORWARD_SESSION_INFO_HEADER_CHAT_ID, + FORWARD_SESSION_INFO_HEADER_MESSAGE_ID, ) from open_webui.utils.headers import include_user_info_headers from open_webui.tools.builtin import ( @@ -352,8 +353,12 @@ async def get_tools( headers = include_user_info_headers(headers, user) metadata = extra_params.get("__metadata__", {}) if metadata and metadata.get("chat_id"): - headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = ( - metadata.get("chat_id") + headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get( + "chat_id" + ) + if metadata and metadata.get("message_id"): + headers[FORWARD_SESSION_INFO_HEADER_MESSAGE_ID] = metadata.get( + "message_id" ) def make_tool_function(