{
  "schemaVersion": "1.0",
  "item": {
    "slug": "web-search-hub",
    "name": "Web Search Hub",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/anisafifi/web-search-hub",
    "canonicalUrl": "https://clawhub.ai/anisafifi/web-search-hub",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/web-search-hub",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=web-search-hub",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/search.py"
    ],
    "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. 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. 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-hub"
    },
    "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-hub",
    "agentPageUrl": "https://openagent3.xyz/skills/web-search-hub/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search-hub/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search-hub/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Web Search Hub",
        "body": "Search the web using DuckDuckGo's API. Supports web pages, news articles, images, and videos with customizable filtering and output formats.\n\n⚠️ Prerequisite: Install OpenClawCLI (Windows, MacOS) and run pip install duckduckgo-search\n\nInstallation Best Practices:\n\nIf you encounter permission errors, use a virtual environment instead of system-wide installation\nFor virtual environment: python -m venv venv && source venv/bin/activate && pip install duckduckgo-search\nNever use --break-system-packages as it can damage your system's Python installation"
      },
      {
        "title": "Quick Reference",
        "body": "TaskCommandBasic web searchpython scripts/search.py \"query\"Recent newspython scripts/search.py \"topic\" --type news --time-range wFind imagespython scripts/search.py \"subject\" --type imagesFind videospython scripts/search.py \"tutorial\" --type videosSave resultspython scripts/search.py \"query\" --output file.txtJSON outputpython scripts/search.py \"query\" --format json"
      },
      {
        "title": "Web Search (Default)",
        "body": "Returns web pages with titles, URLs, and descriptions.\n\npython scripts/search.py \"quantum computing\"\npython scripts/search.py \"python asyncio tutorial\" --max-results 20"
      },
      {
        "title": "News Search",
        "body": "Returns articles with source, date, and summary.\n\npython scripts/search.py \"climate summit\" --type news\npython scripts/search.py \"AI regulation\" --type news --time-range d"
      },
      {
        "title": "Image Search",
        "body": "Returns images with URLs, thumbnails, dimensions, and source.\n\npython scripts/search.py \"mountain sunset\" --type images\npython scripts/search.py \"abstract art\" --type images --image-color Blue"
      },
      {
        "title": "Video Search",
        "body": "Returns videos with title, publisher, duration, date, and URL.\n\npython scripts/search.py \"cooking tutorial\" --type videos\npython scripts/search.py \"documentary\" --type videos --video-duration long"
      },
      {
        "title": "Result Count",
        "body": "--max-results N    # Default: 10, range: 1-unlimited\n\nExamples:\n\npython scripts/search.py \"machine learning\" --max-results 5   # Quick overview\npython scripts/search.py \"research topic\" --max-results 30    # Comprehensive"
      },
      {
        "title": "Time Filtering",
        "body": "--time-range <d|w|m|y>\n# d = past day\n# w = past week  \n# m = past month\n# y = past year\n\nExamples:\n\npython scripts/search.py \"tech news\" --time-range d      # Today's news\npython scripts/search.py \"research papers\" --time-range y # Recent publications"
      },
      {
        "title": "Region Selection",
        "body": "--region <code>    # Default: wt-wt (worldwide)\n\nCommon codes: us-en, uk-en, ca-en, au-en, de-de, fr-fr\n\nExample:\n\npython scripts/search.py \"local events\" --region us-en --type news"
      },
      {
        "title": "Safe Search",
        "body": "--safe-search <on|moderate|off>    # Default: moderate\n\nExample:\n\npython scripts/search.py \"medical information\" --safe-search on"
      },
      {
        "title": "Text (Default)",
        "body": "Clean, numbered results with URLs and descriptions.\n\npython scripts/search.py \"topic\"\n\nOutput:\n\n1. Page Title\n   URL: https://example.com\n   Description text here...\n\n2. Next Result\n   URL: https://example.com/page\n   Description text..."
      },
      {
        "title": "Markdown",
        "body": "Formatted with headers, bold, and links.\n\npython scripts/search.py \"topic\" --format markdown\n\nOutput:\n\n## 1. Page Title\n\n**URL:** https://example.com\n\nDescription text here..."
      },
      {
        "title": "JSON",
        "body": "Structured data for programmatic processing.\n\npython scripts/search.py \"topic\" --format json\n\nOutput:\n\n[\n  {\n    \"title\": \"Page Title\",\n    \"href\": \"https://example.com\",\n    \"body\": \"Description text...\"\n  }\n]"
      },
      {
        "title": "Save to File",
        "body": "--output <filepath>\n\nExamples:\n\npython scripts/search.py \"AI trends\" --output results.txt\npython scripts/search.py \"news\" --type news --format markdown --output news.md\npython scripts/search.py \"data\" --format json --output data.json"
      },
      {
        "title": "Size",
        "body": "--image-size <Small|Medium|Large|Wallpaper>\n\nExample:\n\npython scripts/search.py \"landscape\" --type images --image-size Large"
      },
      {
        "title": "Color",
        "body": "--image-color <color|Monochrome|Red|Orange|Yellow|Green|Blue|Purple|Pink|Brown|Black|Gray|Teal|White>\n\nExample:\n\npython scripts/search.py \"abstract art\" --type images --image-color Blue"
      },
      {
        "title": "Type",
        "body": "--image-type <photo|clipart|gif|transparent|line>\n\nExample:\n\npython scripts/search.py \"icons\" --type images --image-type transparent"
      },
      {
        "title": "Layout",
        "body": "--image-layout <Square|Tall|Wide>\n\nExample:\n\npython scripts/search.py \"wallpaper\" --type images --image-layout Wide"
      },
      {
        "title": "Duration",
        "body": "--video-duration <short|medium|long>\n\nExample:\n\npython scripts/search.py \"recipe\" --type videos --video-duration short"
      },
      {
        "title": "Resolution",
        "body": "--video-resolution <high|standard>\n\nExample:\n\npython scripts/search.py \"tutorial\" --type videos --video-resolution high"
      },
      {
        "title": "Research a Topic",
        "body": "Gather comprehensive information across multiple search types:\n\n# Web overview\npython scripts/search.py \"machine learning\" --max-results 15 --output ml_web.txt\n\n# Recent news\npython scripts/search.py \"machine learning\" --type news --time-range m --output ml_news.txt\n\n# Tutorial videos\npython scripts/search.py \"machine learning tutorial\" --type videos --output ml_videos.txt\n\n# Visual examples\npython scripts/search.py \"machine learning diagrams\" --type images --max-results 20 --output ml_images.txt"
      },
      {
        "title": "Track Current Events",
        "body": "Monitor breaking news on specific topics:\n\npython scripts/search.py \"election results\" --type news --time-range d --format markdown --output daily_news.md"
      },
      {
        "title": "Find Visual Resources",
        "body": "Search for images with specific requirements:\n\npython scripts/search.py \"data visualization\" --type images --image-type photo --image-size Large --max-results 30 --output viz_images.txt"
      },
      {
        "title": "Fact-Check Information",
        "body": "Verify claims with recent sources:\n\npython scripts/search.py \"claim to verify\" --time-range w --max-results 20 --output verification.txt"
      },
      {
        "title": "Market Research",
        "body": "Gather business intelligence:\n\npython scripts/search.py \"electric vehicle market 2025\" --max-results 25 --output market_overview.txt\npython scripts/search.py \"EV industry\" --type news --time-range m --output market_news.txt"
      },
      {
        "title": "Academic Research",
        "body": "Find scholarly resources:\n\npython scripts/search.py \"quantum entanglement\" --time-range y --max-results 30 --format markdown --output research.md"
      },
      {
        "title": "Implementation Guidelines",
        "body": "When users request web searches, follow this approach:"
      },
      {
        "title": "1. Identify Intent",
        "body": "What content type? (web, news, images, videos)\nHow recent? (use --time-range for current info)\nHow many results? (adjust --max-results)\nAny special filters? (size, color, duration, etc.)"
      },
      {
        "title": "2. Configure Search",
        "body": "python scripts/search.py \"query\" \\\n  --type <web|news|images|videos> \\\n  --max-results <N> \\\n  --time-range <d|w|m|y> \\\n  [additional filters]"
      },
      {
        "title": "3. Choose Format",
        "body": "Text: Quick reading, immediate review\nMarkdown: Documentation, formatted reports\nJSON: Further processing, automation"
      },
      {
        "title": "4. Execute and Process",
        "body": "# Run search\npython scripts/search.py \"query\" [options] --output results.txt\n\n# Read results if needed\ncat results.txt\n\n# Extract URLs or combine multiple searches"
      },
      {
        "title": "Search Strategy",
        "body": "Start specific - Use clear, targeted queries\nUse time filters - Apply --time-range for current topics\nAdjust result count - Start with 10-20, increase if needed\nChoose right type - News for current events, web for general info"
      },
      {
        "title": "Output Management",
        "body": "Save important searches - Use --output to preserve results\nUse appropriate format - JSON for automation, markdown for docs\nOrganize files - Create folders for multi-search research"
      },
      {
        "title": "API Usage",
        "body": "Avoid rapid requests - Space out searches to prevent rate limiting\nBe efficient - Use filters to get better results with fewer searches\nRespect limits - Don't hammer the API unnecessarily"
      },
      {
        "title": "Installation Issues",
        "body": "\"Missing required dependency\"\n\n# Standard installation\npip install duckduckgo-search\n\n# If you get permission errors, use a virtual environment\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\npip install duckduckgo-search\n\nImportant: Never use --break-system-packages flag as it can corrupt your system's Python installation. Always use virtual environments for isolated package management.\n\n\"OpenClawCLI not found\"\n\nDownload from https://clawhub.ai/\nInstall for your OS (Windows/MacOS)\nVerify installation: openclaw --version"
      },
      {
        "title": "Search Issues",
        "body": "\"No results found\"\n\nBroaden search terms\nRemove time filters\nTry different query phrasing\n\n\"Timeout errors\"\n\nDuckDuckGo service may be temporarily unavailable\nWait a moment and retry\nCheck internet connection\n\n\"Unexpected results\"\n\nDuckDuckGo results differ from Google\nRefine query with more specific terms\nTry adding context to the query"
      },
      {
        "title": "Rate Limiting",
        "body": "\"Too many requests\"\n\nSpace out searches (wait 1-2 seconds between requests)\nReduce frequency if making automated searches\nConsider batching queries instead of individual requests"
      },
      {
        "title": "Combining Multiple Searches",
        "body": "Build comprehensive research by combining search types:\n\n# Create research folder\nmkdir research\n\n# Gather all content types\npython scripts/search.py \"topic\" --max-results 20 --output research/web.txt\npython scripts/search.py \"topic\" --type news --time-range m --output research/news.txt  \npython scripts/search.py \"topic\" --type images --max-results 30 --output research/images.txt\npython scripts/search.py \"topic\" --type videos --max-results 15 --output research/videos.txt"
      },
      {
        "title": "Programmatic Processing",
        "body": "Use JSON for automated workflows:\n\n# Get JSON data\npython scripts/search.py \"research query\" --format json --output data.json\n\n# Process with custom script\npython analyze_results.py data.json"
      },
      {
        "title": "Building Knowledge Bases",
        "body": "Create searchable documentation:\n\nmkdir knowledge-base\n\n# Search related topics\npython scripts/search.py \"topic1\" --format markdown --output knowledge-base/topic1.md\npython scripts/search.py \"topic2\" --format markdown --output knowledge-base/topic2.md\npython scripts/search.py \"topic3\" --format markdown --output knowledge-base/topic3.md"
      },
      {
        "title": "Search Capabilities",
        "body": "Results depend on DuckDuckGo's index (may differ from Google)\nNo advanced operators (no site:, filetype:, etc.)\nImage/video results may be limited compared to web search\nNo control over ranking algorithms"
      },
      {
        "title": "Content Access",
        "body": "Cannot access paywalled content\nSome sites may block DuckDuckGo crawler\nDynamic JavaScript content may not be indexed\nReal-time data may have slight delays"
      },
      {
        "title": "API Constraints",
        "body": "Rate limiting applies to prevent abuse\nNo guaranteed uptime or availability\nResults may vary by region and time\nSome queries may be filtered for safety"
      },
      {
        "title": "Complete Command Reference",
        "body": "python scripts/search.py \"<query>\" [OPTIONS]\n\nREQUIRED:\n  query              Search query string (in quotes)\n\nSEARCH TYPE:\n  -t, --type         web|news|images|videos (default: web)\n\nRESULTS:\n  -n, --max-results  Maximum results (default: 10)\n  --time-range       d|w|m|y (day, week, month, year)\n  -r, --region       Region code (default: wt-wt)\n  --safe-search      on|moderate|off (default: moderate)\n\nOUTPUT:\n  -f, --format       text|markdown|json (default: text)\n  -o, --output       Save to file path\n\nIMAGE FILTERS:\n  --image-size       Small|Medium|Large|Wallpaper\n  --image-color      color|Monochrome|Red|Orange|Yellow|Green|Blue|Purple|Pink|Brown|Black|Gray|Teal|White\n  --image-type       photo|clipart|gif|transparent|line\n  --image-layout     Square|Tall|Wide\n\nVIDEO FILTERS:\n  --video-duration   short|medium|long\n  --video-resolution high|standard\n\nHELP:\n  --help             Show all options and usage examples"
      },
      {
        "title": "Quick Searches",
        "body": "# Simple query\npython scripts/search.py \"python tutorials\"\n\n# Get more results\npython scripts/search.py \"python tutorials\" --max-results 25"
      },
      {
        "title": "Current Events",
        "body": "# Today's news\npython scripts/search.py \"AI developments\" --type news --time-range d\n\n# This week's headlines\npython scripts/search.py \"technology\" --type news --time-range w --max-results 30"
      },
      {
        "title": "Visual Content",
        "body": "# Find photos\npython scripts/search.py \"nature photography\" --type images --image-type photo\n\n# Specific color scheme\npython scripts/search.py \"office design\" --type images --image-color Blue --image-size Large\n\n# Transparent icons\npython scripts/search.py \"social media icons\" --type images --image-type transparent"
      },
      {
        "title": "Video Content",
        "body": "# Short tutorials\npython scripts/search.py \"quick recipe\" --type videos --video-duration short\n\n# High-quality documentaries\npython scripts/search.py \"space documentary\" --type videos --video-resolution high --video-duration long"
      },
      {
        "title": "Saved Research",
        "body": "# Create research report\npython scripts/search.py \"climate change solutions\" --max-results 30 --format markdown --output climate_report.md\n\n# Gather news archive\npython scripts/search.py \"tech industry\" --type news --time-range m --format json --output tech_news.json"
      },
      {
        "title": "Support",
        "body": "For issues or questions:\n\nCheck this documentation for solutions\nRun python scripts/search.py --help for command-line help\nVerify OpenClawCLI installation at https://clawhub.ai/\nEnsure duckduckgo-search library is installed\n\nKey Resources:\n\nOpenClawCLI: https://clawhub.ai/\nDuckDuckGo Search Library: https://pypi.org/project/duckduckgo-search/"
      }
    ],
    "body": "Web Search Hub\n\nSearch the web using DuckDuckGo's API. Supports web pages, news articles, images, and videos with customizable filtering and output formats.\n\n⚠️ Prerequisite: Install OpenClawCLI (Windows, MacOS) and run pip install duckduckgo-search\n\nInstallation Best Practices:\n\nIf you encounter permission errors, use a virtual environment instead of system-wide installation\nFor virtual environment: python -m venv venv && source venv/bin/activate && pip install duckduckgo-search\nNever use --break-system-packages as it can damage your system's Python installation\nQuick Reference\nTask\tCommand\nBasic web search\tpython scripts/search.py \"query\"\nRecent news\tpython scripts/search.py \"topic\" --type news --time-range w\nFind images\tpython scripts/search.py \"subject\" --type images\nFind videos\tpython scripts/search.py \"tutorial\" --type videos\nSave results\tpython scripts/search.py \"query\" --output file.txt\nJSON output\tpython scripts/search.py \"query\" --format json\nCore Search Types\nWeb Search (Default)\n\nReturns web pages with titles, URLs, and descriptions.\n\npython scripts/search.py \"quantum computing\"\npython scripts/search.py \"python asyncio tutorial\" --max-results 20\n\nNews Search\n\nReturns articles with source, date, and summary.\n\npython scripts/search.py \"climate summit\" --type news\npython scripts/search.py \"AI regulation\" --type news --time-range d\n\nImage Search\n\nReturns images with URLs, thumbnails, dimensions, and source.\n\npython scripts/search.py \"mountain sunset\" --type images\npython scripts/search.py \"abstract art\" --type images --image-color Blue\n\nVideo Search\n\nReturns videos with title, publisher, duration, date, and URL.\n\npython scripts/search.py \"cooking tutorial\" --type videos\npython scripts/search.py \"documentary\" --type videos --video-duration long\n\nEssential Options\nResult Count\n--max-results N    # Default: 10, range: 1-unlimited\n\n\nExamples:\n\npython scripts/search.py \"machine learning\" --max-results 5   # Quick overview\npython scripts/search.py \"research topic\" --max-results 30    # Comprehensive\n\nTime Filtering\n--time-range <d|w|m|y>\n# d = past day\n# w = past week  \n# m = past month\n# y = past year\n\n\nExamples:\n\npython scripts/search.py \"tech news\" --time-range d      # Today's news\npython scripts/search.py \"research papers\" --time-range y # Recent publications\n\nRegion Selection\n--region <code>    # Default: wt-wt (worldwide)\n\n\nCommon codes: us-en, uk-en, ca-en, au-en, de-de, fr-fr\n\nExample:\n\npython scripts/search.py \"local events\" --region us-en --type news\n\nSafe Search\n--safe-search <on|moderate|off>    # Default: moderate\n\n\nExample:\n\npython scripts/search.py \"medical information\" --safe-search on\n\nOutput Formats\nText (Default)\n\nClean, numbered results with URLs and descriptions.\n\npython scripts/search.py \"topic\"\n\n\nOutput:\n\n1. Page Title\n   URL: https://example.com\n   Description text here...\n\n2. Next Result\n   URL: https://example.com/page\n   Description text...\n\nMarkdown\n\nFormatted with headers, bold, and links.\n\npython scripts/search.py \"topic\" --format markdown\n\n\nOutput:\n\n## 1. Page Title\n\n**URL:** https://example.com\n\nDescription text here...\n\nJSON\n\nStructured data for programmatic processing.\n\npython scripts/search.py \"topic\" --format json\n\n\nOutput:\n\n[\n  {\n    \"title\": \"Page Title\",\n    \"href\": \"https://example.com\",\n    \"body\": \"Description text...\"\n  }\n]\n\nSave to File\n--output <filepath>\n\n\nExamples:\n\npython scripts/search.py \"AI trends\" --output results.txt\npython scripts/search.py \"news\" --type news --format markdown --output news.md\npython scripts/search.py \"data\" --format json --output data.json\n\nImage Search Filters\nSize\n--image-size <Small|Medium|Large|Wallpaper>\n\n\nExample:\n\npython scripts/search.py \"landscape\" --type images --image-size Large\n\nColor\n--image-color <color|Monochrome|Red|Orange|Yellow|Green|Blue|Purple|Pink|Brown|Black|Gray|Teal|White>\n\n\nExample:\n\npython scripts/search.py \"abstract art\" --type images --image-color Blue\n\nType\n--image-type <photo|clipart|gif|transparent|line>\n\n\nExample:\n\npython scripts/search.py \"icons\" --type images --image-type transparent\n\nLayout\n--image-layout <Square|Tall|Wide>\n\n\nExample:\n\npython scripts/search.py \"wallpaper\" --type images --image-layout Wide\n\nVideo Search Filters\nDuration\n--video-duration <short|medium|long>\n\n\nExample:\n\npython scripts/search.py \"recipe\" --type videos --video-duration short\n\nResolution\n--video-resolution <high|standard>\n\n\nExample:\n\npython scripts/search.py \"tutorial\" --type videos --video-resolution high\n\nCommon Workflows\nResearch a Topic\n\nGather comprehensive information across multiple search types:\n\n# Web overview\npython scripts/search.py \"machine learning\" --max-results 15 --output ml_web.txt\n\n# Recent news\npython scripts/search.py \"machine learning\" --type news --time-range m --output ml_news.txt\n\n# Tutorial videos\npython scripts/search.py \"machine learning tutorial\" --type videos --output ml_videos.txt\n\n# Visual examples\npython scripts/search.py \"machine learning diagrams\" --type images --max-results 20 --output ml_images.txt\n\nTrack Current Events\n\nMonitor breaking news on specific topics:\n\npython scripts/search.py \"election results\" --type news --time-range d --format markdown --output daily_news.md\n\nFind Visual Resources\n\nSearch for images with specific requirements:\n\npython scripts/search.py \"data visualization\" --type images --image-type photo --image-size Large --max-results 30 --output viz_images.txt\n\nFact-Check Information\n\nVerify claims with recent sources:\n\npython scripts/search.py \"claim to verify\" --time-range w --max-results 20 --output verification.txt\n\nMarket Research\n\nGather business intelligence:\n\npython scripts/search.py \"electric vehicle market 2025\" --max-results 25 --output market_overview.txt\npython scripts/search.py \"EV industry\" --type news --time-range m --output market_news.txt\n\nAcademic Research\n\nFind scholarly resources:\n\npython scripts/search.py \"quantum entanglement\" --time-range y --max-results 30 --format markdown --output research.md\n\nImplementation Guidelines\n\nWhen users request web searches, follow this approach:\n\n1. Identify Intent\nWhat content type? (web, news, images, videos)\nHow recent? (use --time-range for current info)\nHow many results? (adjust --max-results)\nAny special filters? (size, color, duration, etc.)\n2. Configure Search\npython scripts/search.py \"query\" \\\n  --type <web|news|images|videos> \\\n  --max-results <N> \\\n  --time-range <d|w|m|y> \\\n  [additional filters]\n\n3. Choose Format\nText: Quick reading, immediate review\nMarkdown: Documentation, formatted reports\nJSON: Further processing, automation\n4. Execute and Process\n# Run search\npython scripts/search.py \"query\" [options] --output results.txt\n\n# Read results if needed\ncat results.txt\n\n# Extract URLs or combine multiple searches\n\nBest Practices\nSearch Strategy\nStart specific - Use clear, targeted queries\nUse time filters - Apply --time-range for current topics\nAdjust result count - Start with 10-20, increase if needed\nChoose right type - News for current events, web for general info\nOutput Management\nSave important searches - Use --output to preserve results\nUse appropriate format - JSON for automation, markdown for docs\nOrganize files - Create folders for multi-search research\nAPI Usage\nAvoid rapid requests - Space out searches to prevent rate limiting\nBe efficient - Use filters to get better results with fewer searches\nRespect limits - Don't hammer the API unnecessarily\nTroubleshooting\nInstallation Issues\n\n\"Missing required dependency\"\n\n# Standard installation\npip install duckduckgo-search\n\n# If you get permission errors, use a virtual environment\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\npip install duckduckgo-search\n\n\nImportant: Never use --break-system-packages flag as it can corrupt your system's Python installation. Always use virtual environments for isolated package management.\n\n\"OpenClawCLI not found\"\n\nDownload from https://clawhub.ai/\nInstall for your OS (Windows/MacOS)\nVerify installation: openclaw --version\nSearch Issues\n\n\"No results found\"\n\nBroaden search terms\nRemove time filters\nTry different query phrasing\n\n\"Timeout errors\"\n\nDuckDuckGo service may be temporarily unavailable\nWait a moment and retry\nCheck internet connection\n\n\"Unexpected results\"\n\nDuckDuckGo results differ from Google\nRefine query with more specific terms\nTry adding context to the query\nRate Limiting\n\n\"Too many requests\"\n\nSpace out searches (wait 1-2 seconds between requests)\nReduce frequency if making automated searches\nConsider batching queries instead of individual requests\nAdvanced Usage\nCombining Multiple Searches\n\nBuild comprehensive research by combining search types:\n\n# Create research folder\nmkdir research\n\n# Gather all content types\npython scripts/search.py \"topic\" --max-results 20 --output research/web.txt\npython scripts/search.py \"topic\" --type news --time-range m --output research/news.txt  \npython scripts/search.py \"topic\" --type images --max-results 30 --output research/images.txt\npython scripts/search.py \"topic\" --type videos --max-results 15 --output research/videos.txt\n\nProgrammatic Processing\n\nUse JSON for automated workflows:\n\n# Get JSON data\npython scripts/search.py \"research query\" --format json --output data.json\n\n# Process with custom script\npython analyze_results.py data.json\n\nBuilding Knowledge Bases\n\nCreate searchable documentation:\n\nmkdir knowledge-base\n\n# Search related topics\npython scripts/search.py \"topic1\" --format markdown --output knowledge-base/topic1.md\npython scripts/search.py \"topic2\" --format markdown --output knowledge-base/topic2.md\npython scripts/search.py \"topic3\" --format markdown --output knowledge-base/topic3.md\n\nLimitations\nSearch Capabilities\nResults depend on DuckDuckGo's index (may differ from Google)\nNo advanced operators (no site:, filetype:, etc.)\nImage/video results may be limited compared to web search\nNo control over ranking algorithms\nContent Access\nCannot access paywalled content\nSome sites may block DuckDuckGo crawler\nDynamic JavaScript content may not be indexed\nReal-time data may have slight delays\nAPI Constraints\nRate limiting applies to prevent abuse\nNo guaranteed uptime or availability\nResults may vary by region and time\nSome queries may be filtered for safety\nComplete Command Reference\npython scripts/search.py \"<query>\" [OPTIONS]\n\nREQUIRED:\n  query              Search query string (in quotes)\n\nSEARCH TYPE:\n  -t, --type         web|news|images|videos (default: web)\n\nRESULTS:\n  -n, --max-results  Maximum results (default: 10)\n  --time-range       d|w|m|y (day, week, month, year)\n  -r, --region       Region code (default: wt-wt)\n  --safe-search      on|moderate|off (default: moderate)\n\nOUTPUT:\n  -f, --format       text|markdown|json (default: text)\n  -o, --output       Save to file path\n\nIMAGE FILTERS:\n  --image-size       Small|Medium|Large|Wallpaper\n  --image-color      color|Monochrome|Red|Orange|Yellow|Green|Blue|Purple|Pink|Brown|Black|Gray|Teal|White\n  --image-type       photo|clipart|gif|transparent|line\n  --image-layout     Square|Tall|Wide\n\nVIDEO FILTERS:\n  --video-duration   short|medium|long\n  --video-resolution high|standard\n\nHELP:\n  --help             Show all options and usage examples\n\nExamples by Use Case\nQuick Searches\n# Simple query\npython scripts/search.py \"python tutorials\"\n\n# Get more results\npython scripts/search.py \"python tutorials\" --max-results 25\n\nCurrent Events\n# Today's news\npython scripts/search.py \"AI developments\" --type news --time-range d\n\n# This week's headlines\npython scripts/search.py \"technology\" --type news --time-range w --max-results 30\n\nVisual Content\n# Find photos\npython scripts/search.py \"nature photography\" --type images --image-type photo\n\n# Specific color scheme\npython scripts/search.py \"office design\" --type images --image-color Blue --image-size Large\n\n# Transparent icons\npython scripts/search.py \"social media icons\" --type images --image-type transparent\n\nVideo Content\n# Short tutorials\npython scripts/search.py \"quick recipe\" --type videos --video-duration short\n\n# High-quality documentaries\npython scripts/search.py \"space documentary\" --type videos --video-resolution high --video-duration long\n\nSaved Research\n# Create research report\npython scripts/search.py \"climate change solutions\" --max-results 30 --format markdown --output climate_report.md\n\n# Gather news archive\npython scripts/search.py \"tech industry\" --type news --time-range m --format json --output tech_news.json\n\nSupport\n\nFor issues or questions:\n\nCheck this documentation for solutions\nRun python scripts/search.py --help for command-line help\nVerify OpenClawCLI installation at https://clawhub.ai/\nEnsure duckduckgo-search library is installed\n\nKey Resources:\n\nOpenClawCLI: https://clawhub.ai/\nDuckDuckGo Search Library: https://pypi.org/project/duckduckgo-search/"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/anisafifi/web-search-hub",
    "publisherUrl": "https://clawhub.ai/anisafifi/web-search-hub",
    "owner": "anisafifi",
    "version": "0.1.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/web-search-hub",
    "downloadUrl": "https://openagent3.xyz/downloads/web-search-hub",
    "agentUrl": "https://openagent3.xyz/skills/web-search-hub/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-search-hub/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-search-hub/agent.md"
  }
}