feat: improve think content display (#13431)

This commit is contained in:
非法操作 2025-02-10 14:08:17 +08:00 • committed by GitHub
commit 5ffc58d6ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 106 additions and 4 deletions

View file

@ -22,6 +22,7 @@ import AudioGallery from '@/app/components/base/audio-gallery'
import SVGRenderer from '@/app/components/base/svg-gallery'
import MarkdownButton from '@/app/components/base/markdown-blocks/button'
import MarkdownForm from '@/app/components/base/markdown-blocks/form'
import ThinkBlock from '@/app/components/base/markdown-blocks/think-block'
// Available language https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_HLJS.MD
const capitalizationLanguageNameMap: Record<string, string> = {
@ -72,10 +73,8 @@ const preprocessThinkTag = (content: string) => {
return content
return flow([
(str: string) => str.replace('<think>\n', '<details open><summary class="text-gray-500 font-bold">Thinking</summary><div class="text-gray-500 p-3 ml-2 bg-gray-50 border-l border-gray-300">\n'),
(str: string) => str.includes('\n</think>')
? str.replace('\n</think>', '\n</div></details>')
: `${str}\n</div></details>`,
(str: string) => str.replace('<think>\n', '<details>\n'),
(str: string) => str.replace('\n</think>', '\n[ENDTHINKFLAG]</details>'),
])(content)
}
@ -281,6 +280,7 @@ export function Markdown(props: { content: string; className?: string }) {
button: MarkdownButton,
form: MarkdownForm,
script: ScriptBlock,
details: ThinkBlock,
}}
linkTarget='_blank'
>