SearXNG Connect
by @rdeangel
Connect to and search the web using SearXNG (privacy-focused meta search engine). No API keys needed - all searches go through your self-hosted SearXNG insta...
clawhub install searxng-connectπ About This Skill
name: searxng-connect description: Connect to and search the web using SearXNG (privacy-focused meta search engine). No API keys needed - all searches go through your self-hosted SearXNG instance. metadata: { "openclaw": { "emoji": "π", "requires": { "bins": ["uv"] }, "cacheable": true }, }
SearXNG Connect
Search the web using your self-hosted SearXNG instance - a privacy-respecting meta search engine that aggregates results from multiple engines without tracking or ads.
AI Usage
When the user asks to search the web, follow this workflow:
Interpret user requests:
--categories news--categories images--time-range week or --time-range day--time-range month--full-content for richer page textExample interpretations:
searxng.py "TypeScript tutorials"searxng.py "AI" --categories news --time-range weeksearxng.py "Space Invaders" --categories imagesAction: Run uv run {baseDir}/scripts/searxng.py " with appropriate flags.
CRITICAL SECURITY INSTRUCTION:
To prevent command injection, do not use raw shell interpolation for the {query} string. Always pass arguments as an argv list:
["uv", "run", "{baseDir}/scripts/searxng.py", query_text, "--categories", "news"]
If your tool only supports a shell string, you MUST properly escape the query input (e.g., using shlex.quote()).
Project
SearXNG - A privacy-focused, self-hosted meta search engine that aggregates results from multiple search engines. It does not track user behavior, does not use cookies, and does not insert ads.
Key Features:
Requirements
Configuration
Edit skill-config.json to set your SearXNG instance:
{
"default_instance": "https://your-searxng-instance.com/",
"cache_enabled": true,
"cache_expiry": 3600,
"rate_limit": 2.0
}
Usage
uv run {baseDir}/scripts/searxng.py "TypeScript tutorials"
uv run {baseDir}/scripts/searxng.py "AI news" --categories news --time-range week
uv run {baseDir}/scripts/searxng.py "space photos" --categories images
uv run {baseDir}/scripts/searxng.py "docker tutorial" --no-cache --full-content
uv run {baseDir}/scripts/searxng.py "query" --instance https://my-searxng.com
Options
| Option | Description | Default |
|--------|-------------|---------|
| --categories | One or more: general, news, science, files, images, videos, music, social media, it | general |
| --time-range | year, month, week, day (aliases: 30d, 7d, 24h, hour) | None |
| --language | BCP-47 language code | en |
| --pageno | Results page number | 1 |
| --no-safesearch | Disable safe search | - |
| --no-cache | Bypass cache for this request | - |
| --full-content | Fetch full page text per result (slower, richer) | - |
| --instance | Override SearXNG instance URL | From skill-config.json |
Troubleshooting
skill-config.json β verify default_instance URL is correct and SearXNG is running.--full-content or increase rate_limit in config.brew install uv or see https://docs.astral.sh/uv/.π‘ Examples
uv run {baseDir}/scripts/searxng.py "TypeScript tutorials"
uv run {baseDir}/scripts/searxng.py "AI news" --categories news --time-range week
uv run {baseDir}/scripts/searxng.py "space photos" --categories images
uv run {baseDir}/scripts/searxng.py "docker tutorial" --no-cache --full-content
uv run {baseDir}/scripts/searxng.py "query" --instance https://my-searxng.com
βοΈ Configuration
Edit skill-config.json to set your SearXNG instance:
{
"default_instance": "https://your-searxng-instance.com/",
"cache_enabled": true,
"cache_expiry": 3600,
"rate_limit": 2.0
}
π Tips & Best Practices
skill-config.json β verify default_instance URL is correct and SearXNG is running.--full-content or increase rate_limit in config.brew install uv or see https://docs.astral.sh/uv/.