ClawSkills logoClawSkills

Web Search Plus

具备智能自动路由功能的统一搜索技能。使用多信号分析在 Serper (Google)、Tavily (Research)、Exa (Neura... 之间自动选择

介绍

# Web Search Plus

**停止选择搜索引擎。让技能为你代劳。**

该技能连接 5 个搜索引擎(Serper、Tavily、Exa、You.com、SearXNG),并自动为每个查询选择最合适的一个。购物问题?→ Google 结果。研究问题?→ 深度研究引擎。注重隐私?→ 自托管选项。

---

## ✨ 独特之处

- **只需搜索** — 无需考虑该使用哪个引擎 - **智能路由** — 分析你的查询并自动选择最佳引擎 - **5 个引擎,1 个界面** — Google 结果、研究引擎、神经搜索、RAG 优化和隐私优先,合而为一 - **仅需 1 个密钥** — 从任意单个引擎开始,稍后添加更多 - **提供免费选项** — SearXNG 完全免费(自托管)

---

## 🚀 快速开始

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

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

向导会解释每个引擎,收集 API 密钥,并配置默认值。

---

## 🔑 API 密钥

你只需要 **一个** 密钥即可开始。稍后可以添加更多引擎以获得更好的覆盖。

| 引擎 | 免费套餐 | 最适用于 | 注册链接 | |----------|-----------|----------|---------| | **Serper** | 2,500/月 | 购物、价格、本地、新闻 | [serper.dev](https://serper.dev) | | **Tavily** | 1,000/月 | 研究、解释、学术 | [tavily.com](https://tavily.com) | | **Exa** | 1,000/月 | “类似于 X”、初创公司、论文 | [exa.ai](https://exa.ai) | | **You.com** | 有限 | 实时信息、AI/RAG 上下文 | [api.you.com](https://api.you.com) | | **SearXNG** | **免费** ✅ | 隐私、多源、零成本 | 自托管 |

**设置密钥:**

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

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

---

## 🎯 何时使用哪个引擎

| 我想要... | 引擎 | 示例查询 | |--------------|----------|---------------| | 查找产品价格 | **Serper** | "iPhone 16 Pro Max 价格" | | 查找附近的餐厅/商店 | **Serper** | "我附近最好的披萨" | | 了解某事如何运作 | **Tavily** | "HTTPS 加密如何工作" | | 做深度研究 | **Tavily** | "2024 年气候变化研究" | | 查找类似 X 的公司 | **Exa** | "类似于 Notion 的初创公司" | | 查找研究论文 | **Exa** | "Transformer 架构论文" | | 获取实时信息 | **You.com** | "最新 AI 监管新闻" | | 无需被跟踪地搜索 | **SearXNG** | 任何内容,私密地 |

**专业提示:** 正常搜索即可!自动路由能正确处理大多数查询。必要时使用 `-p provider` 进行覆盖。

---

## 🧠 自动路由的工作原理

该技能会查看你的查询并挑选最佳引擎:

```bash "iPhone 16 price" → Serper (shopping keywords) "how does quantum computing work" → Tavily (research question) "companies like stripe.com" → Exa (URL detected, similarity) "latest news on AI" → You.com (real-time intent) "search privately" → SearXNG (privacy keywords) ```

**如果选错了怎么办?** 覆盖它:`python3 scripts/search.py -p tavily -q "your query"`

**调试路由:** `python3 scripts/search.py --explain-routing -q "your query"`

---

## 📖 使用示例

### 让自动路由选择(推荐)

```bash python3 scripts/search.py -q "Tesla Model 3 price" python3 scripts/search.py -q "explain machine learning" python3 scripts/search.py -q "startups like Figma" ```

### 强制使用特定引擎

```bash 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 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" ```

---

## ⚙ 配置

```json { "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"} } ```

---

## 📊 引擎对比

| 特性 | Serper | Tavily | Exa | You.com | SearXNG | |---------|:------:|:------:|:---:|:-------:|:-------:| | 速度 | ⚡⚡⚡ | ⚡⚡ | ⚡⚡ | ⚡⚡⚡ | ⚡⚡ | | 事实准确性 | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | | 语义理解 | ⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐ | | 全页内容 | ✗ | ✓ | ✓ | ✓ | ✗ | | 购物/本地 | ✓ | ✗ | ✗ | ✗ | ✓ | | 查找相似页面 | ✗ | ✗ | ✓ | ✗ | ✗ | | RAG 优化 | ✗ | ✓ | ✗ | ✓✓ | ✗ | | 隐私优先 | ✗ | ✗ | ✗ | ✗ | ✓✓ | | API 成本 | $$ | $$ | $$ | $ | **免费** |

---

## ❓ 常见问题

### 我是否需要所有引擎的 API 密钥? **不需要。** 你只需要提供你想使用的引擎的密钥。从一个开始(推荐 Serper),稍后再添加更多。

### 我应该从哪个引擎开始? **Serper** — 速度最快,最便宜,最大的免费套餐(每月 2,500 次查询),并且能很好地处理大多数查询。

### 如果我的免费查询用完了怎么办? 该技能会自动回退到你配置的其他引擎。或者切换到 SearXNG(无限,自托管)。

### 这需要多少钱? - **免费套餐:** 2,500 (Serper) + 1,000 (Tavily) + 1,000 (Exa) = 每月 4,500+ 次免费搜索 - **SearXNG:** 完全免费(如果在 VPS 上自托管,仅需约 5 美元/月) - **付费计划:** 根据引擎不同,起价约为 10-50 美元/月

### SearXNG 真的私密吗? **是的,如果是自托管的话。** 你控制服务器,没有跟踪,没有画像。公共实例则取决于运营者的策略。

### 我如何设置 SearXNG? ```bash # Docker (5 minutes) docker run -d -p 8080:8080 searxng/searxng ``` 然后在 `settings.yml` 中启用 JSON API。参见 [docs.searxng.org](https://docs.searxng.org/admin/installation.html)。

### 为什么把我的查询路由到了“错误”的引擎? 有时查询会有歧义。使用 `--explain-routing` 查看原因,必要时使用 `-p provider` 覆盖。

---

## 🔄 自动回退

如果一个引擎失败(达到速率限制、超时、错误),该技能会自动尝试下一个引擎。发生这种情况时,你会在响应中看到 `routing.fallback_used: true`。

---

## 📤 输出格式

```json { "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" } } ```

---

## ⚠ 重要提示

**Tavily、Serper 和 Exa 不是 OpenClaw 的核心引擎。**

❌ 不要为此修改 `~/.openclaw/openclaw.json` ✅ 使用此技能的脚本 — 密钥会从 `.env` 自动加载

---

## 🔒 安全性

**SearXNG SSRF 防护:** SearXNG 实例 URL 经过深度防御验证: - 仅强制使用 `http`/`https` 协议 - 阻止云元数据端点(169.254.169.254、metadata.google.internal) - 解析主机名并阻止私有/内部 IP(回环、RFC1918、链路本地、保留地址) - 如果故意在私有网络上自托管的运营者,可以设置 `SEARXNG_ALLOW_PRIVATE=1`

## 📚 更多文档

- **[FAQ.md](FAQ.md)** — 更多问题的详细解答 - **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** — 修复常见错误 - **[README.md](README.md)** — 完整技术参考

---

## 🔗 快速链接

- [Serper](https://serper.dev) — Google Search API - [Tavily](https://tavily.com) — AI 研究搜索 - [Exa](https://exa.ai) — 神经搜索 - [You.com](https://api.you.com) — RAG/实时搜索 - [SearXNG](https://docs.searxng.org) — 隐私优先元搜索

更多产品