agentleFS
Kerberos255Kerberos255/searxng-windows/skill/SKILL.md

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

  • Other versions5 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 5

    1. KerberosClaw/kc_ai_skills★ 79same name
    2. stvlynn/skills★ 58same name
    3. cutec-chris/PawLia★ 1same name
    4. ryanmaclean/skills★ 1same name
    5. 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
  1. Very specific:

    Use these scripts instead of launching searx\webapp.py manually:

    line 22
  2. Very specific:

    Use scripts/search.py in this skill for quick JSON/table search checks.

    line 35
  3. Very specific:

    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.

    line 55
  4. Distinctive:

    Check local API health:

    line 88
  5. Very specific:

    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 …

    line 119
  6. Very specific:

    Read references/deployment.md when changing deployment, startup, update behavior, proxy settings, engine counts, or troubleshooting details.

    line 124

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.ps1

Proxy 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 3

Deployment 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.py because upstream imports Unix-only pwd.
  • update.ps1 stops SearXNG if running, updates source/dependencies, reapplies the Windows patch, and restarts it when appropriate.
  • The optional Windows Scheduled Task defaults to SearXNG Local and starts SearXNG at user logon via scripts\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=json

Search 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

  1. Check local API health:
powershell -ExecutionPolicy Bypass -File <deploy-root>\scripts\check.ps1
  1. Confirm actual results, not only HTTP 200. Use 8888 normally and 8890 only 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
  1. Inspect logs:
Get-Content <deploy-root>\searxng-run.log -Tail 80
Get-Content <deploy-root>\searxng-run.err.log -Tail 120
  1. 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*' }
  1. 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 when it is enabled.

References

Read references/deployment.md when changing deployment, startup, update behavior, proxy settings, engine counts, or troubleshooting details.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.