From c421465003ec4c6ef277b810ec07366d31f2a455 Mon Sep 17 00:00:00 2001 From: randy1568 Date: Mon, 8 Dec 2025 11:31:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(fix):=20AI=E8=84=9A=E6=9C=AC=E4=BC=9A?= =?UTF-8?q?=E8=AF=9D,=E5=9B=9E=E7=AD=94=E5=86=85=E5=AE=B9=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=AF=AD=E8=A8=80=E5=81=8F=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/presenter/threadPresenter/index.ts | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/presenter/threadPresenter/index.ts b/src/main/presenter/threadPresenter/index.ts index 16ef278..4d141a2 100644 --- a/src/main/presenter/threadPresenter/index.ts +++ b/src/main/presenter/threadPresenter/index.ts @@ -40,6 +40,7 @@ import { getFileContext } from './fileContext' import { ContentEnricher } from './contentEnricher' import { CONVERSATION_EVENTS, STREAM_EVENTS, TAB_EVENTS } from '@/events' import { DEFAULT_SETTINGS } from './const' +import { formatLanguage } from '@shared/language' interface GeneratingMessageState { message: AssistantMessage @@ -75,7 +76,10 @@ interface GeneratingMessageState { throttleTimeout?: NodeJS.Timeout lastRendererUpdateTime?: number } - +const get_system_language = () => { + const languageName = formatLanguage(presenter.configPresenter.getLanguage()) + return `# 语言偏好: \n请优先采用${languageName}语言进行思考和回答.` +} const DEFAULT_AI_SCRIPT_SYSTEM_PROMPT = ` # 历史会话总结与 Shell 脚本生成器 / Historical Conversation Shell Script Generator @@ -152,8 +156,7 @@ main "$@" - 脚本需要兼容openEuler环境 - notes 必须包含:如何在目标环境运行脚本的步骤、所需依赖(命令/包/权限)、需要打包或同步的中间文件路径,以及跨环境执行的注意事项。 -请严格遵守上述约束 -` +请严格遵守上述约束` export class ThreadPresenter implements IThreadPresenter { private sqlitePresenter: ISQLitePresenter @@ -3237,11 +3240,7 @@ export class ThreadPresenter implements IThreadPresenter { * @param format 导出格式 ('markdown' | 'html' | 'txt') * @returns 包含文件名和内容的对象 */ - async generateAiScript( - conversationId: string, - targetMessageId: string, - options?: { promptOverride?: string } - ): Promise { + async generateAiScript(conversationId: string, targetMessageId: string): Promise { const conversation = await this.getConversation(conversationId) if (!conversation) { throw new Error('Conversation not found') @@ -3298,10 +3297,8 @@ export class ThreadPresenter implements IThreadPresenter { const transcript = this.exportToText(conversation, trimmedHistory, true) - const systemPrompt = - options?.promptOverride && options.promptOverride.trim().length > 0 - ? options.promptOverride - : DEFAULT_AI_SCRIPT_SYSTEM_PROMPT + const systemPrompt = DEFAULT_AI_SCRIPT_SYSTEM_PROMPT + `\n${get_system_language()}` + console.log(systemPrompt) const providerId = conversation.settings.providerId const modelId = conversation.settings.modelId -- Gitee