diff --git a/src/renderer/src/aiCore/index_new.ts b/src/renderer/src/aiCore/index_new.ts index 81c4aa1df3..b748e3c832 100644 --- a/src/renderer/src/aiCore/index_new.ts +++ b/src/renderer/src/aiCore/index_new.ts @@ -83,10 +83,8 @@ export default class ModernAiProvider { throw new Error('Model is required for completions. Please use constructor with model parameter.') } - // 确保配置存在 - if (!this.config) { - this.config = providerToAiSdkConfig(this.actualProvider, this.model) - } + // 每次请求时重新生成配置以确保API key轮换生效 + this.config = providerToAiSdkConfig(this.actualProvider, this.model) // 准备特殊配置 await prepareSpecialProviderConfig(this.actualProvider, this.config) diff --git a/src/renderer/src/aiCore/legacy/clients/BaseApiClient.ts b/src/renderer/src/aiCore/legacy/clients/BaseApiClient.ts index 9fb687a265..4a41db7c97 100644 --- a/src/renderer/src/aiCore/legacy/clients/BaseApiClient.ts +++ b/src/renderer/src/aiCore/legacy/clients/BaseApiClient.ts @@ -70,13 +70,19 @@ export abstract class BaseApiClient< { public provider: Provider protected host: string - protected apiKey: string protected sdkInstance?: TSdkInstance constructor(provider: Provider) { this.provider = provider this.host = this.getBaseURL() - this.apiKey = this.getApiKey() + } + + /** + * Get the current API key with rotation support + * This getter ensures API keys rotate on each access when multiple keys are configured + */ + protected get apiKey(): string { + return this.getApiKey() } /**