From 1d331c8ffc6365e6d1ae4288f6230be4fa891215 Mon Sep 17 00:00:00 2001 From: lizhixuan Date: Sat, 30 Aug 2025 18:18:33 +0800 Subject: [PATCH] feat(providerConfig): add AWS Bedrock support in provider configuration - Implemented AWS Bedrock integration by adding access key, region, and secret access key retrieval. - Enhanced providerToAiSdkConfig function to handle Bedrock-specific options. --- src/renderer/src/aiCore/provider/providerConfig.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/renderer/src/aiCore/provider/providerConfig.ts b/src/renderer/src/aiCore/provider/providerConfig.ts index 51f9c52db7..2dcf3ba154 100644 --- a/src/renderer/src/aiCore/provider/providerConfig.ts +++ b/src/renderer/src/aiCore/provider/providerConfig.ts @@ -5,6 +5,11 @@ import { type ProviderSettingsMap } from '@cherrystudio/ai-core/provider' import { isOpenAIChatCompletionOnlyModel } from '@renderer/config/models' +import { + getAwsBedrockAccessKeyId, + getAwsBedrockRegion, + getAwsBedrockSecretAccessKey +} from '@renderer/hooks/useAwsBedrock' import { createVertexProvider, isVertexAIConfigured, isVertexProvider } from '@renderer/hooks/useVertexAI' import { getProviderByModel } from '@renderer/services/AssistantService' import { loggerService } from '@renderer/services/LoggerService' @@ -118,6 +123,13 @@ export function providerToAiSdkConfig( } } + // bedrock + if (aiSdkProviderId === 'bedrock') { + extraOptions.region = getAwsBedrockRegion() + extraOptions.accessKeyId = getAwsBedrockAccessKeyId() + extraOptions.secretAccessKey = getAwsBedrockSecretAccessKey() + } + // 如果AI SDK支持该provider,使用原生配置 if (hasProviderConfig(aiSdkProviderId) && aiSdkProviderId !== 'openai-compatible') { const options = ProviderConfigFactory.fromProvider(aiSdkProviderId, baseConfig, extraOptions)