From 6ee23bebb5a41199563dd38627ce2984c03d6fd9 Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 29 May 2025 21:08:42 +0800 Subject: [PATCH] . --- chatdesk-ui/components/messages/message.tsx | 27 +++++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/chatdesk-ui/components/messages/message.tsx b/chatdesk-ui/components/messages/message.tsx index c6a0acc..ddf7b80 100644 --- a/chatdesk-ui/components/messages/message.tsx +++ b/chatdesk-ui/components/messages/message.tsx @@ -83,18 +83,28 @@ interface MessageProps { const MessageContent: React.FC<{ content: string }> = ({ content }) => { const [showThink, setShowThink] = useState(false) - const thinkMatch = content.match(/([\s\S]*?)<\/think>/i) - const thinkContent = thinkMatch?.[1]?.trim() || "" - const visibleContent = thinkMatch - ? content.replace(thinkMatch[0], "").trim() - : content.trim() + let thinkContent = "" + let visibleContent = content.trim() + + const fullMatch = content.match(/([\s\S]*?)<\/think>/i) + if (fullMatch) { + thinkContent = fullMatch[1].trim() + visibleContent = content.replace(fullMatch[0], "").trim() + } else { + const endOnlyMatch = content.match(/([\s\S]*?)<\/think>/i) + if (endOnlyMatch) { + thinkContent = endOnlyMatch[1].trim() + visibleContent = content.replace(endOnlyMatch[0], "").trim() + } + } return (
- {thinkMatch && thinkContent && ( -
+ {/* 折叠内容提前显示 */} + {thinkContent && ( +
)} + {/* 主消息显示在折叠内容之后 */}
)