diff --git a/src/assets/locale/en/settings.json b/src/assets/locale/en/settings.json index 0396fda..7107a00 100644 --- a/src/assets/locale/en/settings.json +++ b/src/assets/locale/en/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Total Search Results", "placeholder": "Enter Total Search Results" + }, + "visitSpecificWebsite": { + "label": "Visit the website mentioned in the message" } }, "system": { diff --git a/src/assets/locale/es/settings.json b/src/assets/locale/es/settings.json index e8c46cb..d1f1785 100644 --- a/src/assets/locale/es/settings.json +++ b/src/assets/locale/es/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Resultados totales de la busqueda", "placeholder": "Ingresar el total de Resultados de la busqueda" + }, + "visitSpecificWebsite": { + "label": "Visita el sitio web mencionado en el mensaje" } }, "system": { @@ -286,4 +289,4 @@ "webSearchFollowUpPromptPlaceholder": "Su prompt de seguimiento de busqueda web" } } -} +} \ No newline at end of file diff --git a/src/assets/locale/fr/settings.json b/src/assets/locale/fr/settings.json index e06e7ed..634358f 100644 --- a/src/assets/locale/fr/settings.json +++ b/src/assets/locale/fr/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Résultats de la recherche totaux", "placeholder": "Entrez les résultats de la recherche totaux" + }, + "visitSpecificWebsite": { + "label": "Visitez le site web mentionné dans le message" } }, "system": { diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json index c083e5f..41bef3d 100644 --- a/src/assets/locale/it/settings.json +++ b/src/assets/locale/it/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Risultati della ricerca", "placeholder": "Inserisci il totale delle ricerche" + }, + "visitSpecificWebsite": { + "label": "Visita il sito web menzionato nel messaggio" } }, "system": { diff --git a/src/assets/locale/ja-JP/settings.json b/src/assets/locale/ja-JP/settings.json index cef567f..74c9567 100644 --- a/src/assets/locale/ja-JP/settings.json +++ b/src/assets/locale/ja-JP/settings.json @@ -40,6 +40,9 @@ "totalSearchResults": { "label": "合計検索結果", "placeholder": "合計検索結果を入力する" + }, + "visitSpecificWebsite": { + "label": "メッセージに記載されたウェブサイトを訪問してください" } }, "system": { diff --git a/src/assets/locale/ml/settings.json b/src/assets/locale/ml/settings.json index b83a07e..46780df 100644 --- a/src/assets/locale/ml/settings.json +++ b/src/assets/locale/ml/settings.json @@ -40,6 +40,9 @@ "totalSearchResults": { "label": "ആകെ തിരച്ചിൽ ഫലങ്ങൾ", "placeholder": "ആകെ തിരച്ചിൽ ഫലങ്ങളുടെ എണ്ണം നൽകുക" + }, + "visitSpecificWebsite": { + "label": "സന്ദേശത്തിൽ പറയുന്ന വെബ്സൈറ്റ് സന്ദർശിക്കുക." } }, "system": { diff --git a/src/assets/locale/pt-BR/settings.json b/src/assets/locale/pt-BR/settings.json index fb22698..21bcee4 100644 --- a/src/assets/locale/pt-BR/settings.json +++ b/src/assets/locale/pt-BR/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Resultados de Pesquisa Totais", "placeholder": "Insira Resultados de Pesquisa Totais" + }, + "visitSpecificWebsite": { + "label": "Visite o site mencionado na mensagem." } }, "system": { diff --git a/src/assets/locale/ru/settings.json b/src/assets/locale/ru/settings.json index d745db8..6099b2a 100644 --- a/src/assets/locale/ru/settings.json +++ b/src/assets/locale/ru/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Общее количество результатов поиска", "placeholder": "Введите общее количество результатов поиска" + }, + "visitSpecificWebsite": { + "label": "Посетите веб-сайт, указанный в сообщении." } }, "system": { diff --git a/src/assets/locale/zh/settings.json b/src/assets/locale/zh/settings.json index 9b27993..44213eb 100644 --- a/src/assets/locale/zh/settings.json +++ b/src/assets/locale/zh/settings.json @@ -40,7 +40,10 @@ "totalSearchResults": { "label": "总搜索结果", "placeholder": "输入总搜索结果" - } + }, + "visitSpecificWebsite": { + "label": "访问消息中提到的网站。" + } }, "system": { "heading": "系统设置", diff --git a/src/components/Option/Settings/search-mode.tsx b/src/components/Option/Settings/search-mode.tsx index e7cc04d..53f391b 100644 --- a/src/components/Option/Settings/search-mode.tsx +++ b/src/components/Option/Settings/search-mode.tsx @@ -13,7 +13,8 @@ export const SearchModeSettings = () => { initialValues: { isSimpleInternetSearch: false, searchProvider: "", - totalSearchResults: 0 + totalSearchResults: 0, + visitSpecificWebsite: false } }) @@ -67,7 +68,7 @@ export const SearchModeSettings = () => {
{
+
+ + {t("generalSettings.webSearch.visitSpecificWebsite.label")} + +
+ +
+
+
diff --git a/src/services/search.ts b/src/services/search.ts index f3851b9..19e5f28 100644 --- a/src/services/search.ts +++ b/src/services/search.ts @@ -15,6 +15,21 @@ export const getIsSimpleInternetSearch = async () => { return isSimpleInternetSearch === "true" } +export const getIsVisitSpecificWebsite = async () => { + const isVisitSpecificWebsite = await storage.get("isVisitSpecificWebsite") + if (!isVisitSpecificWebsite || isVisitSpecificWebsite.length === 0) { + return false + } + return isVisitSpecificWebsite === "true" +} + + +export const setIsVisitSpecificWebsite = async ( + isVisitSpecificWebsite: boolean +) => { + await storage.set("isVisitSpecificWebsite", isVisitSpecificWebsite.toString()) +} + export const setIsSimpleInternetSearch = async ( isSimpleInternetSearch: boolean ) => { @@ -48,32 +63,37 @@ export const setTotalSearchResults = async (totalSearchResults: number) => { } export const getSearchSettings = async () => { - const [isSimpleInternetSearch, searchProvider, totalSearchResult] = + const [isSimpleInternetSearch, searchProvider, totalSearchResult, visitSpecificWebsite] = await Promise.all([ getIsSimpleInternetSearch(), getSearchProvider(), - totalSearchResults() + totalSearchResults(), + getIsVisitSpecificWebsite() ]) return { isSimpleInternetSearch, searchProvider, - totalSearchResults: totalSearchResult + totalSearchResults: totalSearchResult, + visitSpecificWebsite } } export const setSearchSettings = async ({ isSimpleInternetSearch, searchProvider, - totalSearchResults + totalSearchResults, + visitSpecificWebsite }: { isSimpleInternetSearch: boolean searchProvider: string totalSearchResults: number + visitSpecificWebsite: boolean }) => { await Promise.all([ setIsSimpleInternetSearch(isSimpleInternetSearch), setSearchProvider(searchProvider), - setTotalSearchResults(totalSearchResults) + setTotalSearchResults(totalSearchResults), + setIsVisitSpecificWebsite(visitSpecificWebsite) ]) } diff --git a/src/web/web.ts b/src/web/web.ts index 8661489..88aabc4 100644 --- a/src/web/web.ts +++ b/src/web/web.ts @@ -1,7 +1,7 @@ import { getWebSearchPrompt } from "~/services/ollama" import { webGoogleSearch } from "./search-engines/google" import { webDuckDuckGoSearch } from "./search-engines/duckduckgo" -import { getSearchProvider } from "@/services/search" +import { getIsVisitSpecificWebsite, getSearchProvider } from "@/services/search" import { webSogouSearch } from "./search-engines/sogou" import { webBraveSearch } from "./search-engines/brave" import { getWebsiteFromQuery, processSingleWebsite } from "./website" @@ -37,7 +37,9 @@ export const getSystemPromptForWeb = async (query: string) => { content: string; }[] = [] - if (websiteVisit.hasUrl) { + const isVisitSpecificWebsite = await getIsVisitSpecificWebsite() + + if (isVisitSpecificWebsite && websiteVisit.hasUrl) { const url = websiteVisit.url const queryWithoutUrl = websiteVisit.queryWithouUrls diff --git a/src/web/website/index.ts b/src/web/website/index.ts index 021db16..e0ce399 100644 --- a/src/web/website/index.ts +++ b/src/web/website/index.ts @@ -10,16 +10,16 @@ import { MemoryVectorStore } from "langchain/vectorstores/memory" export const processSingleWebsite = async (url: string, query: string) => { let content = await extractReadabilityContent(url) - const isSimpleMode = await getIsSimpleInternetSearch() + // const isSimpleMode = await getIsSimpleInternetSearch() - if (isSimpleMode) { - return [ - { - url, - content: content.length > 5000 ? content.slice(0, 5000) : content - } - ] - } + // if (isSimpleMode) { + // return [ + // { + // url, + // content: content.length > 5000 ? content.slice(0, 5000) : content + // } + // ] + // } const docs: Document>[] = [ {