{
  "schemaVersion": "1.0",
  "item": {
    "slug": "searxng-local-search",
    "name": "Searxng Web Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/noblepayne/searxng-local-search",
    "canonicalUrl": "https://clawhub.ai/noblepayne/searxng-local-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/searxng-local-search",
    "sourceDownloadUrl": "https://clawhub.ai/api/v1/download?slug=searxng-local-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api-guide.md"
    ],
    "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/searxng-local-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/searxng-local-search",
    "agentPageUrl": "https://openagent3.xyz/skills/searxng-local-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/searxng-local-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/searxng-local-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. 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": "SearXNG Web Search",
        "body": "Search the web using a self-hosted SearXNG instance. This skill provides access to web search results through the SearXNG JSON API, with built-in rate limiting, error handling, and result formatting."
      },
      {
        "title": "When to Use",
        "body": "Use this skill when you need to:\n\nFind current information or recent news\nResearch topics beyond your knowledge cutoff\nLook up documentation or technical references\nVerify facts or check current status\nFind URLs or resources on specific topics\nSearch for code examples or solutions"
      },
      {
        "title": "Configuration",
        "body": "Set the SEARXNG_URL environment variable to your SearXNG instance:\n\nexport SEARXNG_URL=\"http://localhost:8888\"\n\nOr use the default (http://localhost:8888) if not set."
      },
      {
        "title": "Usage",
        "body": "Execute the search script with your query:\n\nbb scripts/search.clj \"your search query\""
      },
      {
        "title": "Advanced Options",
        "body": "Pass additional parameters as JSON:\n\nbb scripts/search.clj \"your query\" '{\"category\": \"news\", \"time_range\": \"day\", \"num_results\": 10}'\n\nAvailable options:\n\ncategory - Filter by category: general, news, images, videos, it, science\ntime_range - Time filter: day, week, month, year\nlanguage - Language code (default: en)\nnum_results - Number of results to return (default: 5)"
      },
      {
        "title": "Output Format",
        "body": "The script returns formatted search results as text:\n\nSearch Results for \"your query\"\nFound 42 total results\n\n1. Result Title [Score: 1.85]\n   URL: https://example.com/page\n   Description snippet from the page...\n   Engines: google, bing\n\n2. Another Result [Score: 1.62]\n   ..."
      },
      {
        "title": "Error Handling",
        "body": "The script handles common errors gracefully:\n\nNetwork timeouts (30s timeout)\nSearXNG unavailable (clear error message)\nInvalid queries (error details)\nRate limiting (429 responses)\nEmpty results (informative message)"
      },
      {
        "title": "Rate Limiting",
        "body": "The script implements basic rate limiting:\n\nMinimum 1 second between requests\nUses filesystem-based state (.searxng-last-request)\nPrevents accidental spam"
      },
      {
        "title": "Basic Search",
        "body": "bb scripts/search.clj \"NixOS configuration\""
      },
      {
        "title": "News Search",
        "body": "bb scripts/search.clj \"AI developments\" '{\"category\": \"news\", \"time_range\": \"week\"}'"
      },
      {
        "title": "Technical Search",
        "body": "bb scripts/search.clj \"babashka http client\" '{\"category\": \"it\", \"num_results\": 3}'"
      },
      {
        "title": "Recent Results Only",
        "body": "bb scripts/search.clj \"product launch\" '{\"time_range\": \"day\"}'"
      },
      {
        "title": "Troubleshooting",
        "body": "\"SEARXNG_URL not set\"\n\nSet the environment variable: export SEARXNG_URL=\"http://localhost:8888\"\n\nConnection timeout\n\nCheck that SearXNG is running: curl $SEARXNG_URL/search?q=test&format=json\nVerify firewall settings\nCheck service status: systemctl status searx\n\nEmpty results\n\nTry a broader query\nRemove filters and try again\nCheck SearXNG logs: journalctl -u searx -n 50\n\nRate limit errors\n\nWait a few seconds between searches\nThe script enforces minimum 1s delay automatically"
      },
      {
        "title": "Implementation Notes",
        "body": "The search script (scripts/search.clj) uses:\n\nbabashka.http-client for HTTP requests\nClojure's cheshire.core for JSON parsing\nFilesystem-based rate limiting\n30-second timeout with proper error messages\nResult scoring and sorting for best results first\n\nFor detailed API documentation, see references/api-guide.md."
      }
    ],
    "body": "SearXNG Web Search\n\nSearch the web using a self-hosted SearXNG instance. This skill provides access to web search results through the SearXNG JSON API, with built-in rate limiting, error handling, and result formatting.\n\nWhen to Use\n\nUse this skill when you need to:\n\nFind current information or recent news\nResearch topics beyond your knowledge cutoff\nLook up documentation or technical references\nVerify facts or check current status\nFind URLs or resources on specific topics\nSearch for code examples or solutions\nConfiguration\n\nSet the SEARXNG_URL environment variable to your SearXNG instance:\n\nexport SEARXNG_URL=\"http://localhost:8888\"\n\n\nOr use the default (http://localhost:8888) if not set.\n\nUsage\n\nExecute the search script with your query:\n\nbb scripts/search.clj \"your search query\"\n\nAdvanced Options\n\nPass additional parameters as JSON:\n\nbb scripts/search.clj \"your query\" '{\"category\": \"news\", \"time_range\": \"day\", \"num_results\": 10}'\n\n\nAvailable options:\n\ncategory - Filter by category: general, news, images, videos, it, science\ntime_range - Time filter: day, week, month, year\nlanguage - Language code (default: en)\nnum_results - Number of results to return (default: 5)\nOutput Format\n\nThe script returns formatted search results as text:\n\nSearch Results for \"your query\"\nFound 42 total results\n\n1. Result Title [Score: 1.85]\n   URL: https://example.com/page\n   Description snippet from the page...\n   Engines: google, bing\n\n2. Another Result [Score: 1.62]\n   ...\n\nError Handling\n\nThe script handles common errors gracefully:\n\nNetwork timeouts (30s timeout)\nSearXNG unavailable (clear error message)\nInvalid queries (error details)\nRate limiting (429 responses)\nEmpty results (informative message)\nRate Limiting\n\nThe script implements basic rate limiting:\n\nMinimum 1 second between requests\nUses filesystem-based state (.searxng-last-request)\nPrevents accidental spam\nExamples\nBasic Search\nbb scripts/search.clj \"NixOS configuration\"\n\nNews Search\nbb scripts/search.clj \"AI developments\" '{\"category\": \"news\", \"time_range\": \"week\"}'\n\nTechnical Search\nbb scripts/search.clj \"babashka http client\" '{\"category\": \"it\", \"num_results\": 3}'\n\nRecent Results Only\nbb scripts/search.clj \"product launch\" '{\"time_range\": \"day\"}'\n\nTroubleshooting\n\n\"SEARXNG_URL not set\"\n\nSet the environment variable: export SEARXNG_URL=\"http://localhost:8888\"\n\nConnection timeout\n\nCheck that SearXNG is running: curl $SEARXNG_URL/search?q=test&format=json\nVerify firewall settings\nCheck service status: systemctl status searx\n\nEmpty results\n\nTry a broader query\nRemove filters and try again\nCheck SearXNG logs: journalctl -u searx -n 50\n\nRate limit errors\n\nWait a few seconds between searches\nThe script enforces minimum 1s delay automatically\nImplementation Notes\n\nThe search script (scripts/search.clj) uses:\n\nbabashka.http-client for HTTP requests\nClojure's cheshire.core for JSON parsing\nFilesystem-based rate limiting\n30-second timeout with proper error messages\nResult scoring and sorting for best results first\n\nFor detailed API documentation, see references/api-guide.md."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/noblepayne/searxng-local-search",
    "publisherUrl": "https://clawhub.ai/noblepayne/searxng-local-search",
    "owner": "noblepayne",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/searxng-local-search",
    "downloadUrl": "https://openagent3.xyz/downloads/searxng-local-search",
    "agentUrl": "https://openagent3.xyz/skills/searxng-local-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/searxng-local-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/searxng-local-search/agent.md"
  }
}