From 0b97e9a2ecc843e6338bdfc995e4f11e10681ae9 Mon Sep 17 00:00:00 2001 From: cc500 <2014434568@qq.com> Date: Tue, 18 Feb 2025 16:49:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?deepseek=20think=20=E6=A1=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dialoguePanel/DialoguePanel.vue | 29 ++++- .../dialoguePanel/DialogueThought.vue | 108 ++++++++++++++++++ src/components/sessionCard/SessionCard.vue | 1 - .../createapp/components/workFlowDebug.vue | 4 +- src/views/dialogue/Copilot.vue | 5 - .../dialogue/components/DialogueAside.vue | 1 + 6 files changed, 133 insertions(+), 15 deletions(-) create mode 100644 src/components/dialoguePanel/DialogueThought.vue diff --git a/src/components/dialoguePanel/DialoguePanel.vue b/src/components/dialoguePanel/DialoguePanel.vue index a7df31a..e6a3f66 100644 --- a/src/components/dialoguePanel/DialoguePanel.vue +++ b/src/components/dialoguePanel/DialoguePanel.vue @@ -10,6 +10,7 @@ import dayjs from "dayjs"; import xss from "xss"; import { errorMsg, successMsg } from "src/components/Message"; import ReportPopover from "src/views/dialogue/components/ReportPopover.vue"; +import DialogueThought from "./DialogueThought.vue"; import { onMounted, watch, onBeforeUnmount,reactive } from "vue"; import * as echarts from 'echarts'; import color from 'src/assets/color'; @@ -90,7 +91,7 @@ const props = withDefaults(defineProps(), { // currentSelected: 0, needRegernerate: false, }); - +const thoughtContent = ref(''); const index = ref(0); const isLike = ref(props.isLikeList); const emits = defineEmits<{ @@ -133,6 +134,7 @@ const handlePauseAndReGenerate = (cid?: number) => { emits("clearSuggestion", props.key); if (props.isFinish) { // 重新生成 + thoughtContent.value = ""; reGenerateAnswer(cid, user_selected_app.value); } else { // 停止生成 @@ -240,21 +242,34 @@ const contentAfterMark = computed(() => { if (!props.content) { return ""; } + //xxs将大于号转为html实体以防歧义;将< >替换为正常字符; let str = marked.parse( xss(props.content[props.currentSelected]) .replace(/>/g, ">") .replace(/</g, "<") ) + //将table提取出来中加一个
父节点控制溢出 let tableStart = str.indexOf(''); if(tableStart!== -1){ str = str.slice(0, tableStart) + '
' + str.slice(tableStart, str.indexOf('
') + ''.length).replace('', '
') + str.slice(str.indexOf('') + ''.length); } - //将table提取出来中加一个
父节点控制溢出 - return `
${str}
`; - //xxs将大于号转为html实体以防歧义;将< >替换为正常字符; + //仅获取第一个遇到的 think 标签 + const startIndex = str.indexOf(''); + const endIndex = str.indexOf(''); + if (startIndex !== -1 && endIndex === -1) { + // 计算 之后的字符串 + const contentAfterA = str.substring(startIndex + 7); // +2 是因为我们要跳过 这两个字符 + thoughtContent.value = contentAfterA; + return ""; + } + else if(startIndex !== -1 && endIndex !== -1){ + thoughtContent.value = str.match(/([\s\S]*?)<\/think>/)[1]; + } + return str.replace(/([\s\S]*?)<\/think>/g,''); }); const prePageHandle = (cid: number) => { + thoughtContent.value = ""; prePage(cid); if (index.value === 0) { index.value = 0; @@ -265,6 +280,7 @@ const prePageHandle = (cid: number) => { }; const nextPageHandle = (cid: number) => { + thoughtContent.value = ""; nextPage(cid); if (index.value === (props.isLikeList as number[]).length - 1) { index.value = (props.isLikeList as number[]).length - 1; @@ -452,11 +468,12 @@ const handleSendMessage = async (question, user_selected_flow, user_selected_app
+
补充参数 - +
@@ -478,7 +495,7 @@ const handleSendMessage = async (question, user_selected_flow, user_selected_app {{$t('history.cancel')}}
-
+
{{$t('feedback.eulercopilot_is_thinking')}}
diff --git a/src/components/dialoguePanel/DialogueThought.vue b/src/components/dialoguePanel/DialogueThought.vue new file mode 100644 index 0000000..9c2b174 --- /dev/null +++ b/src/components/dialoguePanel/DialogueThought.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/components/sessionCard/SessionCard.vue b/src/components/sessionCard/SessionCard.vue index f74406c..f12899b 100644 --- a/src/components/sessionCard/SessionCard.vue +++ b/src/components/sessionCard/SessionCard.vue @@ -57,7 +57,6 @@ const handleHover = async () => { x: rect?.x, y: rect?.y, }; - } else { } }; diff --git a/src/views/createapp/components/workFlowDebug.vue b/src/views/createapp/components/workFlowDebug.vue index 8b24c87..588bbb1 100644 --- a/src/views/createapp/components/workFlowDebug.vue +++ b/src/views/createapp/components/workFlowDebug.vue @@ -57,15 +57,13 @@ - - - -- Gitee From a7fa50f9f65076a9ead1b89f1cb249da3cef6a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=B8=96=E5=BD=A4?= <2014434568@qq.com> Date: Tue, 18 Feb 2025 08:51:25 +0000 Subject: [PATCH 3/4] =?UTF-8?q?Revert=20"=E5=88=A0=E9=99=A4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20src/views/dialogue/components/DialogueAside.vue"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 73507ff08d97cc7b37cecc6d4880d6540ec683dc. --- .../dialogue/components/DialogueAside.vue | 794 ++++++++++++++++++ 1 file changed, 794 insertions(+) create mode 100644 src/views/dialogue/components/DialogueAside.vue diff --git a/src/views/dialogue/components/DialogueAside.vue b/src/views/dialogue/components/DialogueAside.vue new file mode 100644 index 0000000..bd1335e --- /dev/null +++ b/src/views/dialogue/components/DialogueAside.vue @@ -0,0 +1,794 @@ + + + + -- Gitee From 345c38e2f9aa3d0ceca0224770373a46c48e4ab7 Mon Sep 17 00:00:00 2001 From: cc500 <2014434568@qq.com> Date: Tue, 18 Feb 2025 16:53:45 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dialogue/components/DialogueAside.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/dialogue/components/DialogueAside.vue b/src/views/dialogue/components/DialogueAside.vue index bd1335e..15b6463 100644 --- a/src/views/dialogue/components/DialogueAside.vue +++ b/src/views/dialogue/components/DialogueAside.vue @@ -251,7 +251,6 @@ onMounted(async() => { else { appList.value = apps.value; } - appList.value = apps.value; if(app.value.appId){ selectedAppId.value = app.value.appId; } -- Gitee