← Back to Skills Marketplace
mr-ds-ml-85

WebSearch-Openclaw

by Mr.ML Learner · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
80
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install searxng-websearch
Description
Use this skill whenever the user wants to search the web, do research on a topic, fetch a webpage, or gather information from online sources using a self-hos...
README (SKILL.md)

SearXNG Web Search Skill

A skill for searching the web and fetching pages via a self-hosted SearXNG instance. Three entry-point scripts cover the main use cases:

Script Purpose
websearch.py Single query, structured results
fetch_page.py Fetch and extract text from one URL
deep_research.py Multi-query research with page fetching and ranking

Environment Setup

All scripts read configuration from a .env file (or real environment variables). Copy _env.env and fill in your values:

cp _env .env

.env reference

Variable Default Description
SEARXNG_URL http://localhost:8080 Base URL of your SearXNG instance
SEARXNG_LANGUAGE en Default search language
SEARXNG_SAFE_SEARCH 0 0 = off, 1 = moderate, 2 = strict
SEARXNG_TIMEOUT 20 HTTP timeout in seconds

CLI override — every script now also accepts --searxng-url to override the env value for one-off runs without editing .env.


Quick Start

Install dependencies

pip install requests beautifulsoup4 lxml python-dotenv

Install PATH shims (recommended — fixes CWD issues in OS)

bash ~/.openclaude/skills/searxng-websearch/install.sh
# reload shell, then:
wsearch   "Claude Sonnet 4 release notes" --format agent
wfetch    https://example.com --max-chars 3000
wresearch "transformer attention mechanisms" --fetch-top-pages 3

Or call directly with full path (no install needed)

SKILL=~/.openclaude/skills/searxng-websearch
python3 "$SKILL/websearch.py"    "Claude Sonnet 4 release notes" --format agent
python3 "$SKILL/fetch_page.py"   https://example.com --max-chars 3000
python3 "$SKILL/deep_research.py" "transformer attention mechanisms" --fetch-top-pages 3

Script Reference

websearch.py

python websearch.py \x3Cquery> [options]

Options:
  --searxng-url URL       SearXNG base URL (overrides SEARXNG_URL env var)
  --category CATEGORY     general | images | news | science | files |
                          social_media | map | music | videos | it
                          (default: general)
  --max-results N         Number of results to return (default: 5)
  --language LANG         Language code, e.g. en, de, fr
  --safe-search 0|1|2     Safe-search level
  --page N                Result page number (default: 1)
  --time-range RANGE      day | week | month | year
  --format FORMAT         markdown | text | json | agent (default: markdown)

fetch_page.py

python fetch_page.py \x3Curl> [options]

Options:
  --searxng-url URL       Unused here but accepted for consistency
  --max-chars N           Max characters to print (default: 5000)

deep_research.py

python deep_research.py \x3Ctopic> [options]

Options:
  --searxng-url URL       SearXNG base URL (overrides SEARXNG_URL env var)
  --max-results N         Results per sub-query (default: 4)
  --fetch-top-pages N     Number of top pages to fetch (default: 3)
  --max-chars N           Max chars per fetched page (default: 2500)
  --output FORMAT         markdown | text (default: markdown)

Source Ranking (deep_research.py)

Pages are scored before fetching so the most authoritative content is prioritised:

Domain signal Points
github.com / gitlab.com +5
arxiv.org / openreview.net +5
docs.* / readthedocs.* +4
research / paper in domain +3
Has a publication date +1
Has a snippet +1

⚠️ Critical: How to Invoke These Scripts (OpenClaude / Claude Code)

NEVER use cd before calling a script. Each Bash() call spawns a fresh shell; cd skill-dir && python3 script.py silently resets the CWD and the script never runs.

Always call scripts by their full absolute path in a single command:

# ✅ CORRECT — full path, no cd
python3 ~/.openclaude/skills/searxng-websearch/websearch.py "my query" --format agent

