From b67ca79e2ad2abc431c6a4d7b7a171e738c96f1c Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Wed, 15 Oct 2025 13:02:08 +0530 Subject: [PATCH] feat(config): add `searxngURL` --- src/lib/config/serverRegistry.ts | 2 ++ src/lib/config/types.ts | 4 ++++ src/lib/searxng.ts | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/config/serverRegistry.ts b/src/lib/config/serverRegistry.ts index c21ce24..9214e29 100644 --- a/src/lib/config/serverRegistry.ts +++ b/src/lib/config/serverRegistry.ts @@ -10,3 +10,5 @@ export const getConfiguredModelProviderById = ( ): ConfigModelProvider | undefined => { return getConfiguredModelProviders().find((p) => p.id === id) ?? undefined; }; + +export const getSearxngURL = () => configManager.getConfig('search.searxngURL', '') diff --git a/src/lib/config/types.ts b/src/lib/config/types.ts index 34fdcb9..f4da00b 100644 --- a/src/lib/config/types.ts +++ b/src/lib/config/types.ts @@ -55,6 +55,9 @@ type Config = { [key: string]: any; }; modelProviders: ConfigModelProvider[]; + search: { + [key: string]: any + } }; type EnvMap = { @@ -73,6 +76,7 @@ type ModelProviderUISection = { type UIConfigSections = { general: UIConfigField[]; modelProviders: ModelProviderUISection[]; + search: UIConfigField[]; }; export type { diff --git a/src/lib/searxng.ts b/src/lib/searxng.ts index ae19db2..cca41b2 100644 --- a/src/lib/searxng.ts +++ b/src/lib/searxng.ts @@ -1,5 +1,5 @@ import axios from 'axios'; -import { getSearxngApiEndpoint } from './config'; +import { getSearxngURL } from './config/serverRegistry'; interface SearxngSearchOptions { categories?: string[]; @@ -23,7 +23,7 @@ export const searchSearxng = async ( query: string, opts?: SearxngSearchOptions, ) => { - const searxngURL = getSearxngApiEndpoint(); + const searxngURL = getSearxngURL(); const url = new URL(`${searxngURL}/search?format=json`); url.searchParams.append('q', query);