{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ddgs-search",
    "name": "ddgs-search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/camopel/ddgs-search",
    "canonicalUrl": "https://clawhub.ai/camopel/ddgs-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ddgs-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ddgs-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/arxiv_search.py",
      "scripts/install.py",
      "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. 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/ddgs-search"
    },
    "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/ddgs-search",
    "agentPageUrl": "https://openagent3.xyz/skills/ddgs-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ddgs-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ddgs-search/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": "Why This Skill?",
        "body": "🆓 Completely free — no API keys, no subscriptions, no rate limits, no billing surprises.\n\n🔍 8 search engines in one — Google, Bing, DuckDuckGo, Brave, Yandex, Yahoo, Wikipedia, and Mojeek. Switch engines with a single flag. Most search skills only support one.\n\n🎓 Built-in arXiv research search — search academic papers directly via arXiv's free API. Returns authors, categories, abstracts, and publication dates. Perfect for researchers, students, and AI/ML practitioners.\n\n🔌 Drop-in replacement — outputs web-search-plus compatible JSON, so it works with any skill or tool that expects that format. Zero config migration.\n\n⚡ Lightweight — single pip package, no browser automation, no headless Chrome. Searches complete in 1-3 seconds."
      },
      {
        "title": "Install",
        "body": "python3 scripts/install.py\n\nWorks on macOS, Linux, and Windows. Installs the ddgs package, verifies CLI access, and runs a quick search test."
      },
      {
        "title": "Manual install",
        "body": "pip install ddgs"
      },
      {
        "title": "CLI wrapper (recommended)",
        "body": "The ddgs-search wrapper outputs clean JSON to stdout with no interactive prompts or abort issues:\n\n# Google (default)\nddgs-search \"your query\" 5 google\n\n# Other engines\nddgs-search \"your query\" 3 duckduckgo\nddgs-search \"your query\" 5 brave\nddgs-search \"your query\" 10 yandex"
      },
      {
        "title": "Python script (web-search-plus compatible JSON)",
        "body": "# Google (default)\npython3 scripts/search.py -q \"your query\" -m 5\n\n# Other engines\npython3 scripts/search.py -q \"your query\" -b duckduckgo\npython3 scripts/search.py -q \"your query\" -b brave\npython3 scripts/search.py -q \"your query\" -b yandex\npython3 scripts/search.py -q \"your query\" -b yahoo\npython3 scripts/search.py -q \"your query\" -b wikipedia\n\nOutput (web-search-plus compatible JSON):\n\n{\n  \"provider\": \"ddgs\",\n  \"results\": [\n    {\"title\": \"...\", \"url\": \"...\", \"snippet\": \"...\", \"published_date\": \"...\"}\n  ]\n}"
      },
      {
        "title": "arXiv Search",
        "body": "# Search by topic\npython3 scripts/arxiv_search.py -q \"3D gaussian splatting\" -m 10\n\n# Field-specific search (title, abstract, category)\npython3 scripts/arxiv_search.py -q \"ti:transformer AND cat:cs.CV\" -m 5\n\n# Sort by relevance instead of date\npython3 scripts/arxiv_search.py -q \"reinforcement learning\" --sort-by relevance\n\nReturns authors, categories, abstracts — same JSON format."
      },
      {
        "title": "Direct CLI",
        "body": "⚠️ The raw ddgs text CLI has a pagination bug (input() call → Aborted! + exit code 1 in non-TTY contexts). Use ddgs-search wrapper or -o file.json instead.\n\nddgs text -q \"query\" -m 5 -b google -o /tmp/results.json"
      },
      {
        "title": "Integration",
        "body": "Set WEB_SEARCH_PLUS_PATH to use as a search backend for other skills:\n\nexport WEB_SEARCH_PLUS_PATH=\"path/to/ddgs-search/scripts/search.py\""
      }
    ],
    "body": "ddgs-search\nWhy This Skill?\n\n🆓 Completely free — no API keys, no subscriptions, no rate limits, no billing surprises.\n\n🔍 8 search engines in one — Google, Bing, DuckDuckGo, Brave, Yandex, Yahoo, Wikipedia, and Mojeek. Switch engines with a single flag. Most search skills only support one.\n\n🎓 Built-in arXiv research search — search academic papers directly via arXiv's free API. Returns authors, categories, abstracts, and publication dates. Perfect for researchers, students, and AI/ML practitioners.\n\n🔌 Drop-in replacement — outputs web-search-plus compatible JSON, so it works with any skill or tool that expects that format. Zero config migration.\n\n⚡ Lightweight — single pip package, no browser automation, no headless Chrome. Searches complete in 1-3 seconds.\n\nInstall\npython3 scripts/install.py\n\n\nWorks on macOS, Linux, and Windows. Installs the ddgs package, verifies CLI access, and runs a quick search test.\n\nManual install\npip install ddgs\n\nWeb Search\nCLI wrapper (recommended)\n\nThe ddgs-search wrapper outputs clean JSON to stdout with no interactive prompts or abort issues:\n\n# Google (default)\nddgs-search \"your query\" 5 google\n\n# Other engines\nddgs-search \"your query\" 3 duckduckgo\nddgs-search \"your query\" 5 brave\nddgs-search \"your query\" 10 yandex\n\nPython script (web-search-plus compatible JSON)\n# Google (default)\npython3 scripts/search.py -q \"your query\" -m 5\n\n# Other engines\npython3 scripts/search.py -q \"your query\" -b duckduckgo\npython3 scripts/search.py -q \"your query\" -b brave\npython3 scripts/search.py -q \"your query\" -b yandex\npython3 scripts/search.py -q \"your query\" -b yahoo\npython3 scripts/search.py -q \"your query\" -b wikipedia\n\n\nOutput (web-search-plus compatible JSON):\n\n{\n  \"provider\": \"ddgs\",\n  \"results\": [\n    {\"title\": \"...\", \"url\": \"...\", \"snippet\": \"...\", \"published_date\": \"...\"}\n  ]\n}\n\narXiv Search\n# Search by topic\npython3 scripts/arxiv_search.py -q \"3D gaussian splatting\" -m 10\n\n# Field-specific search (title, abstract, category)\npython3 scripts/arxiv_search.py -q \"ti:transformer AND cat:cs.CV\" -m 5\n\n# Sort by relevance instead of date\npython3 scripts/arxiv_search.py -q \"reinforcement learning\" --sort-by relevance\n\n\nReturns authors, categories, abstracts — same JSON format.\n\nDirect CLI\n\n⚠️ The raw ddgs text CLI has a pagination bug (input() call → Aborted! + exit code 1 in non-TTY contexts). Use ddgs-search wrapper or -o file.json instead.\n\nddgs text -q \"query\" -m 5 -b google -o /tmp/results.json\n\nIntegration\n\nSet WEB_SEARCH_PLUS_PATH to use as a search backend for other skills:\n\nexport WEB_SEARCH_PLUS_PATH=\"path/to/ddgs-search/scripts/search.py\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/camopel/ddgs-search",
    "publisherUrl": "https://clawhub.ai/camopel/ddgs-search",
    "owner": "camopel",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ddgs-search",
    "downloadUrl": "https://openagent3.xyz/downloads/ddgs-search",
    "agentUrl": "https://openagent3.xyz/skills/ddgs-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ddgs-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ddgs-search/agent.md"
  }
}