# ✅ CORRECT — SKILL_DIR variable makes it readable
SKILL_DIR=~/.openclaude/skills/searxng-websearch
python3 "$SKILL_DIR/websearch.py" "my query" --format agent

# ❌ WRONG — cd resets on the next Bash() call
cd ~/.openclaude/skills/searxng-websearch && python3 websearch.py "my query"

If the skill path is unknown, resolve it first:

SKILL_DIR=$(find ~/.openclaude/skills -name "websearch.py" -printf '%h' -quit 2>/dev/null \
            || find ~/skills -name "websearch.py" -printf '%h' -quit 2>/dev/null)
python3 "$SKILL_DIR/websearch.py" "my query" --format agent

Tips for Claude

  • Run websearch.py with --format agent when you need compact, token-efficient context to pass back to the model.
  • For broad topics, prefer deep_research.py — it fans out into sub-queries automatically.
  • If SearXNG is unreachable, deep_research.py exits with a clear error message; check that SEARXNG_URL is correct and the instance is running.
  • Pipe markdown output into a file for later use:
    python3 ~/.openclaude/skills/searxng-websearch/deep_research.py "RAG retrieval strategies" > research.md
    
Usage Guidance
This skill is reasonable to install if you want SearXNG-backed web search. Configure SEARXNG_URL intentionally, review the optional installer before running it, and remember that fetched webpages are untrusted content that should not override your instructions.
Capability Analysis
Type: OpenClaw Skill Name: searxng-websearch Version: 1.0.0 The skill bundle provides legitimate web search and page fetching capabilities via a self-hosted SearXNG instance. The Python scripts (websearch.py, fetch_page.py, deep_research.py) use standard libraries to perform searches and extract text from URLs, while the install.sh script correctly sets up CLI shims and updates the PATH in shell configuration files. The instructions in SKILL.md are designed to ensure the AI agent executes commands reliably within the OpenClaw environment and include explicit safety constraints against unrelated local file operations.
Capability Assessment
Purpose & Capability
The scripts match the stated purpose: search via a configured SearXNG instance, fetch a URL, and perform multi-query research. No credential, local file indexing, destructive action, or unrelated capability is shown.
Instruction Scope
The skill is scoped to web data and explicitly says not to use it for unrelated local file operations, but its outputs may contain untrusted webpage text that the agent could read as context.
Install Mechanism
Registry metadata says there is no install spec, while SKILL.md documents manual pip dependency installation and an optional install.sh. This is user-directed and visible, but users should review it before running.
Credentials
Network access to the configured SearXNG service and target webpages is proportionate to the skill's purpose. No environment secrets are required; .env contains only default SearXNG settings.
Persistence & Privilege
If the optional installer is run, it creates persistent shell shims in ~/.local/bin and may append a PATH entry to shell rc files. This is disclosed and scoped, not hidden.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install searxng-websearch
  3. After installation, invoke the skill by name or use /searxng-websearch
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the searxng-websearch skill for searching the web via a self-hosted SearXNG instance. - Provides three entry-point scripts: `websearch.py` (single query), `fetch_page.py` (fetch webpage text), and `deep_research.py` (multi-query research with ranking). - Supports configuration via `.env` file and per-run CLI overrides. - Offers install script for convenient PATH shims and direct execution options. - Documentation includes example commands, script references, and practical usage tips.
Metadata
Slug searxng-websearch
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is WebSearch-Openclaw?

Use this skill whenever the user wants to search the web, do research on a topic, fetch a webpage, or gather information from online sources using a self-hos... It is an AI Agent Skill for Claude Code / OpenClaw, with 80 downloads so far.

How do I install WebSearch-Openclaw?

Run "/install searxng-websearch" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is WebSearch-Openclaw free?

Yes, WebSearch-Openclaw is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does WebSearch-Openclaw support?

WebSearch-Openclaw is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created WebSearch-Openclaw?

It is built and maintained by Mr.ML Learner (@mr-ds-ml-85); the current version is v1.0.0.

💬 Comments