From 25c5d671dcf4f11948ee0322e9df0709453fdec8 Mon Sep 17 00:00:00 2001 From: beyondkmp Date: Mon, 22 Sep 2025 23:04:57 +0800 Subject: [PATCH] fix(assistant): update translate assistant content handling for QwenMT model (#10306) * fix(assistant): update translate assistant content handling for QwenMT model - Adjusted content assignment in getDefaultTranslateAssistant to use store settings only when the model is not a QwenMT model, ensuring correct translation behavior. * lint err * refactor(assistant): encapsulate content handling logic for translation - Introduced a new function, getTranslateContent, to streamline content assignment in getDefaultTranslateAssistant. - This change improves readability and maintains correct translation behavior for QwenMT models. * format code --- src/main/services/AppUpdater.ts | 2 +- src/renderer/src/services/AssistantService.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/services/AppUpdater.ts b/src/main/services/AppUpdater.ts index 67e291f9cf..3cb1558b0e 100644 --- a/src/main/services/AppUpdater.ts +++ b/src/main/services/AppUpdater.ts @@ -2,7 +2,7 @@ import { loggerService } from '@logger' import { isWin } from '@main/constant' import { getIpCountry } from '@main/utils/ipService' import { locales } from '@main/utils/locales' -import { generateClientTelemetryHeader, generateUserAgent } from '@main/utils/systemInfo' +import { generateUserAgent } from '@main/utils/systemInfo' import { FeedUrl, UpgradeChannel } from '@shared/config/constant' import { IpcChannel } from '@shared/IpcChannel' import { CancellationToken, UpdateInfo } from 'builder-util-runtime' diff --git a/src/renderer/src/services/AssistantService.ts b/src/renderer/src/services/AssistantService.ts index 95dbac85c9..8a86a95937 100644 --- a/src/renderer/src/services/AssistantService.ts +++ b/src/renderer/src/services/AssistantService.ts @@ -6,6 +6,7 @@ import { MAX_CONTEXT_COUNT, UNLIMITED_CONTEXT_COUNT } from '@renderer/config/constant' +import { isQwenMTModel } from '@renderer/config/models' import { UNKNOWN } from '@renderer/config/translate' import i18n from '@renderer/i18n' import store from '@renderer/store' @@ -69,11 +70,18 @@ export function getDefaultTranslateAssistant(targetLanguage: TranslateLanguage, temperature: 0.7 } - const content = store - .getState() - .settings.translateModelPrompt.replaceAll('{{target_language}}', targetLanguage.value) - .replaceAll('{{text}}', text) + const getTranslateContent = (model: Model, text: string, targetLanguage: TranslateLanguage): string => { + if (isQwenMTModel(model)) { + return text // QwenMT models handle raw text directly + } + return store + .getState() + .settings.translateModelPrompt.replaceAll('{{target_language}}', targetLanguage.value) + .replaceAll('{{text}}', text) + } + + const content = getTranslateContent(model, text, targetLanguage) const translateAssistant = { ...assistant, model,