跳到主要内容OpenClaw 中 web_search 与 web_fetch 最佳实践速查 | 极客日志JavaScriptNode.jsAI
OpenClaw 中 web_search 与 web_fetch 最佳实践速查
OpenClaw 网络搜索与抓取工具最佳实践指南。厘清 web_search 与 web_fetch 的能力边界,区分原生 provider 与扩展 skill 的配置差异。核心策略为先搜索后抓取:无 URL 时用 tavily-search 查找来源,有 URL 时直接用 web_fetch 读取内容。提供命令行直测速查、提示词模板及常见排障方案,帮助开发者稳定构建搜索型 Agent 工作流。
路由之心12 浏览 OpenClaw 中 web_search 与 web_fetch 最佳实践速查
核心结论
在 OpenClaw 里,最容易混淆的几个概念是:web_search、tavily-search、web_fetch、原生搜索 provider 以及扩展 skill。最准确、最实用的理解方式是:
web_search:统一的网页搜索能力接口/抽象能力
web_fetch:统一的网页读取/抓取能力接口
- 原生 provider:OpenClaw 直接支持配置的搜索后端
- 扩展 skill:用户手动安装后接入的额外搜索/抓取能力
tavily-search:属于扩展 skill,不是当前配置向导里的原生 provider
一句话记忆:搜索负责找,抓取负责读;原生 provider 是 OpenClaw 自带接线,Tavily / Firecrawl 是后装扩展能力。
OpenClaw 2026.3.13 的搜索能力层次
1)原生可配置的 web search provider
在 OpenClaw 2026.3.13 版本中,配置向导当前原生支持以下搜索 provider:
- Brave Search # 需要 API Key,有免费额度,但需要绑定信用卡
- Gemini (Google Search) # 需要 API Key,依赖 Google 服务,国内需代理
- Grok (xAI) # 需要 API Key,国内访问限制多,文档较少
- Kimi (Moonshot) # 需要 API Key,中文理解优秀,国际内容覆盖可能较弱
- Perplexity Search # 需要 API Key,国内需代理
这些属于 OpenClaw 原生支持,用户可在配置时直接选择,是 web_search 能力的默认后端候选。
2)需要用户自行安装和配置的 skill
以下能力不是当前版本配置向导里原生可选的 web_search provider,而是需要用户自行安装:
它们属于扩展 skill,需要手动安装并单独配置 API key 或依赖,安装后可以补充搜索、抓取或 AI 优化检索能力。
Brave / Gemini / Grok / Kimi / Perplexity 是原生 provider;Firecrawl / Tavily 是额外安装的扩展 skill。
从使用者视角理解整体结构
| 能力来源 | 原生 provider | 扩展 skill |
|---|
| Brave / Gemini / Grok / Kimi / Perplexity | | |
| Tavily / Firecrawl | | |
| 🔎 web_search | 搜索关键词 / 找来源 / 找链接 | |
| 📄 web_fetch | 打开页面 / 抓取正文 / 读取细节 | |
一句话理解关系
web_search 和 web_fetch 是 OpenClaw / agent 提供给你的统一能力接口,像'遥控器';Brave、Gemini、Grok、Kimi、Perplexity 是 OpenClaw 原生支持的搜索 provider,像内置频道;Tavily、Firecrawl 是用户后装的扩展 skill,像'额外加装的频道模块'。你配置了哪个 provider 或安装了哪个 skill,agent 就更可能通过对应能力去完成搜索或抓取。
web_search、原生 provider、扩展 skill、web_fetch 的关系
1)web_search 是能力层
web_search 说的是'网页搜索'这件事本身,不一定绑定某一个具体产品名。它可以由以下两类来源来实现:
2)原生 provider 是 OpenClaw 内建支持的后端
在 OpenClaw 2026.3.13 中,以下属于原生 provider:
- Brave Search
- Gemini
- Grok
- Kimi
- Perplexity Search
这些更接近安装时可直接选,配置体验更原生,默认就是 OpenClaw 官方接入的搜索后端。
3)Tavily / Firecrawl 属于扩展 skill
它们不是当前版本配置向导里直接列出的原生 provider,而是用户单独安装、手动配置、作为扩展能力接入 OpenClaw。所以 tavily-search 不是当前版本原生 web_search provider 列表的一员,但它依然可以提供高质量网页搜索能力,在实际使用中,它可以充当 web_search 的一种补充实现。
4)web_fetch 是网页读取能力
web_fetch 的职责通常是打开具体 URL、读取页面内容、抓取正文、提取细节。所以它不负责'找页面',而负责'读页面'。
推荐的理解模型
模型 1:能力层
web_search:找来源
web_fetch:读来源
模型 2:实现层
- 原生 provider:Brave / Gemini / Grok / Kimi / Perplexity
- 扩展 skill:Tavily / Firecrawl
模型 3:具体环境中的最佳实践
假定当前额外安装了 tavily-search 和 agent-reach,而 web_fetch 是当前 agent 已可用的 tool。所以你当前更适合的工作流是:
- 先用
tavily-search 搜索
- 再用
web_fetch 阅读
- 必要时用
agent-reach 协调多步任务
最推荐的使用分工
tavily-search 负责什么
适合找最新资料、新闻、论文入口、官方文档入口、多个候选来源,为后续精读做召回。
web_fetch 负责什么
适合已有 URL、已知要读哪个页面、读取正文、抓取细节、提取发布日期、作者、版本号、参数说明、核对页面中是否真的写了某句话。
agent-reach 负责什么
适合协调多步任务、提高外部能力被调用的概率、强化'先搜索、再阅读、再总结'的工作流、降低模型直接凭已有知识回答的概率。
标准工作流
工作流 A:你没有 URL
- 用
tavily-search 搜索
- 获取候选来源
- 选择最相关来源
- 用
web_fetch 读取
工作流 B:你已有 URL
工作流 C:复杂多步任务
- 用
agent-reach 协调任务
- 先搜索
- 再阅读
- 最后总结
什么时候优先用 tavily-search
适合你还没有具体网址、要查'最新''最近''本周''本月'、需要候选来源列表、要找新闻/论文/公告/文档入口、不确定先读哪个页面的场景。
典型任务包括:最近一周 AI 新闻、某个框架最近更新了什么、某个 API 的官方文档入口、某个研究方向最近有哪些论文。
什么时候优先用 web_fetch
适合你已经有 URL、只想读某个页面、需要正文、需要页面细节、要提取参数/版本号/发布日期等信息的场景。
典型任务包括:阅读官方文档页面、总结新闻正文、提取博客文章要点、查看 release note 里的变更项。
OpenClaw 中推荐的标准流程
- 用户问题是否有明确 URL?
- 没有:先用
web_search 能力搜索(在你当前环境里可由原生 provider 或 tavily-search 实现),得到候选来源 / 链接,再用 web_fetch 读取。
- 有:直接用
web_fetch。
最常用的对话提示词模板
1)搜索后再读取
先使用 tavily-search 搜索这个主题,列出 5 个最相关来源;再使用 web_fetch 打开最相关的 1 个页面并总结。主题:multimodal RAG 最新论文
2)只搜索,不精读
使用 tavily-search 搜索:最近一周关于 OpenAI 模型发布的新闻,只给我来源列表和一句话摘要。
3)官方来源优先
使用 tavily-search 搜索 Kubernetes Ingress 官方文档,优先官方来源;再用 web_fetch 打开最相关页面并总结。
4)搜索新闻
先用 tavily-search 搜索最近一周 AI agent 相关新闻,再给我按时间排序的摘要。
5)搜索论文
先使用 tavily-search 搜索 multimodal RAG 相关论文,优先 arXiv 和官方论文页面,再使用 web_fetch 阅读最相关页面并总结。
6)多步任务协同
这是一个多步任务。请通过 agent-reach 协调当前可用能力,不要直接凭已有知识回答。先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读最相关页面,最后给出带来源的结论。主题:最近一个月关于 AI agent memory 的研究进展。
命令行直测速查
下面这些命令用于直接测试 tavily-search skill 本体。
基础搜索
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "python async patterns"
指定结果数量
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "React hooks tutorial" -n 10
指定搜索深度
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "machine learning evaluation benchmarks" --depth advanced
搜索新闻
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "AI regulation Europe" --topic news
限定时间范围
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "OpenAI API updates" --topic news --time-range week
限定域名
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "Python asyncio gather" --include-domains docs.python.org
排除域名
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "LLM benchmarks" --exclude-domains pinterest.com,reddit.com
输出 JSON
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "vector database comparison" --json
返回更完整内容
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "multimodal RAG survey" --raw-content
多参数组合
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "multimodal RAG papers" -n 8 --topic general --time-range year --include-domains arxiv.org,acm.org
在对话中怎么更稳定触发正确流程
推荐写法 1:明确步骤
先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读最相关页面,最后总结。
推荐写法 2:强调不要直接回答
不要直接凭已有知识回答。先使用 tavily-search 搜索,再使用 web_fetch 阅读来源,然后给出结论。
推荐写法 3:强调这是最新信息
这是一个需要最新信息的问题。请先使用 tavily-search 搜索最近一周相关资料,再使用 web_fetch 阅读最相关页面。
推荐写法 4:强调官方来源
先使用 tavily-search 搜索,优先官方来源;再使用 web_fetch 打开最相关页面并提取关键信息。
推荐写法 5:加入 agent-reach 强化多步协同
请通过 agent-reach 协调当前可用能力,不要直接回答。先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读关键页面,最后输出带来源的总结。
常见误区
误区 1:把 web_search 当成固定插件名
web_search 往往是'网页搜索能力'的泛称,不一定是某个具体 skill 名。
误区 2:把原生 provider 和扩展 skill 混为一谈
- Brave / Gemini / Grok / Kimi / Perplexity 是 OpenClaw 原生 provider
- Tavily / Firecrawl 是用户自行安装的扩展 skill
误区 3:把 web_fetch 当成搜索工具
web_fetch 一般负责'打开页面',不是'找页面'。
误区 4:以为装了 tavily-search 就不需要 web_fetch
tavily-search 更适合召回来源,web_fetch 更适合精读页面。两者配合效果最好。
误区 5:以为 provider、skill、tool 是同一层
- provider:底层服务来源
- skill:扩展能力封装方式
- tool / interface:agent 暴露给你的能力入口
误区 6:以为 agent-reach 是搜索工具
agent-reach 更适合作为多步任务协调层,而不是单独的搜索引擎替代品。
推荐默认策略
- 如果没有 URL:先用
tavily-search
- 如果有 URL:直接用
web_fetch
- 如果问题涉及最新信息:先用
tavily-search,必要时限定时间范围
- 如果需要精读:先
tavily-search,后 web_fetch
- 如果需要官方来源:先用
tavily-search 找官方页面,再用 web_fetch 读
- 如果任务是多步研究:加入
agent-reach 协调'搜索 → 阅读 → 总结'
排障速查
情况 1:脚本报 TAVILY_API_KEY not set
情况 2:tavily-search 已安装,但对话里没触发
通常不是安装失败,而是提示词不够明确。建议直接这样写:
不要直接回答。先使用 tavily-search 搜索,再使用 web_fetch 阅读来源,最后给出结论。
情况 3:旧会话行为异常
情况 4:想确认 skill 本体是否可用
node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "latest papers on multimodal RAG"
情况 5:复杂任务总是只用一个工具
这是一个多步任务。请通过 agent-reach 协调当前可用能力,先搜索,再阅读,最后总结。
术语表
web_search
web_fetch
provider
底层搜索/能力提供方,例如:Brave、Gemini、Grok、Kimi、Perplexity。
skill
额外安装的扩展能力封装,例如:Tavily、Firecrawl、agent-reach。
tavily-search
基于 Tavily 的扩展搜索 skill,可用于补充或增强 web_search 能力。
agent-reach
用于协调多步任务、强化外部能力调用的 skill,不是传统搜索引擎替代品。
一句话总结
web_search:搜索能力的抽象接口
- 原生 provider:Brave / Gemini / Grok / Kimi / Perplexity
- 扩展 skill:Tavily / Firecrawl / agent-reach
web_fetch:网页读取与抓取能力
最佳实践是:先用搜索能力找来源(你当前常用 tavily-search),再用 web_fetch 读来源;复杂任务再用 agent-reach 协调。
相关免费在线工具
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- Keycode 信息
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
- Escape 与 Native 编解码
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
- JavaScript / HTML 格式化
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online