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" />