feat(web): searxng plugin (search-only, third migration)

Adds plugins/web/searxng/. SearXNG aggregates results from upstream engines
via its JSON API (/search?format=json) — search-only, no extract capability
(supports_extract() returns False).

E2E verified — registry now has ['brave-free', 'ddgs', 'searxng'].
This commit is contained in:
kshitijk4poor 2026-05-13 23:32:06 +05:30
parent 724ce3439d
commit 8f1aa2bf51
3 changed files with 160 additions and 0 deletions

View file

@ -0,0 +1,15 @@
"""SearXNG search plugin — bundled, auto-loaded.
Backed by a user-hosted SearXNG instance (URL configured via ``SEARXNG_URL``).
Search-only pair with an extract provider (firecrawl/tavily/exa) for
``web_extract`` calls.
"""
from __future__ import annotations
from plugins.web.searxng.provider import SearXNGWebSearchProvider
def register(ctx) -> None:
"""Register the SearXNG provider with the plugin context."""
ctx.register_web_search_provider(SearXNGWebSearchProvider())