Intelligent multi-provider search routing for AI agents. Available as an OpenClaw Skill, native OpenClaw Plugin, MCP server, and Hermes integration.
Analyzes query intent and selects the best provider. No manual switching, no guesswork.
Automatically picks the right provider based on query intent. Research โ Tavily. Shopping โ Serper/Brave. Neural discovery โ Exa. Extraction โ Linkup first.
If one provider is down or key is missing, seamlessly falls back to the next best option. Research mode keeps partial results instead of nuking the whole answer.
Optional quality reports show routing decisions, provider errors, result counts, and why a provider was chosen โ useful diagnostics without changing normal behavior.
Opt in with mode="research" and research_time_budget. It searches first, extracts second, and skips expensive work when the budget is gone.
Each provider excels at different query types. Web Search Plus knows which one to call.
| Provider | Best for | Config Key |
|---|---|---|
| Serper | Google results, shopping, news, local | SERPER_API_KEY |
| Brave | General web search, privacy-minded fallback, fresh broad results | BRAVE_API_KEY |
| Tavily | Research, deep analysis, "how does X work" | TAVILY_API_KEY |
| Exa | Discovery, "similar to", neural search | EXA_API_KEY |
| Querit | Multilingual queries, AI-native search | QUERIT_API_KEY |
| Linkup | Citation-backed answers, fact-checking, grounded search | LINKUP_API_KEY |
| Firecrawl | Web discovery with scrape-ready structured content | FIRECRAWL_API_KEY |
| Perplexity | Direct AI answers, summarized results | PERPLEXITY_API_KEY |
| You.com | RAG, real-time web, code snippets | YOU_API_KEY |
| SearXNG | Privacy-first, self-hosted, no API key | SEARXNG_INSTANCE_URL |
Four ways in โ same smart routing engine under the hood.
OpenClaw Skill with 10 search providers, smart routing, fallback, caching, setup scripts, and URL extraction via scripts/extract.py. Best for portable skill workflows and CLI-driven agents.
clawhub install web-search-plus
Standard MCP server. Works with Claude Desktop, Cursor, NanoBot, and any MCP-compatible client. One command to install.
uvx web-search-plus-mcp
Registers web_search_plus and web_extract_plus as native OpenClaw tools. 10 search providers including Brave, deterministic auto-routing, fallback, caching, and URL content extraction across 5 providers (Firecrawl, Linkup, Tavily, Exa, You.com).
openclaw plugins install clawhub:web-search-plus-plugin-v2
Python port of web-search-plus for Hermes Agent. Multi-provider search across 10 providers with intelligent auto-routing, quality reports, opt-in research mode, and budget-limited URL extraction. Same routing logic โ native Hermes integration.
git clone https://github.com/robbyczgw-cla/hermes-web-search-plus
Pick your setup and paste. That's it.
# Install the OpenClaw Skill (v3.0.0) clawhub install web-search-plus # Add at least one provider key or SearXNG URL SERPER_API_KEY=your-serper-key BRAVE_API_KEY=your-brave-key TAVILY_API_KEY=your-tavily-key LINKUP_API_KEY=your-linkup-key FIRECRAWL_API_KEY=your-firecrawl-key EXA_API_KEY=your-exa-key QUERIT_API_KEY=your-querit-key PERPLEXITY_API_KEY=your-perplexity-key # Search + extraction are available through scripts/search.py and scripts/extract.py.
# Install from ClawHub (v2.3.2) openclaw plugins install clawhub:web-search-plus-plugin-v2 # Or clone manually from GitHub git clone https://github.com/robbyczgw-cla/web-search-plus-plugin # Set at least one provider key in ~/.openclaw/.env SERPER_API_KEY=your-serper-key BRAVE_API_KEY=your-brave-key TAVILY_API_KEY=your-tavily-key LINKUP_API_KEY=your-linkup-key FIRECRAWL_API_KEY=your-firecrawl-key EXA_API_KEY=your-exa-key # Done! web_search_plus and web_extract_plus are native tools.
# 1) Install + enable the Hermes plugin hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable # 2) Add provider keys to Hermes' env file hermes config env-path $EDITOR "$(hermes config env-path)" # Recommended minimum keys BRAVE_API_KEY=*** TAVILY_API_KEY=*** EXA_API_KEY=*** LINKUP_API_KEY=*** # 3) Restart/reload so plugin tools register # CLI: exit and start `hermes` again, or use /reset # Gateway/Telegram: /restart, then /reset # 4) Optional shell smoke test cd ~/.hermes/plugins/web-search-plus python3 search.py --query "Hermes Agent latest release" --provider auto --quality-report
// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "web-search-plus": { "command": "uvx", "args": ["web-search-plus-mcp"], "env": { "SERPER_API_KEY": "your-key", "TAVILY_API_KEY": "your-key", "EXA_API_KEY": "your-key", "QUERIT_API_KEY": "your-key", "PERPLEXITY_API_KEY": "your-key" } } } }
// ~/.cursor/mcp.json { "mcpServers": { "web-search-plus": { "command": "uvx", "args": ["web-search-plus-mcp"], "env": { "SERPER_API_KEY": "your-key", "TAVILY_API_KEY": "your-key", "EXA_API_KEY": "your-key" } } } }
// ~/.nanobot/config.json { "tools": { "mcpServers": { "web-search-plus": { "command": "uvx", "args": ["web-search-plus-mcp"], "env": { "SERPER_API_KEY": "your-key", "TAVILY_API_KEY": "your-key", "EXA_API_KEY": "your-key" } } } } }
Latest improvements across the Web Search Plus ecosystem.
Major OpenClaw Skill release: Brave, Linkup, and Firecrawl search providers, 10-provider routing parity, and URL extraction via scripts/extract.py with fallback across Firecrawl, Linkup, Tavily, Exa, and You.com.
OpenClaw Plugin docs refresh for the v2.3.x native tool line, including Brave, Linkup, Firecrawl, web_extract_plus, fallback routing, and package verification notes.
Quality reports, opt-in research mode, Golden Eval tooling, and timeout hardening. Extraction failures now preserve partial search results instead of killing the response.
Docker-aware SearXNG auto-detection. Zero-config local setups in sandboxed environments.
7th provider: Querit (multilingual AI search, 300B pages). Fallback chain fix. Perplexity citations with real titles. German locale routing.
6th provider: Perplexity (AI-synthesized answers with citations). Major routing rebalance โ research & discovery providers now win on ambiguous queries.
Provider health tracking with exponential cooldown. Result caching (1h TTL, zero-cost repeats). Cross-provider deduplication.
OpenClaw plugin patch release: clean ClawHub scan metadata for the Brave Search provider release, deterministic Brave/Serper routing parity, stabilized nested cache keys, fallback coverage, clean ClawHub provenance, and 26 passing tests.
Plugin .env fix for API key loading. Hermes virtualenv setup docs. MIT license added.