From d1e85f964dc07ed3d7798b01c39fc0c0e6b10a0f Mon Sep 17 00:00:00 2001 From: MyPrototypeWhat Date: Fri, 26 Sep 2025 12:10:28 +0800 Subject: [PATCH] fix(websearch): handle blocked domains conditionally in web search (#10374) fix(websearch): handle blocked domains conditionally in web search configurations - Updated the handling of blocked domains in both Google Vertex and Anthropic web search configurations to only include them if they are present, improving robustness and preventing unnecessary parameters from being passed. --- src/renderer/src/aiCore/prepareParams/parameterBuilder.ts | 3 ++- src/renderer/src/aiCore/utils/websearch.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/aiCore/prepareParams/parameterBuilder.ts b/src/renderer/src/aiCore/prepareParams/parameterBuilder.ts index 0a89e73c62..1ad04230b5 100644 --- a/src/renderer/src/aiCore/prepareParams/parameterBuilder.ts +++ b/src/renderer/src/aiCore/prepareParams/parameterBuilder.ts @@ -134,9 +134,10 @@ export async function buildStreamTextParams( if (aiSdkProviderId === 'google-vertex') { tools.google_search = vertex.tools.googleSearch({}) as ProviderDefinedTool } else if (aiSdkProviderId === 'google-vertex-anthropic') { + const blockedDomains = mapRegexToPatterns(webSearchConfig.excludeDomains) tools.web_search = vertexAnthropic.tools.webSearch_20250305({ maxUses: webSearchConfig.maxResults, - blockedDomains: mapRegexToPatterns(webSearchConfig.excludeDomains) + blockedDomains: blockedDomains.length > 0 ? blockedDomains : undefined }) as ProviderDefinedTool } } diff --git a/src/renderer/src/aiCore/utils/websearch.ts b/src/renderer/src/aiCore/utils/websearch.ts index 2fda7c1b19..9e29454b79 100644 --- a/src/renderer/src/aiCore/utils/websearch.ts +++ b/src/renderer/src/aiCore/utils/websearch.ts @@ -61,9 +61,10 @@ export function buildProviderBuiltinWebSearchConfig( } } case 'anthropic': { + const blockedDomains = mapRegexToPatterns(webSearchConfig.excludeDomains) const anthropicSearchOptions: AnthropicSearchConfig = { maxUses: webSearchConfig.maxResults, - blockedDomains: mapRegexToPatterns(webSearchConfig.excludeDomains) + blockedDomains: blockedDomains.length > 0 ? blockedDomains : undefined } return { anthropic: anthropicSearchOptions