searxng
Skill4 starsChanged 7 days agoMITView on GitHub
Use when Codex needs to operate, diagnose, maintain, or query a local Windows SearXNG deployment, including web search via the local JSON API, start/stop/update scripts, proxy troubleshooting, client integration, engine enable/disable decisions, and startup task management.
- Reads credentials
- Installs packages
5 other projects use a version of this.
Adopted by
Most recently taken up by
- createthis/agent_skill_searxngtheir own version, first seen Nov 8, 2026
- KerberosClaw/kc_ai_skillstheir own version, first seen Oct 15, 2026
- cutec-chris/PawLiatheir own version, first seen Oct 15, 2026
- ryanmaclean/skillstheir own version, first seen Sep 23, 2026
- stvlynn/skillstheir own version, first seen Mar 13, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- KerberosClaw/kc_ai_skills★ 79same name
- stvlynn/skills★ 58same name
- cutec-chris/PawLia★ 1same name
- ryanmaclean/skills★ 1same name
- createthis/agent_skill_searxng★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Use these scripts instead of launching searx\webapp.py manually:
- Very specific: line 35
Use scripts/search.py in this skill for quick JSON/table search checks.
- Very specific: line 55
Only when config\settings.yml enables the api pool engine should clients that need the API-first chain switch to http://127.0.0.1:8890.
- Distinctive: line 88
Check local API health:
- Very specific: line 119
If a client cannot search but the local API works, verify that its configured base URL points to 8888 when the API Pool is disabled or 8890 …
- Very specific: line 124
Read references/deployment.md when changing deployment, startup, update behavior, proxy settings, engine counts, or troubleshooting details.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Local SearXNG on Windows
This skill covers the local Windows SearXNG deployment provided by this repository.
Path Conventions
- Deployment root:
<deploy-root> - Source:
<deploy-root>\searxng - Virtualenv Python:
<deploy-root>\.venv\Scripts\python.exe - SearXNG config:
<deploy-root>\config\settings.yml - Normal SearXNG backend/UI:
http://127.0.0.1:8888 - Optional API Pool gateway:
http://127.0.0.1:8890 - Optional example local proxy for outbound search-engine traffic:
http://127.0.0.1:10808
Core Commands
Use these scripts instead of launching searx\webapp.py manually:
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\start.ps1
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\stop.ps1
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\update.ps1
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\check.ps1Proxy is disabled by default. If direct search-engine access times out, pass
-ProxyUrl "http://127.0.0.1:10808" to start.ps1 or run.ps1, and uncomment
the outgoing.proxies block in config\settings.yml.
Use scripts/search.py in this skill for quick JSON/table search checks. It uses
ordinary SearXNG on 8888 by default; set SEARXNG_URL to 8890 only when the
API Pool is enabled:
$env:SEARXNG_URL='http://127.0.0.1:8888'
python <skill-root>\scripts\search.py search "openai" --format json -n 3Deployment Facts
- SearXNG can be installed from the official GitHub source archive when Git is unavailable.
- SearXNG is installed editable into the venv with
pip install --no-build-isolation -e .. - A Windows compatibility patch is applied to
searx\valkeydb.pybecause upstream imports Unix-onlypwd. update.ps1stops SearXNG if running, updates source/dependencies, reapplies the Windows patch, and restarts it when appropriate.- The optional Windows Scheduled Task defaults to
SearXNG Localand starts SearXNG at user logon viascripts\start-hidden.vbs.
Client Integration
SearXNG-compatible clients should use http://127.0.0.1:8888 by default.
Only when config\settings.yml enables the api pool engine should clients that
need the API-first chain switch to http://127.0.0.1:8890.
The standard JSON endpoint is:
http://127.0.0.1:8888/search?q=example&format=jsonSearch Behavior
With the API Pool disabled, the Broker is not started and clients should query
ordinary SearXNG directly on port 8888.
With the API Pool enabled, clients may query the API-first gateway on port 8890.
It tries Parallel -> Tavily -> Brave -> Firecrawl serially and returns the first
non-empty result set. Only when every API provider is unavailable or empty does it
query the free Bing/Sogou/Qwant/Mojeek engines through SearXNG on port 8888.
The gateway accepts time_range (day, week, month, year) plus exact
date_after and date_before values in YYYY-MM-DD format. Direct SearXNG
supports only the coarse time_range values. Parallel supports only the lower
date bound, so requests containing date_before skip it and continue with Tavily.
DuckDuckGo variants are disabled in the public template because shared or proxied traffic can frequently trigger CAPTCHA challenges.
Brave in SearXNG scrapes https://search.brave.com/ HTML and therefore requires
no API key, but can be rate-limited. The API Pool Brave provider is separate and
uses the official BRAVE_API_KEY.
Diagnostics Workflow
- Check local API health:
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\check.ps1- Confirm actual results, not only HTTP 200. Use
8888normally and8890only while the API Pool is enabled:
$SearchUrl = 'http://127.0.0.1:8888'
$r = Invoke-WebRequest -Uri "$SearchUrl/search?q=openai&format=json&count=5" -UseBasicParsing -TimeoutSec 80
$j = $r.Content | ConvertFrom-Json
$j.results.Count
$j.provider
$j.fallback_used- Inspect logs:
Get-Content <deploy-root>\searxng-run.log -Tail 80
Get-Content <deploy-root>\searxng-run.err.log -Tail 120- Confirm listener and process:
Get-NetTCPConnection -State Listen -LocalPort 8888,8890
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -like '*searxng_windows*' -or $_.CommandLine -like '*searx\webapp.py*' }- If a client cannot search but the local API works, verify that its configured
base URL points to
8888when the API Pool is disabled or8890when it is enabled.
References
Read references/deployment.md when changing deployment, startup, update behavior,
proxy settings, engine counts, or troubleshooting details.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

