diff --git a/src/components/ConversationView.vue b/src/components/ConversationView.vue index 0b0666f..77c390b 100644 --- a/src/components/ConversationView.vue +++ b/src/components/ConversationView.vue @@ -120,7 +120,12 @@ onMounted(async () => { settings.updateChatMessage(activeSession.value.id, currentStreamingMessageId.value, { translated: (activeSession.value.messages.find(m => m.id === currentStreamingMessageId.value)?.translated || '') + event.payload }); - scrollToBottom(); + + // 优化:只有当正在流式输出的消息是最后一条时,才自动滚动到底部 + const lastMsg = activeSession.value.messages[activeSession.value.messages.length - 1]; + if (lastMsg && lastMsg.id === currentStreamingMessageId.value) { + scrollToBottom(); + } } }); }); @@ -378,8 +383,22 @@ const refineMessage = async (messageId: string) => { .replace(/{FROM_LANG}/g, fromLang.englishName) .replace(/{TO_LANG}/g, toLang.englishName); + // 使用审计专用配置 + let refineApiBaseUrl = settings.apiBaseUrl; + let refineApiKey = settings.apiKey; + let refineModelName = settings.modelName; + + if (settings.evaluationProfileId) { + const profile = settings.profiles.find(p => p.id === settings.evaluationProfileId); + if (profile) { + refineApiBaseUrl = profile.apiBaseUrl; + refineApiKey = profile.apiKey; + refineModelName = profile.modelName; + } + } + const requestBody = { - model: settings.modelName, + model: refineModelName, messages: [ { role: "system", content: systemPrompt }, { role: "user", content: `Please refine the following original text: ${msg.original}` } @@ -387,12 +406,12 @@ const refineMessage = async (messageId: string) => { stream: settings.enableStreaming }; - settings.addLog('request', { type: 'conversation-refine', ...requestBody }, generateCurl(settings.apiBaseUrl, settings.apiKey, requestBody)); + settings.addLog('request', { type: 'conversation-refine', ...requestBody }, generateCurl(refineApiBaseUrl, refineApiKey, requestBody)); try { const response = await invoke('translate', { - apiAddress: settings.apiBaseUrl, - apiKey: settings.apiKey, + apiAddress: refineApiBaseUrl, + apiKey: refineApiKey, payload: requestBody });