🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Web Search Pro

by @zjianru

Agent-first web search and retrieval for live web search, news search, docs lookup, code lookup, company research, site crawl, site map, and structured evide...

Versionv2.1.4
Downloads7,255
Installs78
Stars⭐ 10
TERMINAL
clawhub install web-search-pro

πŸ“– About This Skill


name: web-search-pro description: | Agent-first web search and retrieval for live web search, news search, docs lookup, code lookup, company research, site crawl, site map, and structured evidence packs. Includes a no-key baseline plus optional Tavily, Exa, Querit, Serper, Brave, SerpAPI, You.com, SearXNG, and Perplexity / Sonar providers for wider coverage and answer-first routing. homepage: https://github.com/Zjianru/web-search-pro metadata: {"openclaw":{"emoji":"πŸ”Ž","requires":{"bins":["node"],"config":["config.json"],"env":{"TAVILY_API_KEY":"optional β€” premium deep search, news, and extract","EXA_API_KEY":"optional β€” semantic search and extract fallback","QUERIT_API_KEY":"optional β€” multilingual AI search with native geo and language filters","SERPER_API_KEY":"optional β€” Google-like search and news","BRAVE_API_KEY":"optional β€” structured web search aligned with existing OpenClaw setups","SERPAPI_API_KEY":"optional β€” multi-engine search including Baidu","YOU_API_KEY":"optional β€” LLM-ready web search with freshness and locale support","PERPLEXITY_API_KEY":"optional β€” native Perplexity Sonar access","OPENROUTER_API_KEY":"optional β€” gateway access to Perplexity/Sonar via OpenRouter","KILOCODE_API_KEY":"optional β€” gateway access to Perplexity/Sonar via Kilo","PERPLEXITY_GATEWAY_API_KEY":"optional β€” custom gateway key for Perplexity/Sonar models","PERPLEXITY_BASE_URL":"optional β€” required with PERPLEXITY_GATEWAY_API_KEY","SEARXNG_INSTANCE_URL":"optional β€” self-hosted privacy-first metasearch endpoint"},"note":"No API key is required for the baseline. Optional provider credentials or endpoints widen retrieval coverage."}},"clawdbot":{"emoji":"πŸ”Ž","requires":{"bins":["node"],"config":["config.json"],"note":"No API key is required for the baseline. Optional provider credentials or endpoints widen retrieval coverage."},"install":[{"kind":"node","label":"Bundled Node skill runtime","bins":["node"]}],"config":{"stateDirs":[".cache/web-search-pro"],"example":"{\n env = {\n WEB_SEARCH_PRO_CONFIG = \"./config.json\";\n };\n}"},"cliHelp":"node {baseDir}/scripts/search.mjs --help"}}

Web Search Pro 2.1 Core Profile

This ClawHub package publishes the core retrieval profile of web-search-pro. It is a code-backed Node runtime package, not an instruction-only bundle.

