Remove SearXNG search backend, use Firecrawl exclusively

SearXNG was a fallback search backend that added complexity without
being used in practice. All search-dependent features (web search,
government DB checks, vetting orchestrator, tracker mapping) now use
Firecrawl exclusively. Removes the SEARCH_ENDPOINT config plumbing
from probodconfig, bootstrap, Helm charts, and all callers.

Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
Émile Ré
2026-05-19 10:01:01 +04:00
parent 091be2653a
commit a67ac462d7
15 changed files with 59 additions and 268 deletions

View File

@@ -71,12 +71,13 @@ var (
type (
Config struct {
Client *llm.Client
Model string
MaxTokens int
ChromeAddr string
SearchEndpoint string
Logger *log.Logger
Client *llm.Client
Model string
MaxTokens int
ChromeAddr string
FirecrawlEndpoint string
FirecrawlAPIKey string
Logger *log.Logger
}
Assessor struct {
@@ -209,7 +210,8 @@ func (a *Assessor) Assess(ctx context.Context, websiteURL string, procedure stri
a.cfg.Logger,
thirdPartyBrowser,
researchBrowser,
a.cfg.SearchEndpoint,
a.cfg.FirecrawlEndpoint,
a.cfg.FirecrawlAPIKey,
reporter,
)
if err != nil {

View File

@@ -65,7 +65,8 @@ func newOrchestratorAgent(
logger *log.Logger,
thirdPartyBrowser *browser.Browser,
researchBrowser *browser.Browser,
searchEndpoint string,
firecrawlEndpoint string,
firecrawlAPIKey string,
reporter agent.ProgressReporter,
) (*agent.Agent, error) {
readOnlyBrowserTools := browser.NewReadOnlyToolset(thirdPartyBrowser).Tools()
@@ -88,11 +89,13 @@ func newOrchestratorAgent(
return opts
}
hasFirecrawl := firecrawlEndpoint != "" && firecrawlAPIKey != ""
// Subprocessor agent benefits from web search when available so it can
// find subprocessor pages hosted on third-party platforms.
subprocessorTools := unrestrictedBrowserTools
if searchEndpoint != "" {
subprocessorTools = append(subprocessorTools, search.WebSearchTool(searchEndpoint))
if hasFirecrawl {
subprocessorTools = append(subprocessorTools, search.FirecrawlSearchTool(firecrawlEndpoint, firecrawlAPIKey))
}
// Core sub-agents that always run.
@@ -171,12 +174,12 @@ func newOrchestratorAgent(
},
}
// Optional sub-agents: only added when a search endpoint is configured.
if searchEndpoint != "" {
// Optional sub-agents: only added when Firecrawl is configured.
if hasFirecrawl {
researchBrowserTools := browser.NewInteractiveToolset(researchBrowser).Tools()
searchTool := search.WebSearchTool(searchEndpoint)
govDBTool := search.CheckGovernmentDBTool(searchEndpoint)
searchTool := search.FirecrawlSearchTool(firecrawlEndpoint, firecrawlAPIKey)
govDBTool := search.CheckGovernmentDBTool(firecrawlEndpoint, firecrawlAPIKey)
waybackTool := search.CheckWaybackTool()
diffTool := search.DiffDocumentsTool()