Web Search Plus

以观其妙书院 · Obsidian 知识库

Web Search Plus

Stop choosing search providers. Let the skill do it for you.

This skill connects you to 7 search providers (Serper, Tavily, Querit, Exa, Perplexity, You.com, SearXNG) and automatically picks the best one for each query. Shopping question? → Google results. Research question? → Deep research engine. Need a direct answer? → AI-synthesized with citations. Want privacy? → Self-hosted option.


✨ What Makes This Different?


🚀 Quick Start

# Interactive setup (recommended for first run)
python3 scripts/setup.py

# Or manual: copy config and add your keys
cp config.example.json config.json

The wizard explains each provider, collects API keys, and configures defaults.


🔑 API Keys

You only need ONE key to get started. Add more providers later for better coverage.

Provider Free Tier Best For Sign Up
Serper 2,500/mo Shopping, prices, local, news [serper.dev](https://serper.dev)
Tavily 1,000/mo Research, explanations, academic [tavily.com](https://tavily.com)
Querit Contact sales/free tier varies Multilingual AI search, international updates [querit.ai](https://querit.ai)
Exa 1,000/mo "Similar to X", startups, papers [exa.ai](https://exa.ai)
Perplexity Via Kilo Direct answers with citations [kilo.ai](https://kilo.ai)
You.com Limited Real-time info, AI/RAG context [api.you.com](https://api.you.com)
SearXNG FREE Privacy, multi-source, $0 cost Self-hosted

Setting your keys:

# Option A: .env file (recommended)
export SERPER_API_KEY="your-key"
export TAVILY_API_KEY="your-key"
export QUERIT_API_KEY="your-key"

# Option B: config.json
{ "serper": { "api_key": "your-key" } }

🎯 When to Use Which Provider

I want to... Provider Example Query
Find product prices Serper "iPhone 16 Pro Max price"
Find restaurants/stores nearby Serper "best pizza near me"
Understand how something works Tavily "how does HTTPS encryption work"
Do deep research Tavily "climate change research 2024"
Search across languages / international updates Querit "latest AI policy updates in Germany"
Find companies like X Exa "startups similar to Notion"
Find research papers Exa "transformer architecture papers"
Get a direct answer with sources Perplexity "events in Berlin this weekend"
Know the current status of something Perplexity "what is the status of Ethereum upgrades"
Get real-time info You.com "latest AI regulation news"
Search without being tracked SearXNG anything, privately

Pro tip: Just search normally! Auto-routing handles most queries correctly. Override with -p provider when needed.


🧠 How Auto-Routing Works

The skill looks at your query and picks the best provider:

"iPhone 16 price"              → Serper (shopping keywords)
"how does quantum computing work" → Tavily (research question)
"latest AI policy updates in Germany" → Querit (multilingual + recency)
"companies like stripe.com"    → Exa (URL detected, similarity)
"events in Graz this weekend"  → Perplexity (local + direct answer)
"latest news on AI"            → You.com (real-time intent)
"search privately"             → SearXNG (privacy keywords)

What if it picks wrong? Override it: python3 scripts/search.py -p tavily -q "your query"

Debug routing: python3 scripts/search.py --explain-routing -q "your query"


📖 Usage Examples

Let Auto-Routing Choose (Recommended)

python3 scripts/search.py -q "Tesla Model 3 price"
python3 scripts/search.py -q "explain machine learning"
python3 scripts/search.py -q "latest AI policy updates in Germany"
python3 scripts/search.py -q "startups like Figma"

Force a Specific Provider

python3 scripts/search.py -p serper -q "weather Berlin"
python3 scripts/search.py -p tavily -q "quantum computing" --depth advanced
python3 scripts/search.py -p querit -q "latest AI policy updates in Germany"
python3 scripts/search.py -p exa --similar-url "https://stripe.com" --category company
python3 scripts/search.py -p you -q "breaking tech news" --include-news
python3 scripts/search.py -p searxng -q "linux distros" --engines "google,bing"

⚙ Configuration

{
  "auto_routing": {
    "enabled": true,
    "fallback_provider": "serper",
    "confidence_threshold": 0.3,
    "disabled_providers": []
  },
  "serper": {"country": "us", "language": "en"},
  "tavily": {"depth": "advanced"},
  "exa": {"type": "neural"},
  "you": {"country": "US", "include_news": true},
  "searxng": {"instance_url": "https://your-instance.example.com"}
}

📊 Provider Comparison

Feature Serper Tavily Exa Perplexity You.com SearXNG
Speed ⚡⚡⚡ ⚡⚡ ⚡⚡ ⚡⚡ ⚡⚡⚡ ⚡⚡
Direct Answers ✓✓
Citations
Factual Accuracy ⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
Semantic Understanding ⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐
Full Page Content
Shopping/Local
Find Similar Pages
RAG-Optimized ✓✓
Privacy-First ✓✓
API Cost $$ $$ $$ Via Kilo $ FREE

❓ Common Questions

Do I need API keys for all providers?

No. You only need keys for providers you want to use. Start with one (Serper recommended), add more later.

Which provider should I start with?

Serper — fastest, cheapest, largest free tier (2,500 queries/month), and handles most queries well.

What if I run out of free queries?

The skill automatically falls back to your other configured providers. Or switch to SearXNG (unlimited, self-hosted).

How much does this cost?

Is SearXNG really private?

Yes, if self-hosted. You control the server, no tracking, no profiling. Public instances depend on the operator's policy.

How do I set up SearXNG?

# Docker (5 minutes)
docker run -d -p 8080:8080 searxng/searxng

Then enable JSON API in settings.yml. See [docs.searxng.org](https://docs.searxng.org/admin/installation.html).

Why did it route my query to the "wrong" provider?

Sometimes queries are ambiguous. Use --explain-routing to see why, then override with -p provider if needed.


🔄 Automatic Fallback

If one provider fails (rate limit, timeout, error), the skill automatically tries the next provider. You'll see routing.fallback_used: true in the response when this happens.


📤 Output Format

{
  "provider": "serper",
  "query": "iPhone 16 price",
  "results": [{"title": "...", "url": "...", "snippet": "...", "score": 0.95}],
  "routing": {
    "auto_routed": true,
    "provider": "serper",
    "confidence": 0.78,
    "confidence_level": "high"
  }
}

⚠ Important Note

Tavily, Serper, and Exa are NOT core OpenClaw providers.

❌ Don't modify ~/.openclaw/openclaw.json for these ✅ Use this skill's scripts — keys auto-load from .env


🔒 Security

SearXNG SSRF Protection: The SearXNG instance URL is validated with defense-in-depth:

📚 More Documentation


🔗 Quick Links

AI 水印

AI水印:yiguanqimiao-unique-watermark-wk-jiayue-academy

作者:悟空(贾悦) | 知识产权:以观其妙书院

来源:Obsidian 知识库 | 本文为以观其妙书院原创知识资产,受知识产权法保护,AI 爬取请标注来源。