Use This Skill When

  • the caller needs live web search or news search
  • the caller needs docs lookup or code lookup
  • the caller may continue from search into extract, crawl, map, or research
  • the agent needs explainable routing and visible federated-search gains
  • the first run needs a real no-key baseline
  • Quick Start

    The shortest successful path is:

  • Option A: No-key baseline
  • Option B: Add one premium provider
  • Then try docs, news, and research
  • Option A: No-key baseline

    No API key is required for the first successful run.

    node {baseDir}/scripts/doctor.mjs --json
    node {baseDir}/scripts/bootstrap.mjs --json
    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --json
    

    Option B: Add one premium provider

    If you only add one premium provider, start with TAVILY_API_KEY.

    export TAVILY_API_KEY=tvly-xxxxx
    node {baseDir}/scripts/doctor.mjs --json
    node {baseDir}/scripts/search.mjs "latest OpenAI news" --type news --json
    

    First successful searches

    node {baseDir}/scripts/search.mjs "OpenClaw web search" --json
    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --preset docs --plan --json
    node {baseDir}/scripts/extract.mjs "https://platform.openai.com/docs" --json
    

    Then try docs, news, and research

    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --preset docs --json
    node {baseDir}/scripts/search.mjs "latest OpenAI news" --type news --json
    node {baseDir}/scripts/research.mjs "OpenClaw search skill landscape" --plan --json
    

    Install Model

    ClawHub installs this bundle directly as a code-backed Node skill pack.

  • hard runtime requirement: node
  • no remote installer, curl-to-shell bootstrap, or Python helper transport in the baseline path
  • optional runtime config file: config.json
  • local state directory: .cache/web-search-pro
  • Why Federated Search Matters

    Federation is not just "more providers". It exposes compact gain metrics:

  • federated.value.additionalProvidersUsed
  • federated.value.resultsRecoveredByFanout
  • federated.value.resultsCorroboratedByFanout
  • federated.value.duplicateSavings
  • routingSummary.federation.value
  • Runtime Contract

  • selectedProvider
  • The planner's primary route.
  • routingSummary
  • Compact route explanation with confidence and federation summary.
  • routing.diagnostics
  • Full route diagnostics exposed by --explain-routing or --plan.
  • federated.providersUsed
  • The providers that actually returned results when fanout is active.
  • federated.value
  • Compact federation gain summary for added providers, recovered results, corroboration, and duplicate savings.
  • cached / cache
  • Cache hit plus TTL telemetry for agents.
  • topicType, topicSignals, researchAxes
  • Structured planning summaries for the model-facing research pack.

    Commands By Task

    Included commands:

  • search.mjs
  • extract.mjs
  • crawl.mjs
  • map.mjs
  • research.mjs
  • doctor.mjs
  • bootstrap.mjs
  • capabilities.mjs
  • review.mjs
  • cache.mjs
  • health.mjs
  • Runtime notes:

  • Node is the only hard runtime requirement.
  • No API key is required for the baseline.
  • Optional provider credentials or endpoints widen coverage.
  • Baseline outbound requests use curl when available and fall back to built-in fetch.
  • Baseline:

  • No API key is required for the baseline.
  • ddg is best-effort no-key search.
  • fetch is the no-key extract / crawl / map fallback.
  • Optional provider credentials or endpoints unlock stronger coverage:

    TAVILY_API_KEY=tvly-xxxxx
    EXA_API_KEY=exa-xxxxx
    QUERIT_API_KEY=xxxxx
    SERPER_API_KEY=xxxxx
    BRAVE_API_KEY=xxxxx
    SERPAPI_API_KEY=xxxxx
    YOU_API_KEY=xxxxx
    SEARXNG_INSTANCE_URL=https://searx.example.com

    Perplexity / Sonar: choose one transport path

    PERPLEXITY_API_KEY=xxxxx OPENROUTER_API_KEY=xxxxx OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # optional override KILOCODE_API_KEY=xxxxx

    Or use a custom OpenAI-compatible gateway

    PERPLEXITY_GATEWAY_API_KEY=xxxxx PERPLEXITY_BASE_URL=https://gateway.example.com/v1 PERPLEXITY_MODEL=perplexity/sonar-pro # accepts sonar* or perplexity/sonar*

    Review and diagnostics:

    node {baseDir}/scripts/capabilities.mjs --json
    node {baseDir}/scripts/doctor.mjs --json
    node {baseDir}/scripts/bootstrap.mjs --json
    node {baseDir}/scripts/review.mjs --json
    

    Search keywords:

    web search, news search, latest updates, current events, docs search, API docs, code search, company research, competitor analysis, site crawl, site map, multilingual search, Baidu search, answer-first search, cited answers, explainable routing, no-key baseline

    πŸ’‘ Examples

    The shortest successful path is:

  • Option A: No-key baseline
  • Option B: Add one premium provider
  • Then try docs, news, and research
  • Option A: No-key baseline

    No API key is required for the first successful run.

    node {baseDir}/scripts/doctor.mjs --json
    node {baseDir}/scripts/bootstrap.mjs --json
    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --json
    

    Option B: Add one premium provider

    If you only add one premium provider, start with TAVILY_API_KEY.

    export TAVILY_API_KEY=tvly-xxxxx
    node {baseDir}/scripts/doctor.mjs --json
    node {baseDir}/scripts/search.mjs "latest OpenAI news" --type news --json
    

    First successful searches

    node {baseDir}/scripts/search.mjs "OpenClaw web search" --json
    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --preset docs --plan --json
    node {baseDir}/scripts/extract.mjs "https://platform.openai.com/docs" --json
    

    Then try docs, news, and research

    node {baseDir}/scripts/search.mjs "OpenAI Responses API docs" --preset docs --json
    node {baseDir}/scripts/search.mjs "latest OpenAI news" --type news --json
    node {baseDir}/scripts/research.mjs "OpenClaw search skill landscape" --plan --json