From b85130b8490b0057f9407f95f204e7a6090f7a4b Mon Sep 17 00:00:00 2001 From: Jiahe Wu <117764480+blueberrycongee@users.noreply.github.com> Date: Wed, 17 Dec 2025 21:04:37 +0800 Subject: [PATCH] fix: display direct_response message in frontend (#763) (#764) Extract message content from direct_response tool call args and display it as the message content when tool call completes. Note: This is a workaround. The message is not streamed because direct_response uses tool calling mechanism where args are JSON, not natural language text that can be streamed directly. --- web/src/core/messages/merge-message.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/web/src/core/messages/merge-message.ts b/web/src/core/messages/merge-message.ts index 8f1bf3e1d..a47fc7332 100644 --- a/web/src/core/messages/merge-message.ts +++ b/web/src/core/messages/merge-message.ts @@ -62,6 +62,11 @@ export function mergeMessage(message: Message, event: ChatEvent) { toolCall.args = safeParseToolArgs(toolCall.argsChunks.join("")); delete toolCall.argsChunks; } + // Handle direct_response tool: extract message content for display + if (toolCall.name === "direct_response" && toolCall.args?.message) { + message.content = toolCall.args.message as string; + message.contentChunks = [message.content]; + } }); } }