From eede45b13d2c9a39ac9cb27fec179e237316162c Mon Sep 17 00:00:00 2001 From: iven Date: Wed, 22 Apr 2026 12:24:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(desktop):=20=E9=9A=90=E8=97=8F=20researcher?= =?UTF-8?q?=20hand=20=E5=8E=9F=E5=A7=8BJSON=E8=BE=93=E5=87=BA=20=E2=80=94?= =?UTF-8?q?=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E5=B7=B2=E9=80=9A?= =?UTF-8?q?=E8=BF=87LLM=E5=9B=9E=E5=A4=8D=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:搜索时 chat 中出现 hand_researcher 原始 JSON 结果, 包含 action/query/results 等技术细节,对用户无意义。 修复:MessageBubble 对 role='hand' && handName='researcher' 的消息直接返回 null(与 role='tool' 同理静默处理)。 搜索结果已由 LLM 整合在回复中呈现,无需重复显示。 --- desktop/src/components/ChatArea.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/desktop/src/components/ChatArea.tsx b/desktop/src/components/ChatArea.tsx index 8aeb296..0cf7cb2 100644 --- a/desktop/src/components/ChatArea.tsx +++ b/desktop/src/components/ChatArea.tsx @@ -641,6 +641,10 @@ function MessageBubble({ message, onRetry }: { message: Message; setInput?: (tex if (message.role === 'tool') { return null; } + // Researcher hand results are internal — search results are already in the LLM reply + if (message.role === 'hand' && message.handName === 'researcher') { + return null; + } const isUser = message.role === 'user'; const isThinking = message.streaming && !message.content; @@ -733,7 +737,7 @@ function MessageBubble({ message, onRetry }: { message: Message; setInput?: (tex /> )} - {!isUser && message.role === 'hand' && message.handResult && typeof message.handResult === 'object' && message.handResult !== null && !message.workflowResult && ( + {!isUser && message.role === 'hand' && message.handResult && typeof message.handResult === 'object' && message.handResult !== null && !message.workflowResult && message.handName !== 'researcher' && (