SearXNG-lite
/install searxng-lite
SearXNG-lite
Lightweight multi-engine aggregated web search. No Docker, no server, no SearXNG instance required — just a single Python script that queries search engines directly.
26 engines across 9 categories, concurrent execution, JSON + compact text output.
What makes this different
Unlike other SearXNG skills that need a running SearXNG server, this skill:
- Zero infrastructure — no Docker, no SearXNG instance, no HTTP server
- Single file — one Python script (~850 lines) does everything
- Direct queries — sends requests to search engines in-process via httpx
- Hot-reload config — edit
config.ymlto toggle categories, changes apply instantly - Concurrent — queries multiple engines in parallel (up to 5 threads)
- Deduplication — merges results from multiple engines, scores by cross-engine overlap
Requirements
- Python 3.10+
httpx— HTTP client (pip3 install httpx)lxml— HTML parser (pip3 install lxml, pre-installed on macOS)- (Optional)
socksio— for SOCKS proxy support (pip3 install socksio) - (Optional)
pyyaml— for config parsing (pip3 install pyyaml; falls back to built-in parser)
Quick start
# Install dependencies
pip3 install httpx lxml
# Search
python3 scripts/search.py "your query"
# List all engines
python3 scripts/search.py --list
How to search
python3 scripts/search.py "query" # default (general + knowledge engines)
python3 scripts/search.py "query" -c dev # by category
python3 scripts/search.py "query" -c dev,academic # multiple categories
python3 scripts/search.py "query" -e github,arxiv # specific engines
python3 scripts/search.py "query" --all # all enabled engines
python3 scripts/search.py "query" -l zh-CN # Chinese results
python3 scripts/search.py "query" -n 5 # limit results
python3 scripts/search.py "query" --compact # title + url + snippet text output
python3 scripts/search.py --list # show all engines & categories
All paths are relative to this skill's directory.
Arguments
| Arg | Short | Default | Description |
|---|---|---|---|
query |
required | Search query | |
--engines |
-e |
Comma-separated engine names | |
--categories |
-c |
Comma-separated categories | |
--max-results |
-n |
10 | Max results |
--lang |
-l |
en | Language code (e.g. en, zh-CN, de) |
--page |
-p |
1 | Page number |
--proxy |
from config | Proxy URL (overrides config/env) | |
--timeout |
12 | Timeout in seconds | |
--all |
Use all enabled engines | ||
--compact |
Human-readable text output | ||
--list |
List engines and exit | ||
--debug |
Enable debug logging |
Without -e or -c, searches general + knowledge categories.
Configuration
Edit config.yml in the skill directory to customize behavior:
# Proxy for engines that need it (Google, YouTube, Reddit, etc.)
# Supports: http, https, socks5, socks5h
# Leave empty to disable — proxy-required engines will fail silently.
proxy: "socks5h://127.0.0.1:1080"
# Category toggles
categories:
general: true # bing, brave, duckduckgo, google🌐, startpage, yahoo
knowledge: true # wikipedia, wikidata, wolframalpha🌐
dev: true # github, gitlab, stackoverflow, hackernews, reddit🌐, huggingface🌐, mdn
academic: true # arxiv, semantic_scholar, google_scholar🌐, crossref
news: false # bing_news, reuters
video: false # youtube🌐
images: false # unsplash
social: false # lemmy🌐
translate: false # lingva🌐
Proxy setup
Some engines (marked with 🌐) require a proxy to access. Three ways to configure:
- config.yml (recommended): set
proxy: "your-proxy-url" - Environment variable: set
HTTPS_PROXY=your-proxy-url - CLI flag: pass
--proxy your-proxy-urlper search
Priority: CLI flag > config.yml > environment variable.
If no proxy is configured, 🌐-marked engines will fail silently and results from other engines are still returned.
Config hot-reload
The config file is read on every search call. No restart needed — just edit and save.
If config.yml is missing, the script falls back to a default set of engines: bing, brave, duckduckgo, wikipedia.
Categories and engines
| Category | Engines | Use for |
|---|---|---|
general |
bing, brave, duckduckgo, google🌐, startpage, yahoo | General web search |
knowledge |
wikipedia, wikidata, wolframalpha🌐 | Facts, definitions, calculations |
dev |
github, gitlab, stackoverflow, hackernews, reddit🌐, huggingface🌐, mdn | Code, repos, dev Q&A, AI models |
academic |
arxiv, semantic_scholar, google_scholar🌐, crossref | Papers, citations |
news |
bing_news, reuters | Current events |
video |
youtube🌐 | Video search |
images |
unsplash | Free stock photos |
social |
lemmy🌐 | Community discussions |
translate |
lingva🌐 | Translation |
🌐 = requires proxy. Without proxy, these engines are skipped.
Output format
Default JSON:
{
"query": "search term",
"results": [
{"title": "...", "url": "...", "content": "...", "engines": ["bing","brave"], "score": 2}
],
"result_count": 15,
"elapsed": 2.1,
"engines_used": ["bing", "brave", "wikipedia"],
"errors": []
}
--compact outputs human-readable text: numbered title, URL, snippet, engine tags.
score = number of engines that returned this result. Higher = more relevant.
Typical agent workflows
- General research:
python3 scripts/search.py "topic" -n 5 - Find a library:
python3 scripts/search.py "image processing python" -e github - Academic papers:
python3 scripts/search.py "attention mechanism" -c academic -n 5 - Tech discussions:
python3 scripts/search.py "topic" -e hackernews,reddit - AI models:
python3 scripts/search.py "text-to-speech" -e huggingface - Dev docs:
python3 scripts/search.py "fetch API" -e mdn,stackoverflow - Chinese search:
python3 scripts/search.py "大语言模型" -l zh-CN -n 5 - News:
python3 scripts/search.py "AI regulation" -c news
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install searxng-lite - After installation, invoke the skill by name or use
/searxng-lite - Provide required inputs per the skill's parameter spec and get structured output
What is SearXNG-lite?
Multi-engine web search aggregation via local Python script. Use when: (1) searching the web for information, articles, documentation, (2) searching code rep... It is an AI Agent Skill for Claude Code / OpenClaw, with 136 downloads so far.
How do I install SearXNG-lite?
Run "/install searxng-lite" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is SearXNG-lite free?
Yes, SearXNG-lite is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does SearXNG-lite support?
SearXNG-lite is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created SearXNG-lite?
It is built and maintained by mrzhangkris (@mrzhangkris); the current version is v1.0.0.