From 44ee736a102bf816ec17f7608c4cc4ab85e52f52 Mon Sep 17 00:00:00 2001 From: karl Date: Tue, 29 Apr 2025 16:39:19 +0800 Subject: [PATCH] perf: display (#5489) --- .../src/pages/home/Messages/Blocks/MainTextBlock.tsx | 8 +------- src/renderer/src/services/StreamProcessingService.ts | 3 ++- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/renderer/src/pages/home/Messages/Blocks/MainTextBlock.tsx b/src/renderer/src/pages/home/Messages/Blocks/MainTextBlock.tsx index 0805e18fd9..b52449d4a7 100644 --- a/src/renderer/src/pages/home/Messages/Blocks/MainTextBlock.tsx +++ b/src/renderer/src/pages/home/Messages/Blocks/MainTextBlock.tsx @@ -31,8 +31,6 @@ interface Props { role: Message['role'] } -const toolUseRegex = /([\s\S]*?)<\/tool_use>/g - const MainTextBlock: React.FC = ({ block, citationBlockId, role, mentions = [] }) => { // Use the passed citationBlockId directly in the selector const { renderInputMessageAsMarkdown } = useSettings() @@ -69,10 +67,6 @@ const MainTextBlock: React.FC = ({ block, citationBlockId, role, mentions return content }, [block.content, block.citationReferences, citationBlockId, formattedCitations]) - const ignoreToolUse = useMemo(() => { - return processedContent.replace(toolUseRegex, '') - }, [processedContent]) - return ( <> {/* Render mentions associated with the message */} @@ -86,7 +80,7 @@ const MainTextBlock: React.FC = ({ block, citationBlockId, role, mentions {role === 'user' && !renderInputMessageAsMarkdown ? (

{block.content}

) : ( - + )} ) diff --git a/src/renderer/src/services/StreamProcessingService.ts b/src/renderer/src/services/StreamProcessingService.ts index 4abf71bd6a..e62233678f 100644 --- a/src/renderer/src/services/StreamProcessingService.ts +++ b/src/renderer/src/services/StreamProcessingService.ts @@ -56,7 +56,8 @@ export function createStreamProcessor(callbacks: StreamProcessorCallbacks = {}) callbacks.onTextChunk(data.text) } if (data.type === ChunkType.TEXT_COMPLETE && callbacks.onTextComplete) { - callbacks.onTextComplete(data.text) + // 消除工具使用对信息流的影响 + callbacks.onTextComplete(data.text.replace(/([\s\S]*?)<\/tool_use>/g, '')) } if (data.type === ChunkType.THINKING_DELTA && callbacks.onThinkingChunk) { callbacks.onThinkingChunk(data.text, data.thinking_millsec)