Skip to content

feat: add SearXNG as primary web search backend#69

Open
Nullislander0 wants to merge 1 commit intoKuberwastaken:mainfrom
Nullislander0:feat/searxng-web-search
Open

feat: add SearXNG as primary web search backend#69
Nullislander0 wants to merge 1 commit intoKuberwastaken:mainfrom
Nullislander0:feat/searxng-web-search

Conversation

@Nullislander0
Copy link
Copy Markdown

Summary

  • Adds SearXNG (self-hosted meta-search engine) as the preferred web search backend
  • Three-tier fallback: SearXNG → Brave Search API → DuckDuckGo Instant Answers
  • SearXNG aggregates results from multiple engines (Google, Bing, DDG, Brave, etc.) and returns engine attribution and relevance scores
  • Configured via SEARXNG_URL env var (defaults to http://localhost:8888)
  • Bumps max results from 10 to 20
  • Gracefully falls back to existing Brave/DDG path if SearXNG is unavailable (15s timeout)

This keeps the existing search behavior fully intact for users without SearXNG — the only change for them is the higher max results cap.

Test plan

  • cargo build -p claurst-tools compiles clean
  • Full workspace build passes on Windows 10
  • Test with SearXNG running locally (SEARXNG_URL=http://localhost:8888)
  • Test fallback when SearXNG is down (should fall through to Brave/DDG as before)
  • Test with BRAVE_SEARCH_API_KEY set (second tier)
  • Test with no env vars set (DDG fallback, existing behavior)

🤖 Generated with Claude Code

Adds a three-tier search fallback strategy:
1. SearXNG (self-hosted meta-search) - tried first via SEARXNG_URL env var
2. Brave Search API - tried if SearXNG unavailable
3. DuckDuckGo Instant Answers - last resort

SearXNG aggregates results from multiple engines (Google, Bing, DDG,
Brave, etc.) and returns engine attribution and relevance scores.
Also bumps max results from 10 to 20.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant