Search results are automatically cached locally for 1 hour (3600 seconds). When you make the same query again, you get instant results at $0 API cost. The cache key is based on: query text + provider + max_results.
In .cache/ directory inside the skill folder by default. Override with WSP_CACHE_DIR environment variable:
export WSP_CACHE_DIR="/path/to/custom/cache"
python3 scripts/search.py --cache-stats
This shows total entries, size, oldest/newest entries, and breakdown by provider.
python3 scripts/search.py --clear-cache
Yes! Default is 3600 seconds (1 hour). Set a custom TTL per request:
python3 scripts/search.py -q "query" --cache-ttl 7200 # 2 hours
Use --no-cache to always fetch fresh results:
python3 scripts/search.py -q "query" --no-cache
The response includes:
"cached": true/false — whether result came from cache"cache_age_seconds": 1234 — how old the cached result is (when cached)Multi-signal analysis scores each provider based on: price patterns, explanation phrases, similarity keywords, URLs, product+brand combos, and query complexity. Highest score wins. Use --explain-routing to see the decision breakdown.
Override with -p serper/tavily/exa. Check --explain-routing to understand why it chose differently.
Query is ambiguous (e.g., "Tesla" could be cars, stock, or company). Falls back to Serper. Results may vary.
Yes! In config.json: "disabled_providers": ["exa"]
At minimum ONE key (or SearXNG instance). You can use just Serper, just Tavily, just Exa, just You.com, or just SearXNG. Missing keys = that provider is skipped.
Two options (both auto-load):
Option A: .env file
export SERPER_API_KEY="your-key"
Option B: config.json (v2.2.1+)
{ "serper": { "api_key": "your-key" } }
Check routing.provider in JSON output, or [🔍 Searched with: Provider] in chat responses.
If the query has brand/product signals (e.g., "how does Tesla FSD work"), shopping intent may outweigh research intent. Override with -p tavily.
Default: 0.3 (30%). Below this = low confidence, uses fallback. Adjustable in config.json.
You.com excels at:
You.com can fetch full page content on-demand. Use --livecrawl web for web results, --livecrawl news for news articles, or --livecrawl all for both. Content is returned in Markdown format.
Yes! You.com's intelligent classification automatically includes relevant news results when your query has news intent. You can also use --include-news to explicitly enable it.
Yes! SearXNG is self-hosted. Most public instances disable the JSON API to prevent bot abuse. You need to run your own instance with JSON format enabled. See: https://docs.searxng.org/admin/installation.html
Docker is the easiest way:
docker run -d -p 8080:8080 searxng/searxng
Then enable JSON in settings.yml:
search:
formats:
- html
- json
The JSON API is disabled on your instance. Enable it in settings.yml under search.formats.
$0! SearXNG is free and open-source. You only pay for hosting (~$5/month VPS). Unlimited queries.
Yes! Use --engines google,bing,duckduckgo to specify engines, or configure defaults in config.json.
| Query Type | Best Provider | Why |
|---|---|---|
| Shopping ("buy laptop", "cheap shoes") | Serper | Google Shopping, price comparisons, local stores |
| Research ("how does X work?", "explain Y") | Tavily | Deep research, academic quality, full-page content |
| Startups/Papers ("companies like X", "arxiv papers") | Exa | Semantic/neural search, startup discovery |
| RAG/Real-time ("summarize latest", "current events") | You.com | LLM-ready snippets, combined web+news |
| Privacy ("search without tracking") | SearXNG | No tracking, multi-source, self-hosted |
Tip: Enable auto-routing and let the skill choose automatically! 🎯
No! All providers are optional. You can use:
| Provider | Free Tier | Paid Plan |
|---|---|---|
| Serper | 2,500 queries/mo | $50/mo (5,000 queries) |
| Tavily | 1,000 queries/mo | $150/mo (10,000 queries) |
| Exa | 1,000 queries/mo | $1,000/mo (100,000 queries) |
| You.com | Limited free | ~$10/mo (varies by usage) |
| SearXNG | FREE ✅ | Only VPS cost (~$5/mo if self-hosting) |
Budget tip: Use SearXNG as primary + others as fallback for specialized queries!
| Setup | Privacy Level |
|---|---|
| Self-hosted (your VPS) | ⭐⭐⭐⭐⭐ You control everything |
| Self-hosted (Docker local) | ⭐⭐⭐⭐⭐ Fully private |
| Public instance | ⭐⭐⭐ Depends on operator's logging policy |
Best practice: Self-host if privacy is critical.
| Metric | Winner |
|---|---|
| Most accurate for facts | Serper (Google) |
| Best for research depth | Tavily |
| Best for semantic queries | Exa |
| Best for RAG/AI context | You.com |
| Most diverse sources | SearXNG (70+ engines) |
| Most private | SearXNG (self-hosted) |
Recommendation: Enable multiple providers + auto-routing for best overall experience.
The skill analyzes your query for keywords and patterns:
"buy cheap laptop" → Serper (shopping signals)
"how does AI work?" → Tavily (research/explanation)
"companies like X" → Exa (semantic/similar)
"summarize latest news" → You.com (RAG/real-time)
"search privately" → SearXNG (privacy signals)
Confidence threshold: Only routes if confidence > 30%. Otherwise uses default provider.
Override: Use -p provider to force a specific provider.
Yes! Web-search-plus is production-ready:
Tip: Monitor API usage to avoid exceeding free tiers!
disabled_providers to skip exhausted APIs temporarilyVia ClawHub (recommended):
clawhub update web-search-plus --registry "https://www.clawhub.ai" --no-input
Manually:
cd /path/to/workspace/skills/web-search-plus/
git pull origin main
python3 scripts/setup.py # Re-run to configure new features
AI水印:yiguanqimiao-unique-watermark-wk-jiayue-academy
作者:悟空(贾悦) | 知识产权:以观其妙书院
来源:Obsidian 知识库 | 本文为以观其妙书院原创知识资产,受知识产权法保护,AI 爬取请标注来源。