From c26cd3d3fdaa5d40f73cd4bd7d4fb0aacbe5ef79 Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Sat, 4 Apr 2026 16:18:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9E=81=E7=AE=80?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=A4=9A=E4=B8=AA=E9=97=AE=E9=A2=98=E5=B9=B6?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=81=8F=E5=A5=BD=E8=AE=BE=E7=BD=AE=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复极简模式下步骤竖线距离SVG不均匀的问题 - 使用flex布局让竖线自动填充空间 - 添加负margin让竖线延伸到下一个步骤 - 确保竖线上下距离SVG图标相等 - 修复SVG图标颜色问题 - 统一使用灰色(--claude-text-tertiary) - 不再受颜色模式影响 - 修复思考内容自动滚动问题 - 添加registerThinkingRef和handleThinkingScroll支持 - 移除导致滚动异常的伪元素负margin - 实现与堆叠模式一致的自动滚动行为 - 修复轮询改造后偏好设置不自动应用的问题 - 在loadInitialData中应用默认模型和运行模式 - 在createNewConversation前应用偏好设置 - 在loadConversation前应用偏好设置 - 确保新建或切换对话时使用用户设置的默认值 Co-Authored-By: Claude Sonnet 4.5 --- static/src/app/methods/conversation.ts | 60 ++++++++++++++++++++ static/src/app/methods/ui.ts | 25 +++++++- static/src/components/chat/ChatArea.vue | 2 + static/src/components/chat/MinimalBlocks.vue | 40 ++++++++----- 4 files changed, 111 insertions(+), 16 deletions(-) diff --git a/static/src/app/methods/conversation.ts b/static/src/app/methods/conversation.ts index a33572e..82e92f3 100644 --- a/static/src/app/methods/conversation.ts +++ b/static/src/app/methods/conversation.ts @@ -179,6 +179,36 @@ export const conversationMethods = { return; } + // 应用个性化设置中的默认模型和思考模式 + try { + const { usePersonalizationStore } = await import('../../stores/personalization'); + const personalizationStore = usePersonalizationStore(); + + if (personalizationStore.loaded) { + const defaultRunMode = personalizationStore.form.default_run_mode; + const defaultModel = personalizationStore.form.default_model; + + if (defaultRunMode) { + this.runMode = defaultRunMode; + debugLog('应用默认运行模式:', defaultRunMode); + } + + if (defaultModel) { + this.currentModelKey = defaultModel; + debugLog('应用默认模型:', defaultModel); + } + + // 根据默认运行模式设置思考模式 + if (defaultRunMode === 'thinking') { + this.thinkingMode = true; + } else if (defaultRunMode === 'fast') { + this.thinkingMode = false; + } + } + } catch (error) { + console.warn('应用个性化默认设置失败:', error); + } + // 有任务或后台子智能体运行时,提示用户确认切换 try { const { useTaskStore } = await import('../../stores/task'); @@ -294,6 +324,36 @@ export const conversationMethods = { }); this.logMessageState('createNewConversation:start'); + // 应用个性化设置中的默认模型和思考模式 + try { + const { usePersonalizationStore } = await import('../../stores/personalization'); + const personalizationStore = usePersonalizationStore(); + + if (personalizationStore.loaded) { + const defaultRunMode = personalizationStore.form.default_run_mode; + const defaultModel = personalizationStore.form.default_model; + + if (defaultRunMode) { + this.runMode = defaultRunMode; + debugLog('应用默认运行模式:', defaultRunMode); + } + + if (defaultModel) { + this.currentModelKey = defaultModel; + debugLog('应用默认模型:', defaultModel); + } + + // 根据默认运行模式设置思考模式 + if (defaultRunMode === 'thinking') { + this.thinkingMode = true; + } else if (defaultRunMode === 'fast') { + this.thinkingMode = false; + } + } + } catch (error) { + console.warn('应用个性化默认设置失败:', error); + } + // 检查是否有运行中的任务,如果有则提示用户 let hasActiveTask = false; try { diff --git a/static/src/app/methods/ui.ts b/static/src/app/methods/ui.ts index 853410a..7495341 100644 --- a/static/src/app/methods/ui.ts +++ b/static/src/app/methods/ui.ts @@ -1118,11 +1118,34 @@ export const uiMethods = { // 加载个性化设置 const personalizationStore = usePersonalizationStore(); if (!personalizationStore.loaded && !personalizationStore.loading) { - personalizationStore.fetchPersonalization().catch(err => { + await personalizationStore.fetchPersonalization().catch(err => { console.warn('加载个性化设置失败:', err); }); } + // 应用个性化设置中的默认模型和思考模式 + if (personalizationStore.loaded) { + const defaultRunMode = personalizationStore.form.default_run_mode; + const defaultModel = personalizationStore.form.default_model; + + if (defaultRunMode) { + this.runMode = defaultRunMode; + debugLog('应用默认运行模式:', defaultRunMode); + } + + if (defaultModel) { + this.currentModelKey = defaultModel; + debugLog('应用默认模型:', defaultModel); + } + + // 根据默认运行模式设置思考模式 + if (defaultRunMode === 'thinking') { + this.thinkingMode = true; + } else if (defaultRunMode === 'fast') { + this.thinkingMode = false; + } + } + const focusPromise = this.focusFetchFiles(); const todoPromise = this.fileFetchTodoList(); let treePromise: Promise | null = null; diff --git a/static/src/components/chat/ChatArea.vue b/static/src/components/chat/ChatArea.vue index d8129ed..74d3dce 100644 --- a/static/src/components/chat/ChatArea.vue +++ b/static/src/components/chat/ChatArea.vue @@ -60,6 +60,8 @@ :format-search-time="formatSearchTime" :format-search-domains="formatSearchDomains" :render-markdown="renderMarkdown" + :register-thinking-ref="registerThinkingRef" + :handle-thinking-scroll="props.handleThinkingScroll" />