OpenClaw搜索配置指南
OpenClaw 中部署 SearXNG(自建)、DuckDuckGo 和 Tavily 搜索功能的具体使用文档。
方案对比与选型建议
| 方案 | 成本 | 配置难度 | 推荐场景 | 备注 |
|---|---|---|---|---|
| **SearXNG (自建)** | 免费 | 高 | 需要完全掌控数据、隐私保护、高可用性 | 需自行部署服务器,支持 q和 format=json参数 |
| DuckDuckGo | 免费 | 低 | 个人学习、测试、获取即时答案 | 无需 API Key,直接调用,但搜索质量一般 |
| Tavily | 免费额度 | 中 | 商业项目、需要高质量实时数据 | 免费计划每月 1000 次,无需信用卡验证 |
建议:如果你希望完全免费且不想折腾服务器,首选 DuckDuckGo;如果你需要高质量、结构化的搜索结果,建议使用 Tavily。
1. 配置 DuckDuckGo (Instant Answer API)
DuckDuckGo 的 Instant Answer API 是公开的,无需注册和 API Key,非常适合作为 OpenClaw 的默认搜索工具。
1.1 获取 API 地址
DuckDuckGo 的 API 地址是固定的,支持 q参数和 format=json返回格式。
API 地址:
https://api.duckduckgo.com/参数:
q=搜索词&format=json&no_html=1&skip_disambig=1
1.2 在 OpenClaw 中配置
由于 DuckDuckGo 无需 API Key,你可以通过修改 OpenClaw 的配置文件或使用 web_fetch工具直接调用。
方法一:修改配置文件(推荐)
编辑 OpenClaw 的配置文件(通常位于
~/.openclaw/openclaw.json或~/.claude/settings.json),将搜索提供者指向 DuckDuckGo。1 2 3 4 5 6 7 8 9 10 11 12{ "tools": { "web": { "search": { "provider": "duckduckgo", "apiKey": "", // 留空即可 "maxResults": 5, "timeoutSeconds": 30 } } } }方法二:使用
web_fetch工具如果你不想修改全局配置,可以直接在对话中让 OpenClaw 使用
web_fetch工具调用 DuckDuckGo API。1 2 3# 示例:搜索 "Python 编程" url = 'https://api.duckduckgo.com/?q=Python%20%E7%BC%96%E7%A8%8B&format=json&no_html=1&skip_disambig=1' print(web_fetch(url=url))
1.3 验证
重启 OpenClaw 后,尝试提问:“今天有什么新闻?”,如果 OpenClaw 能返回带有 DuckDuckGo 来源的搜索结果,说明配置成功。
2. 配置 Tavily (Research Skill)
Tavily 是专门为 AI Agent 设计的搜索工具,提供免费额度,且在国内网络环境下访问友好。
2.1 获取 API Key
访问 Tavily 官网注册账号。
在 Dashboard 中获取 API Key(格式通常为
tvly-xxxxxxxxxxxxxxxxx)。注意:免费计划每月有 1000 次搜索额度,请合理使用。
2.2 安装 Tavily Research Skill
在 OpenClaw 的终端中执行以下命令安装技能:
| |
2.3 配置 API Key
将获取的 API Key 设置为环境变量:
Linux / macOS:
1export TAVILY_API_KEY="tvly-your-api-key-here"Windows (PowerShell):
1$env:TAVILY_API_KEY="tvly-your-api-key-here"
2.4 验证
重启 OpenClaw 后,尝试提问:“帮我搜索最新的 AI 技术趋势”,如果 OpenClaw 能够返回带有来源的搜索结果,说明配置成功。
3. 配置 SearXNG (自建实例)
如果你决定自建 SearXNG 实例,以下是将其集成到 OpenClaw 中的步骤。
3.1 前提条件
你已经成功部署了 SearXNG 实例,并确保其支持
format=json参数。你的 SearXNG 实例地址为
http://your-searxng-server:8080。
3.2 在 OpenClaw 中配置
由于 SearXNG 是自定义实例,OpenClaw 没有内置的 Provider,你需要通过 自定义工具 或 修改配置文件 的方式集成。
方法一:使用
web_fetch工具(最直接)直接在对话中让 OpenClaw 调用你的 SearXNG API。
1 2 3# 示例:搜索 "OpenAI" url = 'http://your-searxng-server:8080/search?q=OpenAI&format=json' print(web_fetch(url=url))方法二:修改配置文件(高级)
编辑 OpenClaw 的配置文件,添加一个自定义的搜索工具。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21{ "tools": { "custom_search": { "type": "function", "function": { "name": "custom_search", "description": "Search the web using a custom SearXNG instance", "parameters": { "type": "object", "properties": { "query": { "type": "string", "description": "The search query" } }, "required": ["query"] } } } } }(注:此方法需要你具备一定的开发能力,编写对应的函数实现。)
3.3 验证
使用 web_fetch工具测试你的 SearXNG 实例,确保能返回正确的 JSON 数据。
总结
DuckDuckGo:配置最简单,完全免费,适合测试和获取即时答案。
Tavily:配置简单,有免费额度,搜索质量高,适合日常使用。
SearXNG:配置最复杂,完全免费,但需要自建服务器,适合对隐私和定制化有极高要求的用户。
寻找技术支持帮助和技术合伙人一起搞事。