feat: Add SearXNG search provider and settings

This commit is contained in:
n4ze3m
2024-12-01 00:23:17 +05:30
parent 138e41e122
commit c8c71f69cc
21 changed files with 292 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ import { getIsVisitSpecificWebsite, getSearchProvider } from "@/services/search"
import { webSogouSearch } from "./search-engines/sogou"
import { webBraveSearch } from "./search-engines/brave"
import { getWebsiteFromQuery, processSingleWebsite } from "./website"
import { searxngSearch } from "./search-engines/searxng"
const getHostName = (url: string) => {
try {
@@ -23,6 +24,8 @@ const searchWeb = (provider: string, query: string) => {
return webSogouSearch(query)
case "brave":
return webBraveSearch(query)
case "searxng":
return searxngSearch(query)
default:
return webGoogleSearch(query)
}
@@ -47,11 +50,11 @@ export const getSystemPromptForWeb = async (query: string) => {
} else {
const searchProvider = await getSearchProvider()
//@ts-ignore
search = await searchWeb(searchProvider, query)
}
const search_results = search
.map(
(result, idx) =>