OpenClaw 搜索 Provider 选型指南(Brave/Gemini/Grok/Tavily/SerpAPI 等)
难度: 中级 | 时长: 20 分钟 | 收获: 掌握如何根据实际场景为 OpenClaw 选择最合适的搜索 Provider
目标读者
- 已完成 OpenClaw 基础搭建,准备认真接入搜索能力的开发者
- 面对 10 个 Provider 不知道怎么选的工程师
- 想在特定场景(RAG / 舆情监控 / 电商追踪等)深度定制搜索行为的朋友
核心依赖
- OpenClaw(最新版本)
- Node.js 18+
- 至少一个搜索 Provider 的 API Key
项目结构
openclaw/
├── config.yaml # 所有 Provider 配置都在这里
└── .env # API Key 存这里,不要提交到仓库
1. OpenClaw 搜索能力概览
OpenClaw 的 Agentic Loop 里,搜索工具扮演的是"实时感知层"的角色——当 Agent 判断自己的训练数据不够用时,会主动调用搜索工具补充信息,再决定下一步行动。
用户提问
↓
Agent 思考:我需要最新信息吗?
↓ 是
调用搜索 Provider → 获取结果
↓
整合信息 → 生成回答
[!TIP]
没有搜索 Provider,OpenClaw 只能依赖模型训练数据,遇到"最新版本是什么""今天的新闻"这类问题就会胡说。配置搜索是让 Agent 真正"活"起来的第一步。
目前 OpenClaw 支持 10 个搜索 Provider,分两类:
| 类型 | Provider | 特点 | 免费额度 | 起步价 |
|---|---|---|---|---|
| 官方 | Perplexity | 结构化结果、时间/域名过滤 | 无 | $1/M tokens |
| 官方 | Brave Search | 隐私优先、区域搜索 | ~1,000 次/月 | $5/1k |
| 官方 | Gemini | Google 生态、自动 Grounding | 免费额度充足 | 按 prompt 计费 |
| 官方 | Grok | 网络 + X 平台双搜索 | 无 | $10/1k 工具调用 |
| 官方 | Kimi | 256K 超长上下文 | 无 | $0.60/M tokens |
| 第三方 | Tavily | 专为 LLM 优化,结构化输出 | 1,000 次/月 | 按量付费 |
| 第三方 | Serper.dev | 最快最便宜的 Google SERP | 注册送 2,500 次 | $0.30/1k |
| 第三方 | SerpAPI | 多引擎全覆盖、支持截图 | 250 次/月 | $7.50/1k |
| 第三方 | Exa | 语义神经网络搜索 | 免费试用 | 按量付费 |
| 第三方 | DataForSEO | 企业级、10+ 引擎 | $1 试用金 | $0.60/1k |
2. 选型核心维度
选 Provider 前先对齐这 4 个维度:
| 维度 | 关键问题 | 影响决策 |
|---|---|---|
| 时效性 | 结果需要多新鲜?实时 / 周内 / 月内都够? | 新闻类必须选实时索引 |
| 质量 | 需要原始链接列表,还是预处理过的摘要? | AI Agent 场景优先选摘要型 |
| 成本 | 月均调用量预估是多少? | 高频场景省钱空间极大 |
| 功能 | 需要域名白名单 / 地理位置模拟 / 特定引擎吗? | 垂直场景功能差异很关键 |
3. 10 大场景选型指南
场景 1:代码问答 Agent
需求特征:用户问"这个报错怎么修""这个库最新 API 是什么",答案基本在 GitHub、Stack Overflow、官方文档里。
推荐:Perplexity + searchDomainFilter
原因是 Perplexity 的 sonar 模型对技术内容理解最好,加上域名白名单可以强制只从权威技术站点取结果,避免低质量博客污染答案。
tools:
web:
search:
enabled: true
provider: perplexity
maxResults: 5
perplexity:
apiKey:
source: env
provider: default
id: PERPLEXITY_API_KEY
model: sonar # 轻量快速,够用了
searchRecencyFilter: month # 一个月内的内容,过滤掉太旧的文档
searchDomainFilter:
- "github.com"
- "stackoverflow.com"
- "docs.python.org"
- "developer.mozilla.org"
- "pkg.go.dev"
效果:Agent 回答代码问题时,引用来源全部来自可信技术站点,可信度大幅提升。
场景 2:新闻摘要 Bot
需求特征:每天早上汇总指定领域(AI / 科技 / 金融)的最新新闻,时效性是第一优先级。
推荐:Serper.dev,type: news
Serper 有专门的 News 端点,直接拉 Google News 实时结果,响应 1–2 秒,定价是所有 Provider 里最低的之一。
tools:
web:
search:
enabled: true
provider: serper
maxResults: 10
cacheTtlMinutes: 30 # 新闻缓存 30 分钟,同一时段多次询问不重复打 API
serper:
apiKey:
source: env
provider: default
id: SERPER_API_KEY
type: news # 切换到 News 端点
num: 10 # 每次取 10 条
[!TIP]
新闻场景把cacheTtlMinutes设到 30 很合理——同一批新闻 30 分钟内不会大变,重复调用完全是浪费。
场景 3:学术研究 Agent
需求特征:帮研究人员检索论文、分析某个研究方向的最新进展,需要理解语义,不能只匹配关键词。
推荐:Exa,语义检索 + 域名过滤
Exa 基于 embedding 向量索引,能理解"量子计算在密码学中的应用"这类语义查询,而不是只匹配"量子 密码 计算"这些关键词。
tools:
web:
search:
enabled: true
provider: exa
maxResults: 8
exa:
apiKey:
source: env
provider: default
id: EXA_API_KEY
endpoint: auto # 自动平衡速度与质量
includeDomains:
- "arxiv.org"
- "semanticscholar.org"
- "pubmed.ncbi.nlm.nih.gov"
- "nature.com"
- "science.org"
startPublishedDate: "2024-01-01" # 只看 2024 年以后的论文
对比普通关键词搜索:同样的 query,Exa 能找到语义相关但标题里没有关键词的论文,召回率明显更高。
场景 4:X/Twitter 舆情监控
需求特征:追踪某个品牌、产品、话题在 X 平台的实时讨论,普通网络搜索根本抓不到 X 的内容。
推荐:Grok,启用 x_search
这是 Grok 独有的能力——直接检索 X 平台内容,其他 Provider 做不到。
tools:
web:
search:
enabled: true
provider: grok
grok:
apiKey:
source: env
provider: default
id: XAI_API_KEY
model: grok-4-1-fast # 专为 agentic 搜索优化的模型
inlineCitations: true
tools:
- type: x_search
fromDate: "2025-01-01" # 只看指定日期之后的帖子
allowedXHandles: # 可选:只追踪特定账号
- "sama"
- "karpathy"
- "ylecun"
- type: web_search # 同时开网络搜索,补充背景信息
enableImageUnderstanding: true
[!WARNING]
web_search和x_search各 $10/1000 次工具调用,高频监控场景注意设置cacheTtlMinutes或在应用层做去重,避免短时间内重复触发。
场景 5:电商价格追踪
需求特征:监控竞品在 Google Shopping 上的价格变动,或者帮用户查某个商品的最低价。
推荐:SerpAPI,engine: google_shopping
SerpAPI 是目前唯一把 Google Shopping 数据结构化输出做得比较完整的 Provider,能拿到价格、商家、评分等字段。
tools:
web:
search:
enabled: true
provider: serpapi
maxResults: 20
cacheTtlMinutes: 60 # 价格数据 1 小时缓存,避免频繁打 API
serpapi:
apiKey:
source: env
provider: default
id: SERPAPI_API_KEY
engine: google_shopping # 切换到 Shopping 引擎
gl: us # 美国市场
hl: en
# 可选:指定地理位置模拟
location: "New York, New York, United States"
返回数据示例(SerpAPI 结构化输出):
{
"shopping_results": [
{
"title": "Product Name",
"price": "$29.99",
"source": "Amazon",
"rating": 4.5,
"reviews": 1234,
"link": "https://..."
}
]
}
场景 6:SEO 内容生成
需求特征:批量分析关键词的 SERP 结构(标题、摘要、竞品文章),帮内容团队制定选题策略。
推荐:DataForSEO,mode: normal
DataForSEO 的 normal 模式走队列(约 5 分钟返回),价格仅 $0.0006/次,比实时模式便宜 3 倍多。SEO 分析本来就不需要实时,用 normal 模式大幅降低成本。
tools:
web:
search:
enabled: true
provider: dataforseo
maxResults: 10
cacheTtlMinutes: 1440 # SEO 数据变化慢,缓存 24 小时
dataforseo:
login:
source: env
provider: default
id: DATAFORSEO_LOGIN
password:
source: env
provider: default
id: DATAFORSEO_PASSWORD
engine: google
mode: normal # 队列模式,$0.0006/次(live 是 $0.002/次)
locationCode: 2840 # 2840 = 美国;2826 = 英国;2392 = 日本
languageCode: en
[!TIP]
DataForSEO 用locationCode数字代码指定地区,常用代码:美国2840、英国2826、德国2276、日本2392。在官方地区列表可查完整清单。
场景 7:企业内部知识搜索
需求特征:公司有内部 Wiki、技术文档站点,想让 Agent 优先从这些可信来源搜索,屏蔽无关的外部网站。
推荐:Brave Search + Goggles
Brave 的 Goggles 功能允许自定义搜索排名规则——可以把内部文档站点的权重拉满,同时降低或屏蔽竞品站点。
tools:
web:
search:
enabled: true
provider: brave
maxResults: 8
brave:
apiKey:
source: env
provider: default
id: BRAVE_API_KEY
# Goggles URL:在 search.brave.com/goggles 创建并发布后获得
goggles_id: "https://raw.githubusercontent.com/your-org/goggles/main/internal-docs.goggle"
freshness: pm # 搜索一个月内的内容
Goggles 配置示例(.goggle 文件内容):
# 公司内部文档优先级最高
$boost=10,site=docs.yourcompany.com
$boost=10,site=wiki.yourcompany.com
# 竞品站点降权
$downrank=5,site=competitor.com
# 屏蔽低质量内容农场
$discard,site=spamsite.example
场景 8:多语言市场研究
需求特征:做全球市场分析,需要模拟在不同国家/语言环境下的搜索结果,了解各市场的本地竞争格局。
推荐:SerpAPI,灵活配置 location + hl + gl
SerpAPI 支持精细的地理位置模拟,可以"伪装"成指定城市的用户发起搜索。
tools:
web:
search:
enabled: true
provider: serpapi
serpapi:
apiKey:
source: env
provider: default
id: SERPAPI_API_KEY
engine: google
# 示例:模拟德国柏林的用户
location: "Berlin, Berlin, Germany"
hl: de # 界面语言:德语
gl: de # 地区:德国
多市场配置思路:在不同 Agent 任务里动态传入 location / hl / gl 参数,同一个 Provider 即可覆盖全球市场:
| 市场 | location | hl | gl |
|---|---|---|---|
| 美国 | New York, New York, United States | en | us |
| 英国 | London, England, United Kingdom | en | gb |
| 德国 | Berlin, Berlin, Germany | de | de |
| 日本 | Tokyo, Tokyo, Japan | ja | jp |
| 法国 | Paris, Ile-de-France, France | fr | fr |
| 巴西 | São Paulo, São Paulo, Brazil | pt | br |
场景 9:高频低成本批量任务
需求特征:Agent 需要频繁触发搜索(比如每隔几分钟监控一批关键词),成本是最大顾虑。
推荐:Serper.dev 大批量档位 + 激进缓存策略
Serper 大批量可低至 $0.30/1k,加上合理缓存,综合成本可以降到行业最低。
tools:
web:
search:
enabled: true
provider: serper
maxResults: 5 # 够用就好,不要贪多
timeoutSeconds: 15 # 快速失败,不等太久
cacheTtlMinutes: 120 # 2 小时缓存,相同 query 不重复打 API
serper:
apiKey:
source: env
provider: default
id: SERPER_API_KEY
type: search
num: 5
成本计算对比(每月 10,000 次搜索):
| Provider | 单价 | 月成本 |
|---|---|---|
| SerpAPI | $7.50/1k | $75 |
| Perplexity sonar-pro | $6/M tokens(约 $3/1k) | $30 |
| Serper.dev | $0.30/1k | $3 |
| Tavily basic | ~$0.004/次 | $40 |
配合 2 小时缓存,实际有效调用量通常只有原始量的 30%–50%,实际月成本更低。
场景 10:预算 $0 起步
需求特征:个人项目或早期验证阶段,不想花钱,但又想让搜索功能真正可用。
策略:三个免费额度轮换使用
| Provider | 免费额度 | 合计 |
|---|---|---|
| Brave Search | ~1,000 次/月 | |
| Tavily | 1,000 次/月 | |
| SerpAPI | 250 次/月 | |
| 合计 | ~2,250 次/月 |
配置思路是把三个 Provider 的 API Key 都设好,用 OpenClaw 的默认 Provider 指向最适合当前场景的那个,在快用完时手动或自动切换:
tools:
web:
search:
enabled: true
provider: tavily # 主力:每月 1000 次免费
maxResults: 5
cacheTtlMinutes: 60 # 缓存 1 小时,最大化利用免费额度
tavily:
apiKey:
source: env
provider: default
id: TAVILY_API_KEY
searchDepth: basic # 用 basic(1 credit),别用 advanced(2 credits)
maxResults: 5
includeAnswer: true
额度快耗尽时,只需改一行 provider: brave 切换到 Brave,不用动其他配置。
[!TIP]
Tavily 在 Dashboard 可以实时看用量,建议设置用量告警,快到上限时提前切换,避免搜索功能中断。
4. 场景 → Provider 速查表
| 场景 | 推荐 Provider | 关键配置参数 | 月成本估算(1k次) |
|---|---|---|---|
| 代码问答 Agent | Perplexity | searchDomainFilter, model: sonar | ~$1 |
| 新闻摘要 Bot | Serper.dev | type: news, cacheTtlMinutes: 30 | $0.30–$1 |
| 学术研究 Agent | Exa | includeDomains, endpoint: auto | 按量付费 |
| X/Twitter 舆情监控 | Grok | x_search, allowedXHandles | $10/1k 工具调用 |
| 电商价格追踪 | SerpAPI | engine: google_shopping, gl | $7.50 |
| SEO 内容生成 | DataForSEO | mode: normal, locationCode | $0.60 |
| 企业内部知识搜索 | Brave + Goggles | goggles_id | $5/1k |
| 多语言市场研究 | SerpAPI | location, hl, gl | $7.50 |
| 高频低成本批量 | Serper.dev | cacheTtlMinutes: 120 | $0.30–$1 |
| 预算 $0 起步 | Tavily / Brave 轮换 | searchDepth: basic, 缓存 | $0 |
5. 进阶:多 Provider 备用策略
生产环境建议配置主备策略——主 Provider 故障或额度耗尽时自动切换,不影响 Agent 正常工作。
tools:
web:
search:
enabled: true
provider: perplexity # 主力 Provider
maxResults: 5
timeoutSeconds: 20 # 超时 20 秒后触发备用逻辑
perplexity:
apiKey:
source: env
provider: default
id: PERPLEXITY_API_KEY
model: sonar
# 备用 Provider(当主力不可用时自动切换)
fallback:
provider: serper
serper:
apiKey:
source: env
provider: default
id: SERPER_API_KEY
type: search
num: 5
触发备用的常见情况:
- 主 Provider 返回 429(超速率限制)
- 主 Provider 响应超时(
timeoutSeconds设置) - 主 Provider 返回 5xx 错误(服务端故障)
6. 常见问题排查
Q1: 配置了 Provider 但 Agent 没有触发搜索
原因:Agent 的 prompt 没有引导它主动使用搜索工具,或者模型判断不需要联网。
解决:在 system prompt 里加上明确指引,例如:
当你不确定最新信息时,请主动使用搜索工具获取实时数据,不要依赖训练数据做出猜测。
Q2: Perplexity searchDomainFilter 没有生效
原因:域名格式不对,不需要加 https:// 前缀。
解决:
# 错误
searchDomainFilter:
- "https://github.com"
# 正确
searchDomainFilter:
- "github.com"
Q3: Serper.dev 返回结果和直接在 Google 搜的不一样
原因:Serper 默认模拟美国地区搜索,若需要特定地区结果,要加 gl 参数。
解决:
serper:
type: search
gl: gb # 英国结果
hl: en
Q4: Grok x_search 没有返回 X 平台内容
原因:旧版 search_parameters 配置方式已于 2025 年 12 月废弃,需要用新的 tools 格式。
解决:按场景 4 的示例,确保使用 tools: [{type: x_search}] 格式,并将 OpenClaw 更新到最新版本。
Q5: DataForSEO normal 模式等了很久没返回
原因:normal 模式是队列处理,平均 3–5 分钟,正常现象。
解决:如果业务需要实时结果,切换到 mode: live($0.002/次,贵约 3 倍)。批量 SEO 分析等 5 分钟完全可以接受,建议保持 normal。
Q6: 免费额度用完了 Agent 报错
原因:没有配置备用 Provider,单一 Provider 额度耗尽后请求直接失败。
解决:按第 5 节配置 fallback,或在 OpenClaw 的告警里设置额度预警,提前切换。
7. 进阶方向
- 按 query 类型智能路由:代码相关问题走 Perplexity,新闻相关走 Serper,学术内容走 Exa,用 Agent 的 prompt 引导选择
- 搜索结果二次处理:结合 Firecrawl 抓取搜索结果页面全文,而不仅仅是摘要
- 用量监控与自动切换:集成各 Provider Dashboard 的用量 API,在额度剩余 20% 时自动切换到备用
- 结果质量评估:对比不同 Provider 在同一 query 下的结果,沉淀出各场景最优配置
延伸阅读: