OpenClaw 中 web_search 与 web_fetch 最佳实践速查表
OpenClaw 中 web_search 与 web_fetch 的职责边界,区分原生 provider 与扩展 skill。介绍了 Tavily 和 Firecrawl 的安装配置,以及标准工作流:先搜索找来源,再抓取读内容。提供命令行测试速查、提示词模板及常见误区排障方法,帮助用户稳定使用网络搜索能力完成信息检索任务。

OpenClaw 中 web_search 与 web_fetch 的职责边界,区分原生 provider 与扩展 skill。介绍了 Tavily 和 Firecrawl 的安装配置,以及标准工作流:先搜索找来源,再抓取读内容。提供命令行测试速查、提示词模板及常见误区排障方法,帮助用户稳定使用网络搜索能力完成信息检索任务。

在 OpenClaw 里,最容易混淆的几个概念是:
web_searchtavily-searchweb_fetch最准确、最实用的理解方式是:
web_search:统一的网页搜索能力接口/抽象能力web_fetch:统一的网页读取/抓取能力接口tavily-search:属于扩展 skill,不是 OpenClaw 2026.3.13 当前配置向导里的原生 provider一句话记忆:
搜索负责找,抓取负责读;原生 provider 是 OpenClaw 自带接线,Tavily / Firecrawl 是后装扩展能力。
在 OpenClaw 2026.3.13 版本中,配置向导当前原生支持以下搜索 provider:
OpenClaw 配置导向提示如下:
◆ Choose web search provider │ ● Brave Search (Structured results · country/language/time filters) │ ○ Gemini (Google Search) │ ○ Grok (xAI) │ ○ Kimi (Moonshot) │ ○ Perplexity Search
这些属于:
web_search 能力的默认后端候选以下能力不是当前版本配置向导里原生可选的 web_search provider,而是需要用户自行安装:
它们属于:
所以:
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 的关系web_search 是能力层web_search 说的是'网页搜索'这件事本身,不一定绑定某一个具体产品名。
它可以由以下两类来源来实现:
在 OpenClaw 2026.3.13 中,以下属于原生 provider:
这些更接近:
它们不是当前版本配置向导里直接列出的原生 provider,而是:
所以:
tavily-search 不是当前版本原生 web_search provider 列表的一员web_search 的一种补充实现web_fetch 是网页读取能力web_fetch 的职责通常是:
所以它不负责'找页面',而负责'读页面'。
web_search:找来源web_fetch:读来源假定当前额外安装了:
tavily-searchagent-reach而 web_fetch 是当前 agent 已可用的 tool。
所以你当前更适合的工作流是:
tavily-search 搜索web_fetch 阅读agent-reach 协调多步任务tavily-search 负责什么适合:
web_fetch 负责什么适合:
agent-reach 负责什么适合:
tavily-search 搜索web_fetch 读取web_fetch 读取agent-reach 协调任务tavily-search适合:
典型任务:
web_fetch适合:
典型任务:
| 用户问题 | 是否已有明确 URL? | 操作 |
|---|---|---|
| 无 | 没有 | 先用 web_search 能力搜索(可由原生 provider 或 tavily-search 实现) |
| 无 | 有 | 直接用 web_fetch |
| - | - | 得到候选来源 / 链接后,再用 web_fetch 读取 |
先使用 tavily-search 搜索这个主题,列出 5 个最相关来源;再使用 web_fetch 打开最相关的 1 个页面并总结。主题:multimodal RAG 最新论文
使用 tavily-search 搜索:最近一周关于 OpenAI 模型发布的新闻,只给我来源列表和一句话摘要。
使用 tavily-search 搜索 Kubernetes Ingress 官方文档,优先官方来源;再用 web_fetch 打开最相关页面并总结。
先用 tavily-search 搜索最近一周 AI agent 相关新闻,再给我按时间排序的摘要。
先使用 tavily-search 搜索 multimodal RAG 相关论文,优先 arXiv 和官方论文页面,再使用 web_fetch 阅读最相关页面并总结。
这是一个多步任务。请通过 agent-reach 协调当前可用能力,不要直接凭已有知识回答。先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读最相关页面,最后给出带来源的结论。主题:最近一个月关于 AI agent memory 的研究进展。
下面这些命令用于直接测试 tavily-search skill 本体。
# 作用:执行最基础的一次 Tavily 搜索。
# 语法:node <脚本路径> "<查询词>"
# 规则:
# - 查询词建议放在双引号中
# - 适合快速验证插件和 API key 是否生效
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "python async patterns"
# 作用:控制返回结果数。
# 语法:node <脚本路径> "<查询词>" -n <数量>
# 规则:
# - 常见范围 1 到 20
# - 数量越多,召回越广,但噪声可能增加
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "React hooks tutorial" -n 10
# 作用:调整搜索深度,在速度和相关性之间取平衡。
# 语法:node <脚本路径> "<查询词>" --depth <模式>
# 规则:
# - 可选值:ultra-fast、fast、basic、advanced
# - basic 最通用
# - advanced 适合研究型任务
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "machine learning evaluation benchmarks" --depth advanced
# 作用:把搜索主题切换为新闻类。
# 语法:node <脚本路径> "<查询词>" --topic news
# 规则:
# - 适合最新事件、产品发布、政策变化
# - 如果不是新闻类查询,建议用默认 general
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "AI regulation Europe" --topic news
# 作用:限制搜索结果的时间范围。
# 语法:node <脚本路径> "<查询词>" --time-range <范围>
# 规则:
# - 可选值:day、week、month、year
# - 适合'最近一周''最近一个月'这类查询
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "OpenAI API updates" --topic news --time-range week
# 作用:只保留指定域名结果。
# 语法:node <脚本路径> "<查询词>" --include-domains <域名列表>
# 规则:
# - 多个域名通常用逗号分隔
# - 适合官方文档、论文站点、可信来源筛选
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "Python asyncio gather" --include-domains docs.python.org
# 作用:排除某些不想要的域名。
# 语法:node <脚本路径> "<查询词>" --exclude-domains <域名列表>
# 规则:
# - 多个域名通常用逗号分隔
# - 适合过滤低质量或无关站点
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "LLM benchmarks" --exclude-domains pinterest.com,reddit.com
# 作用:输出原始 JSON,方便调试和脚本二次处理。
# 语法:node <脚本路径> "<查询词>" --json
# 规则:
# - 适合程序消费
# - 不适合纯人工阅读
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "vector database comparison" --json
# 作用:尝试返回更完整的页面内容,而不只是摘要片段。
# 语法:node <脚本路径> "<查询词>" --raw-content
# 规则:
# - 输出会更长
# - 更适合研究和离线分析
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "multimodal RAG survey" --raw-content
# 作用:组合数量、主题、时间范围、域名过滤等参数。
# 语法:
# node <脚本路径> "<查询词>" -n <数量> --topic <主题> --time-range <范围> --include-domains <域名列表>
# 规则:
# - 参数越明确,结果通常越稳定
# - 适合研究型和高价值查询
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "multimodal RAG papers" -n 8 --topic general --time-range year --include-domains arxiv.org,acm.org
先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读最相关页面,最后总结。
不要直接凭已有知识回答。先使用 tavily-search 搜索,再使用 web_fetch 阅读来源,然后给出结论。
这是一个需要最新信息的问题。请先使用 tavily-search 搜索最近一周相关资料,再使用 web_fetch 阅读最相关页面。
先使用 tavily-search 搜索,优先官方来源;再使用 web_fetch 打开最相关页面并提取关键信息。
agent-reach 强化多步协同请通过 agent-reach 协调当前可用能力,不要直接回答。先使用 tavily-search 搜索高质量来源,再使用 web_fetch 阅读关键页面,最后输出带来源的总结。
web_search 当成固定插件名web_search 往往是'网页搜索能力'的泛称,不一定是某个具体 skill 名。
web_fetch 当成搜索工具web_fetch 一般负责'打开页面',不是'找页面'。
tavily-search 就不需要 web_fetchtavily-search 更适合召回来源,web_fetch 更适合精读页面。两者配合效果最好。
agent-reach 是搜索工具agent-reach 更适合作为多步任务协调层,而不是单独的搜索引擎替代品。
先用 tavily-search
直接用 web_fetch
先用 tavily-search,必要时限定时间范围
先 tavily-search,后 web_fetch
先用 tavily-search 找官方页面,再用 web_fetch 读
加入 agent-reach 协调'搜索 → 阅读 → 总结'
TAVILY_API_KEY not set说明当前 shell 没拿到环境变量。
# 作用:检查当前 shell 是否已经有 TAVILY_API_KEY。
# 语法:echo "$TAVILY_API_KEY"
# 规则:
# - 有输出表示变量已生效
# - 空输出表示变量未生效
echo "$TAVILY_API_KEY"
tavily-search 已安装,但对话里没触发通常不是安装失败,而是提示词不够明确。
建议直接这样写:
不要直接回答。先使用 tavily-search 搜索,再使用 web_fetch 阅读来源,最后给出结论。
新开一个会话再试,避免旧上下文干扰工具选择。
# 作用:绕过会话层,直接测试 tavily-search skill 脚本本体。
# 语法:node <脚本路径> "<查询词>"
# 规则:
# - 这是最稳的插件可用性验证方法
node ~/.openclaw/skills/tavily-search/scripts/search.mjs "latest papers on multimodal RAG"
尝试在提示词中显式加入:
这是一个多步任务。请通过 agent-reach 协调当前可用能力,先搜索,再阅读,最后总结。
web_search网页搜索能力的抽象接口,重点是'找来源'。
web_fetch网页读取能力接口,重点是'读页面'。
底层搜索/能力提供方,例如:
额外安装的扩展能力封装,例如:
tavily-search基于 Tavily 的扩展搜索 skill,可用于补充或增强 web_search 能力。
agent-reach用于协调多步任务、强化外部能力调用的 skill,不是传统搜索引擎替代品。
web_search:搜索能力的抽象接口web_fetch:网页读取与抓取能力最佳实践是:
先用搜索能力找来源(你当前常用
tavily-search),再用web_fetch读来源;复杂任务再用agent-reach协调。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online