{
  "schemaVersion": "1.0",
  "item": {
    "slug": "web-search-pro",
    "name": "Web Search Pro",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Zjianru/web-search-pro",
    "canonicalUrl": "https://clawhub.ai/Zjianru/web-search-pro",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/web-search-pro",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=web-search-pro",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "docs/clawhub-compliance.md",
      "scripts/bootstrap.mjs",
      "scripts/cache.mjs",
      "scripts/capabilities.mjs"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/web-search-pro"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/web-search-pro",
    "agentPageUrl": "https://openagent3.xyz/skills/web-search-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search-pro/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Web Search Pro 2.1 Core Profile",
        "body": "This ClawHub package publishes the core retrieval profile of web-search-pro.\nIt is a code-backed Node runtime package, not an instruction-only bundle."
      },
      {
        "title": "Use This Skill When",
        "body": "the caller needs live web search or news search\nthe caller needs docs lookup or code lookup\nthe caller may continue from search into extract, crawl, map, or research\nthe agent needs explainable routing and visible federated-search gains\nthe first run needs a real no-key baseline"
      },
      {
        "title": "Quick Start",
        "body": "The shortest successful path is:\n\nOption A: No-key baseline\nOption B: Add one premium provider\nThen try docs, news, and research"
      },
      {
        "title": "Option A: No-key baseline",
        "body": "No API key is required for the first successful run.\n\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/bootstrap.mjs --json\nnode {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --json"
      },
      {
        "title": "Option B: Add one premium provider",
        "body": "If you only add one premium provider, start with TAVILY_API_KEY.\n\nexport TAVILY_API_KEY=tvly-xxxxx\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/search.mjs \"latest OpenAI news\" --type news --json"
      },
      {
        "title": "First successful searches",
        "body": "node {baseDir}/scripts/search.mjs \"OpenClaw web search\" --json\nnode {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --preset docs --plan --json\nnode {baseDir}/scripts/extract.mjs \"https://platform.openai.com/docs\" --json"
      },
      {
        "title": "Then try docs, news, and research",
        "body": "node {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --preset docs --json\nnode {baseDir}/scripts/search.mjs \"latest OpenAI news\" --type news --json\nnode {baseDir}/scripts/research.mjs \"OpenClaw search skill landscape\" --plan --json"
      },
      {
        "title": "Install Model",
        "body": "ClawHub installs this bundle directly as a code-backed Node skill pack.\n\nhard runtime requirement: node\nno remote installer, curl-to-shell bootstrap, or Python helper transport in the baseline path\noptional runtime config file: config.json\nlocal state directory: .cache/web-search-pro"
      },
      {
        "title": "Why Federated Search Matters",
        "body": "Federation is not just \"more providers\". It exposes compact gain metrics:\n\nfederated.value.additionalProvidersUsed\nfederated.value.resultsRecoveredByFanout\nfederated.value.resultsCorroboratedByFanout\nfederated.value.duplicateSavings\nroutingSummary.federation.value"
      },
      {
        "title": "Runtime Contract",
        "body": "selectedProvider\nThe planner's primary route.\nroutingSummary\nCompact route explanation with confidence and federation summary.\nrouting.diagnostics\nFull route diagnostics exposed by --explain-routing or --plan.\nfederated.providersUsed\nThe providers that actually returned results when fanout is active.\nfederated.value\nCompact federation gain summary for added providers, recovered results, corroboration, and\nduplicate savings.\ncached / cache\nCache hit plus TTL telemetry for agents.\ntopicType, topicSignals, researchAxes\nStructured planning summaries for the model-facing research pack."
      },
      {
        "title": "Commands By Task",
        "body": "Included commands:\n\nsearch.mjs\nextract.mjs\ncrawl.mjs\nmap.mjs\nresearch.mjs\ndoctor.mjs\nbootstrap.mjs\ncapabilities.mjs\nreview.mjs\ncache.mjs\nhealth.mjs\n\nRuntime notes:\n\nNode is the only hard runtime requirement.\nNo API key is required for the baseline.\nOptional provider credentials or endpoints widen coverage.\nBaseline outbound requests use curl when available and fall back to built-in fetch.\n\nBaseline:\n\nNo API key is required for the baseline.\nddg is best-effort no-key search.\nfetch is the no-key extract / crawl / map fallback.\n\nOptional provider credentials or endpoints unlock stronger coverage:\n\nTAVILY_API_KEY=tvly-xxxxx\nEXA_API_KEY=exa-xxxxx\nQUERIT_API_KEY=xxxxx\nSERPER_API_KEY=xxxxx\nBRAVE_API_KEY=xxxxx\nSERPAPI_API_KEY=xxxxx\nYOU_API_KEY=xxxxx\nSEARXNG_INSTANCE_URL=https://searx.example.com\n\n# Perplexity / Sonar: choose one transport path\nPERPLEXITY_API_KEY=xxxxx\nOPENROUTER_API_KEY=xxxxx\nOPENROUTER_BASE_URL=https://openrouter.ai/api/v1  # optional override\nKILOCODE_API_KEY=xxxxx\n\n# Or use a custom OpenAI-compatible gateway\nPERPLEXITY_GATEWAY_API_KEY=xxxxx\nPERPLEXITY_BASE_URL=https://gateway.example.com/v1\nPERPLEXITY_MODEL=perplexity/sonar-pro  # accepts sonar* or perplexity/sonar*\n\nReview and diagnostics:\n\nnode {baseDir}/scripts/capabilities.mjs --json\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/bootstrap.mjs --json\nnode {baseDir}/scripts/review.mjs --json\n\nSearch keywords:\n\nweb search, news search, latest updates, current events, docs search,\nAPI docs, code search, company research, competitor analysis, site crawl,\nsite map, multilingual search, Baidu search, answer-first search,\ncited answers, explainable routing, no-key baseline"
      }
    ],
    "body": "Web Search Pro 2.1 Core Profile\n\nThis ClawHub package publishes the core retrieval profile of web-search-pro. It is a code-backed Node runtime package, not an instruction-only bundle.\n\nUse This Skill When\nthe caller needs live web search or news search\nthe caller needs docs lookup or code lookup\nthe caller may continue from search into extract, crawl, map, or research\nthe agent needs explainable routing and visible federated-search gains\nthe first run needs a real no-key baseline\nQuick Start\n\nThe shortest successful path is:\n\nOption A: No-key baseline\nOption B: Add one premium provider\nThen try docs, news, and research\nOption A: No-key baseline\n\nNo API key is required for the first successful run.\n\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/bootstrap.mjs --json\nnode {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --json\n\nOption B: Add one premium provider\n\nIf you only add one premium provider, start with TAVILY_API_KEY.\n\nexport TAVILY_API_KEY=tvly-xxxxx\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/search.mjs \"latest OpenAI news\" --type news --json\n\nFirst successful searches\nnode {baseDir}/scripts/search.mjs \"OpenClaw web search\" --json\nnode {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --preset docs --plan --json\nnode {baseDir}/scripts/extract.mjs \"https://platform.openai.com/docs\" --json\n\nThen try docs, news, and research\nnode {baseDir}/scripts/search.mjs \"OpenAI Responses API docs\" --preset docs --json\nnode {baseDir}/scripts/search.mjs \"latest OpenAI news\" --type news --json\nnode {baseDir}/scripts/research.mjs \"OpenClaw search skill landscape\" --plan --json\n\nInstall Model\n\nClawHub installs this bundle directly as a code-backed Node skill pack.\n\nhard runtime requirement: node\nno remote installer, curl-to-shell bootstrap, or Python helper transport in the baseline path\noptional runtime config file: config.json\nlocal state directory: .cache/web-search-pro\nWhy Federated Search Matters\n\nFederation is not just \"more providers\". It exposes compact gain metrics:\n\nfederated.value.additionalProvidersUsed\nfederated.value.resultsRecoveredByFanout\nfederated.value.resultsCorroboratedByFanout\nfederated.value.duplicateSavings\nroutingSummary.federation.value\nRuntime Contract\nselectedProvider The planner's primary route.\nroutingSummary Compact route explanation with confidence and federation summary.\nrouting.diagnostics Full route diagnostics exposed by --explain-routing or --plan.\nfederated.providersUsed The providers that actually returned results when fanout is active.\nfederated.value Compact federation gain summary for added providers, recovered results, corroboration, and duplicate savings.\ncached / cache Cache hit plus TTL telemetry for agents.\ntopicType, topicSignals, researchAxes Structured planning summaries for the model-facing research pack.\nCommands By Task\n\nIncluded commands:\n\nsearch.mjs\nextract.mjs\ncrawl.mjs\nmap.mjs\nresearch.mjs\ndoctor.mjs\nbootstrap.mjs\ncapabilities.mjs\nreview.mjs\ncache.mjs\nhealth.mjs\n\nRuntime notes:\n\nNode is the only hard runtime requirement.\nNo API key is required for the baseline.\nOptional provider credentials or endpoints widen coverage.\nBaseline outbound requests use curl when available and fall back to built-in fetch.\n\nBaseline:\n\nNo API key is required for the baseline.\nddg is best-effort no-key search.\nfetch is the no-key extract / crawl / map fallback.\n\nOptional provider credentials or endpoints unlock stronger coverage:\n\nTAVILY_API_KEY=tvly-xxxxx\nEXA_API_KEY=exa-xxxxx\nQUERIT_API_KEY=xxxxx\nSERPER_API_KEY=xxxxx\nBRAVE_API_KEY=xxxxx\nSERPAPI_API_KEY=xxxxx\nYOU_API_KEY=xxxxx\nSEARXNG_INSTANCE_URL=https://searx.example.com\n\n# Perplexity / Sonar: choose one transport path\nPERPLEXITY_API_KEY=xxxxx\nOPENROUTER_API_KEY=xxxxx\nOPENROUTER_BASE_URL=https://openrouter.ai/api/v1  # optional override\nKILOCODE_API_KEY=xxxxx\n\n# Or use a custom OpenAI-compatible gateway\nPERPLEXITY_GATEWAY_API_KEY=xxxxx\nPERPLEXITY_BASE_URL=https://gateway.example.com/v1\nPERPLEXITY_MODEL=perplexity/sonar-pro  # accepts sonar* or perplexity/sonar*\n\n\nReview and diagnostics:\n\nnode {baseDir}/scripts/capabilities.mjs --json\nnode {baseDir}/scripts/doctor.mjs --json\nnode {baseDir}/scripts/bootstrap.mjs --json\nnode {baseDir}/scripts/review.mjs --json\n\n\nSearch keywords:\n\nweb 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"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Zjianru/web-search-pro",
    "publisherUrl": "https://clawhub.ai/Zjianru/web-search-pro",
    "owner": "Zjianru",
    "version": "2.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/web-search-pro",
    "downloadUrl": "https://openagent3.xyz/downloads/web-search-pro",
    "agentUrl": "https://openagent3.xyz/skills/web-search-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search-pro/agent.md"
  }
}