From a1dba93d2720232f0b955993d8ae646e40cfb4b8 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Fri, 11 Apr 2025 14:42:35 +0800 Subject: [PATCH] feat(websearch): initialize subscribeSources in migrateConfig and update WebSearchState interface --- src/renderer/src/store/migrate.ts | 7 +++++++ src/renderer/src/store/websearch.ts | 1 + src/renderer/src/utils/blacklistMatchPattern.ts | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index 5b0aa17f..0f113187 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -1198,6 +1198,13 @@ const migrateConfig = { addWebSearchProvider(state, 'local-google') addWebSearchProvider(state, 'local-bing') addWebSearchProvider(state, 'local-baidu') + + if (state.websearch) { + if (isEmpty(state.websearch.subscribeSources)) { + state.websearch.subscribeSources = [] + } + } + const qiniuProvider = state.llm.providers.find((provider) => provider.id === 'qiniu') if (qiniuProvider && isEmpty(qiniuProvider.models)) { qiniuProvider.models = SYSTEM_MODELS.qiniu diff --git a/src/renderer/src/store/websearch.ts b/src/renderer/src/store/websearch.ts index 82e471f9..3c7b2902 100644 --- a/src/renderer/src/store/websearch.ts +++ b/src/renderer/src/store/websearch.ts @@ -18,6 +18,7 @@ export interface WebSearchState { maxResults: number // 要排除的域名列表 excludeDomains: string[] + // 订阅源列表 subscribeSources: SubscribeSource[] // 是否启用搜索增强模式 enhanceMode: boolean diff --git a/src/renderer/src/utils/blacklistMatchPattern.ts b/src/renderer/src/utils/blacklistMatchPattern.ts index d9a11d09..0887c04e 100644 --- a/src/renderer/src/utils/blacklistMatchPattern.ts +++ b/src/renderer/src/utils/blacklistMatchPattern.ts @@ -206,8 +206,9 @@ export async function filterResultWithBlacklist( websearch: WebSearchState ): Promise { console.log('filterResultWithBlacklist', response) + // 没有结果或者没有黑名单规则时,直接返回原始结果 - if (!response.results?.length || (!websearch.excludeDomains.length && !websearch.subscribeSources.length)) { + if (!response.results?.length || (!websearch?.excludeDomains?.length && !websearch?.subscribeSources?.length)) { return response }