# web-search-plus-hermes

> A Hermes Agent plugin providing multi-provider web search and URL extraction with intelligent Routing v2, quality diagnostics, and research mode across 13+ search providers.

Web Search Plus is an open-source Hermes Agent plugin that adds two tools — `web_search_plus` and `web_extract_plus` — to any Hermes-powered agent workflow. Built by robbyczgw-cla and released under the MIT license, it is also available as an MCP server, an OpenClaw plugin, and an OpenClaw skill, making the same routing engine accessible from Claude Desktop, Cursor, NanoBot, and other clients. The project reached v2.3.0 on May 29, 2026, and the GitHub repository reports 202 stars and 16 forks.

## What It Is

Web Search Plus is a capability-based, multi-provider web search and extraction layer for AI agents. Rather than hard-coding a single search backend, it implements a "Routing v2" engine that detects query class — multilingual news, shopping, docs/API, GitHub, academic/arXiv, Reddit, CVE/security, finance, weather, and more — and dispatches to the provider best suited for that job. The plugin exposes two Hermes tools: `web_search_plus` for routed search with optional quality diagnostics, and `web_extract_plus` for clean URL-to-markdown extraction. Both tools degrade gracefully when keys are missing or providers fail, preserving partial results rather than crashing the agent.

## Routing v2 and Provider Mesh

Routing v2 is described by the project as benchmarked and class-aware. The conservative default auto-search pool consists of You.com, Serper, Exa, Firecrawl, Tavily, and Linkup. Brave, SerpBase, Querit, Parallel, Perplexity, and Kilo Perplexity default to `auto_allow=false`, meaning they are available for explicit calls but are not selected automatically unless opted in via `setup.py config set-auto-allow`. The full provider mesh spans 13 search providers and 6 extraction providers:

- **You.com** — fast Routing v2 core for current, multilingual, LLM-ready search
- **Serper** — reliable Google-like fallback for facts, shopping, local, and news
- **Exa** — semantic discovery, docs, GitHub, academic/arXiv
- **Firecrawl** — source-first web search with scrape-ready result content
- **Tavily** — long-form research and content-heavy queries; default extraction first-choice
- **Linkup** — source-backed grounding, citations, RAG-ready retrieval
- **Perplexity / Kilo Perplexity** — synthesized search, guarded by default
- **Brave, SerpBase, Querit, Parallel, SearXNG** — explicit or self-hosted paths

## Setup Path and CLI Wizard

Installation is a single `hermes plugins install` command that clones the plugin into `~/.hermes/plugins/web-search-plus`. A standalone `setup.py` wizard handles provider key configuration without requiring users to edit `.env` files manually. Presets like `starter` (You.com + Serper + Linkup), `lean`, `search`, and `extract` let users configure a working surface in one step. Routing preferences — priority order, fallback provider, auto-allow gates, and quality thresholds — are stored separately in `config.json` and managed through `setup.py config` subcommands, keeping secrets out of routing logic.

## Reliability and Cost Controls

The plugin is designed to stay useful when things go wrong. Failed providers are placed on a one-hour cooldown before retry. Research mode (`mode="research"`) accepts a wall-clock budget parameter (`research_time_budget`, default 55 seconds) and checks elapsed time between provider calls and extraction steps, stopping early and returning whatever results have been collected rather than timing out silently. The `quality_report=True` flag on `web_search_plus` returns routing diagnostics, provider scores, result counts, authority signals, and an extraction recommendation — giving developers receipts for why a particular provider was chosen.

## Update: v2.3.0 and MCP v0.9.0

The May 29, 2026 v2.3.0 release of the Hermes plugin centralizes provider metadata into a ProviderSpec registry shared across setup, config, routing, extraction, doctor diagnostics, and CLI choices, reducing drift across the 13-search / 6-extract provider mesh. The companion MCP server reached v0.8.0 on May 16, 2026 (the last PyPI release before a Parallel mainline merge) and v0.9.0 on GitHub main, adding guarded Parallel provider support. The OpenClaw plugin remains the recommended path for OpenClaw workflows, exposing a third tool, `web_routing_config_plus`, not present in the Hermes variant.

## Features
- Multi-provider web search via web_search_plus tool
- URL extraction via web_extract_plus tool
- Routing v2: benchmarked, class-aware auto-routing across 13+ providers
- Tavily-first extraction with Exa, Linkup, Firecrawl, Parallel, and You.com fallbacks
- Quality reports with provider scores, result counts, and authority signals
- Research mode with configurable wall-clock time budget
- Provider cooldowns for failed providers (1-hour retry window)
- Partial result preservation when extraction fails or times out
- CLI setup wizard with presets (starter, lean, search, extract, all)
- Routing preferences managed separately from API keys
- Auto-allow gating for guarded providers (Brave, SerpBase, Querit, Parallel, Perplexity)
- Offline golden snapshot quality checks for CI
- MCP server for Claude Desktop, Cursor, NanoBot, and other clients
- OpenClaw plugin and skill variants
- SearXNG self-hosted metasearch support

## Integrations
You.com, Serper, Exa, Firecrawl, Tavily, Linkup, Brave Search, Perplexity, Kilo Perplexity, SerpBase, Parallel, Querit, SearXNG, Hermes Agent, OpenClaw, Claude Desktop, Cursor, NanoBot

## Platforms
CLI, API, DEVELOPER_SDK

## Pricing
Open Source

## Version
v2.3.0

## Links
- Website: https://websearchplus.xyz
- Documentation: https://github.com/robbyczgw-cla/hermes-web-search-plus/blob/main/docs/USER_GUIDE.md
- Repository: https://github.com/robbyczgw-cla/hermes-web-search-plus
- EveryDev.ai: https://www.everydev.ai/tools/web-search-plus-hermes
