SKILL.md
$29
π Quick Start
# Interactive setup (recommended for first run)
python3 scripts/setup.py
# Or manually
cp .env.example .env
python3 scripts/search.py -q "latest OpenClaw release"
python3 scripts/extract.py --url https://example.com
The wizard explains providers, collects keys, and sets defaults.
π Providers
Search providers
- Serper β shopping, prices, local, and general Google-style results; fast broad fallback
- Brave β independent web index and generic current-web queries; strong non-Google complement
- Tavily β research, explanations, and synthesis; strong research routing
- Querit β multilingual and international updates; good for cross-language recency
- Linkup β source-grounded/citation-heavy search; evidence-first queries
- Exa β semantic discovery, similar sites, and deep research; supports
deep+deep-reasoning
- Firecrawl β search with scrape-ready metadata; also strong extraction provider
- Perplexity β direct answers with citations; via
PERPLEXITY_API_KEYorKILOCODE_API_KEY
- You.com β current-web / RAG-friendly snippets; also supports extraction
- SearXNG β private/self-hosted search; no API key, just instance URL
Extraction providers
scripts/extract.py auto-falls back across:
- Firecrawl
- Linkup
- Tavily
- Exa
- You.com
π§ Routing at a Glance
Default priority:
tavily β linkup β querit β exa β firecrawl β perplexity β brave β serper β you β searxng
Examples:
python3 scripts/search.py -q "weather in Vienna today"
# generic current-web intent β Brave or Serper
python3 scripts/search.py -q "find credible sources for AI tutoring outcomes"
# citation/evidence intent β Linkup
python3 scripts/search.py -q "latest AI policy updates in Germany"
# multilingual + recency β Querit or Tavily
python3 scripts/search.py -p exa --exa-depth deep -q "LLM scaling laws research"
python3 scripts/search.py -p firecrawl -q "YC startups web scraping"
Debug routing:
python3 scripts/search.py --explain-routing -q "your query"
π Extraction Examples
python3 scripts/extract.py --url https://example.com
python3 scripts/extract.py --url https://docs.linkup.so --provider linkup
python3 scripts/extract.py --url https://example.com --url https://example.org --include-images
python3 scripts/extract.py --url https://example.com --format html --include-raw-html
βοΈ Configuration Notes
.env.exampledocuments supported env vars
config.example.jsonincludes provider priority and provider-specific defaults
config.jsonis your local runtime config
- SearXNG still supports explicit URL config and docker-aware auto-detection
π Security
SearXNG SSRF protection:
- Enforces
http/httpsonly
- Blocks common cloud metadata endpoints
- Blocks private/internal IP resolution unless
SEARXNG_ALLOW_PRIVATE=1
- Uses operator-controlled config/env only for the instance URL
β Verification
python3 -m unittest discover -s tests -p 'test_*.py'
python3 scripts/search.py --explain-routing -q "find credible sources for climate change impacts"
python3 scripts/extract.py --url https://example.com --provider auto --compact