From 1d8c488e9736b133311682393db3eb7984dbe7fc Mon Sep 17 00:00:00 2001 From: Timothy Carambat Date: Thu, 5 Mar 2026 14:49:32 -0800 Subject: [PATCH] Remove Google web-search Programmable SERP (#5156) --- .../SearchProviderOptions/index.jsx | 52 -------------- .../WebSearchSelection/icons/google.png | Bin 18000 -> 0 bytes .../Admin/Agents/WebSearchSelection/index.jsx | 15 +--- server/models/systemSettings.js | 2 - .../agents/aibitat/plugins/web-browsing.js | 64 +----------------- server/utils/helpers/updateENV.js | 8 --- 6 files changed, 4 insertions(+), 137 deletions(-) delete mode 100644 frontend/src/pages/Admin/Agents/WebSearchSelection/icons/google.png diff --git a/frontend/src/pages/Admin/Agents/WebSearchSelection/SearchProviderOptions/index.jsx b/frontend/src/pages/Admin/Agents/WebSearchSelection/SearchProviderOptions/index.jsx index f26e3ede..3a431f7b 100644 --- a/frontend/src/pages/Admin/Agents/WebSearchSelection/SearchProviderOptions/index.jsx +++ b/frontend/src/pages/Admin/Agents/WebSearchSelection/SearchProviderOptions/index.jsx @@ -1,55 +1,3 @@ -export function GoogleSearchOptions({ settings }) { - return ( - <> -

- You can get a free search engine & API key{" "} - - from Google here. - -

-
-
- - -
-
- - -
-
- - ); -} - const SerpApiEngines = [ { name: "Google Search", value: "google" }, { name: "Google Images", value: "google_images_light" }, diff --git a/frontend/src/pages/Admin/Agents/WebSearchSelection/icons/google.png b/frontend/src/pages/Admin/Agents/WebSearchSelection/icons/google.png deleted file mode 100644 index 58a831856c3d832114f37307b6bfcea4273202ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18000 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 G5}E){M3AWf diff --git a/frontend/src/pages/Admin/Agents/WebSearchSelection/index.jsx b/frontend/src/pages/Admin/Agents/WebSearchSelection/index.jsx index f843f205..f2ca6fde 100644 --- a/frontend/src/pages/Admin/Agents/WebSearchSelection/index.jsx +++ b/frontend/src/pages/Admin/Agents/WebSearchSelection/index.jsx @@ -1,7 +1,6 @@ import React, { useEffect, useRef, useState } from "react"; import Admin from "@/models/admin"; import AnythingLLMIcon from "@/media/logo/anything-llm-icon.png"; -import GoogleSearchIcon from "./icons/google.png"; import SerpApiIcon from "./icons/serpapi.png"; import SearchApiIcon from "./icons/searchapi.png"; import SerperDotDevIcon from "./icons/serper.png"; @@ -24,7 +23,6 @@ import { SerpApiOptions, SearchApiOptions, SerperDotDevOptions, - GoogleSearchOptions, BingSearchOptions, SerplySearchOptions, SearXNGOptions, @@ -49,13 +47,6 @@ const SEARCH_PROVIDERS = [ options: () => , description: "Free and privacy-focused web search using DuckDuckGo.", }, - { - name: "Google Search Engine", - value: "google-search-engine", - logo: GoogleSearchIcon, - options: (settings) => , - description: "Web search powered by a custom Google Search Engine.", - }, { name: "SerpApi", value: "serpapi", @@ -164,9 +155,9 @@ export default function AgentWebSearchSelection({ .catch(() => setSelectedProvider("none")); }, []); - const selectedSearchProviderObject = SEARCH_PROVIDERS.find( - (provider) => provider.value === selectedProvider - ); + const selectedSearchProviderObject = + SEARCH_PROVIDERS.find((provider) => provider.value === selectedProvider) ?? + SEARCH_PROVIDERS[1]; return (
diff --git a/server/models/systemSettings.js b/server/models/systemSettings.js index 2fae9aae..00fd67c8 100644 --- a/server/models/systemSettings.js +++ b/server/models/systemSettings.js @@ -291,8 +291,6 @@ const SystemSettings = { // -------------------------------------------------------- // Agent Settings & Configs // -------------------------------------------------------- - AgentGoogleSearchEngineId: process.env.AGENT_GSE_CTX || null, - AgentGoogleSearchEngineKey: !!process.env.AGENT_GSE_KEY || null, AgentSerpApiKey: !!process.env.AGENT_SERPAPI_API_KEY || null, AgentSerpApiEngine: process.env.AGENT_SERPAPI_ENGINE || "google", AgentSearchApiKey: !!process.env.AGENT_SEARCHAPI_API_KEY || null, diff --git a/server/utils/agents/aibitat/plugins/web-browsing.js b/server/utils/agents/aibitat/plugins/web-browsing.js index 6d8dae3b..316bdd99 100644 --- a/server/utils/agents/aibitat/plugins/web-browsing.js +++ b/server/utils/agents/aibitat/plugins/web-browsing.js @@ -66,9 +66,6 @@ const webBrowsing = { ?.value ?? "unknown"; let engine; switch (provider) { - case "google-search-engine": - engine = "_googleSearchEngine"; - break; case "serpapi": engine = "_serpApi"; break; @@ -97,7 +94,7 @@ const webBrowsing = { engine = "_exaSearch"; break; default: - engine = "_googleSearchEngine"; + engine = "_duckDuckGoEngine"; } return await this[engine](query); }, @@ -114,65 +111,6 @@ const webBrowsing = { return `${str.slice(0, length)}...${str.slice(-length)}`; }, - /** - * Use Google Custom Search Engines - * Free to set up, easy to use, 100 calls/day - * https://programmablesearchengine.google.com/controlpanel/create - */ - _googleSearchEngine: async function (query) { - if (!process.env.AGENT_GSE_CTX || !process.env.AGENT_GSE_KEY) { - this.super.introspect( - `${this.caller}: I can't use Google searching because the user has not defined the required API keys.\nVisit: https://programmablesearchengine.google.com/controlpanel/create to create the API keys.` - ); - return `Search is disabled and no content was found. This functionality is disabled because the user has not set it up yet.`; - } - - const searchURL = new URL( - "https://www.googleapis.com/customsearch/v1" - ); - searchURL.searchParams.append("key", process.env.AGENT_GSE_KEY); - searchURL.searchParams.append("cx", process.env.AGENT_GSE_CTX); - searchURL.searchParams.append("q", query); - - this.super.introspect( - `${this.caller}: Searching on Google for "${ - query.length > 100 ? `${query.slice(0, 100)}...` : query - }"` - ); - const data = await fetch(searchURL) - .then((res) => { - if (res.ok) return res.json(); - throw new Error( - `${res.status} - ${res.statusText}. params: ${JSON.stringify({ key: this.middleTruncate(process.env.AGENT_GSE_KEY, 5), cx: this.middleTruncate(process.env.AGENT_GSE_CTX, 5), q: query })}` - ); - }) - .then((searchResult) => searchResult?.items || []) - .then((items) => { - return items.map((item) => { - return { - title: item.title, - link: item.link, - snippet: item.snippet, - }; - }); - }) - .catch((e) => { - this.super.handlerProps.log( - `${this.name}: Google Search Error: ${e.message}` - ); - return []; - }); - - if (data.length === 0) - return `No information was found online for the search query.`; - - const result = JSON.stringify(data); - this.super.introspect( - `${this.caller}: I found ${data.length} results - reviewing the results now. (~${this.countTokens(result)} tokens)` - ); - return result; - }, - /** * Use SerpApi * SerpApi supports dozens of search engines across the major platforms including Google, DuckDuckGo, Bing, eBay, Amazon, Baidu, Yandex, and more. diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js index 89161130..fb87736d 100644 --- a/server/utils/helpers/updateENV.js +++ b/server/utils/helpers/updateENV.js @@ -562,14 +562,6 @@ const KEY_MAPPING = { }, // Agent Integration ENVs - AgentGoogleSearchEngineId: { - envKey: "AGENT_GSE_CTX", - checks: [], - }, - AgentGoogleSearchEngineKey: { - envKey: "AGENT_GSE_KEY", - checks: [], - }, AgentSerpApiKey: { envKey: "AGENT_SERPAPI_API_KEY", checks: [],