From ddb203170e6ba2539de77dc90992ae1e08882ab4 Mon Sep 17 00:00:00 2001 From: icarus Date: Fri, 29 Aug 2025 20:25:16 +0800 Subject: [PATCH] =?UTF-8?q?refactor(aiCore):=20=E6=8F=90=E5=8F=96=20Modern?= =?UTF-8?q?AiProviderConfig=20=E7=B1=BB=E5=9E=8B=E4=BB=A5=E5=A4=8D?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将多处重复的配置类型定义提取为 ModernAiProviderConfig 类型,提高代码可维护性 --- src/renderer/src/aiCore/index_new.ts | 45 ++++++++-------------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/src/renderer/src/aiCore/index_new.ts b/src/renderer/src/aiCore/index_new.ts index 8569fa0e83..553010c5ae 100644 --- a/src/renderer/src/aiCore/index_new.ts +++ b/src/renderer/src/aiCore/index_new.ts @@ -32,6 +32,13 @@ import type { StreamTextParams } from './types' const logger = loggerService.withContext('ModernAiProvider') +export type ModernAiProviderConfig = AiSdkMiddlewareConfig & { + assistant: Assistant + // topicId for tracing + topicId?: string + callType: string +} + export default class ModernAiProvider { private legacyProvider: LegacyAiProvider private config: ReturnType @@ -49,16 +56,7 @@ export default class ModernAiProvider { return this.actualProvider } - public async completions( - modelId: string, - params: StreamTextParams, - config: AiSdkMiddlewareConfig & { - assistant: Assistant - // topicId for tracing - topicId?: string - callType: string - } - ) { + public async completions(modelId: string, params: StreamTextParams, config: ModernAiProviderConfig) { // 准备特殊配置 await prepareSpecialProviderConfig(this.actualProvider, this.config) @@ -78,12 +76,7 @@ export default class ModernAiProvider { private async _completions( modelId: string, params: StreamTextParams, - config: AiSdkMiddlewareConfig & { - assistant: Assistant - // topicId for tracing - topicId?: string - callType: string - } + config: ModernAiProviderConfig ): Promise { // 初始化 provider 到全局管理器 try { @@ -114,12 +107,7 @@ export default class ModernAiProvider { private async _completionsForTrace( modelId: string, params: StreamTextParams, - config: AiSdkMiddlewareConfig & { - assistant: Assistant - // topicId for tracing - topicId: string - callType: string - } + config: ModernAiProviderConfig & { topicId: string } ): Promise { const traceName = `${this.actualProvider.name}.${modelId}.${config.callType}` const traceParams: StartSpanParams = { @@ -202,11 +190,7 @@ export default class ModernAiProvider { private async modernCompletions( modelId: string, params: StreamTextParams, - config: AiSdkMiddlewareConfig & { - assistant: Assistant - topicId?: string - callType: string - } + config: ModernAiProviderConfig ): Promise { logger.info('Starting modernCompletions', { modelId, @@ -335,12 +319,7 @@ export default class ModernAiProvider { private async modernImageGeneration( modelId: string, params: StreamTextParams, - config: AiSdkMiddlewareConfig & { - assistant: Assistant - // topicId for tracing - topicId?: string - callType: string - } + config: ModernAiProviderConfig ): Promise { const { onChunk } = config