diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 97a220d9c..047277f99 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -1206,16 +1206,17 @@ async def process_chat_response(
break
if tool_result:
- tool_calls_display_content = f'{tool_calls_display_content}\n\nTool Executed
\n '
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nTool Executed
\n '
else:
- tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
if not raw:
- content = f"{content}\n{tool_calls_display_content}\n"
+ content = f"{content}\n{tool_calls_display_content}\n\n"
else:
tool_calls_display_content = ""
for tool_call in tool_calls:
+ tool_call_id = tool_call.get("id", "")
tool_name = tool_call.get("function", {}).get(
"name", ""
)
@@ -1223,10 +1224,10 @@ async def process_chat_response(
"arguments", ""
)
- tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
if not raw:
- content = f"{content}\n{tool_calls_display_content}\n"
+ content = f"{content}\n{tool_calls_display_content}\n\n"
elif block["type"] == "reasoning":
reasoning_display_content = "\n".join(
diff --git a/src/lib/components/common/Collapsible.svelte b/src/lib/components/common/Collapsible.svelte
index 515458115..252e35512 100644
--- a/src/lib/components/common/Collapsible.svelte
+++ b/src/lib/components/common/Collapsible.svelte
@@ -102,12 +102,14 @@
{:else if attributes?.type === 'tool_calls'}
{#if attributes?.done === 'true'}
{:else}
\`\`\`json
> ${JSON.parse(decode(attributes?.arguments))}
> ${JSON.parse(decode(attributes?.result))}
@@ -170,6 +173,7 @@
/>
{:else}
\`\`\`json
> ${JSON.parse(decode(attributes?.arguments))}
> \`\`\``}