欢迎光临
我们一直在努力

OpenClaw 中 web_search + web_fetch 最佳实践速查表

OpenClaw 中 web_search + web_fetch 最佳实践速查表

摘要:本文帮助读者明确 OpenClaw 网络搜索工具和不同搜索技能的的职责边界,理解“先搜索、再抓取、后总结”的最佳实践,并能更稳定地在 OpenClaw 中使用 tavily-search 与 web_fetch 完成网络信息搜索任务。主要内容包括:解决 OpenClaw 中 web_search、tavily-search、web_fetch、原生 provider 与扩展 skill 容易混淆的问题、网络搜索能力分层说明、OpenClaw 原生搜索 provider 与 Tavily/Firecrawl 扩展 skill 的区别、标准工作流、提示词模板、命令行验证、常见误区与排障方法。

导读:如果你还没有为 OpenClaw 安装 Tavily-Search 、Agent-Reach 或平替的搜索技能,先阅读以下文章:

  • Tavily-Search 安装 (TODO)
  • Agent Reach 安装与 OpenClaw 网络搜索能力扩展指南

目录

  • 一、核心结论
  • 二、OpenClaw 2026.3.13 的搜索能力层次
  • 三、从使用者视角理解整体结构
  • 四、一句话理解关系
  • 五、web_search、原生 provider、扩展 skill、web_fetch 的关系
  • 六、推荐的理解模型
  • 七、最推荐的使用分工
  • 八、标准工作流
  • 九、什么时候优先用 tavily-search
  • 十、什么时候优先用 web_fetch
  • 十一、OpenClaw 中推荐的标准流程
  • 十二、最常用的对话提示词模板
  • 十三、命令行直测速查
  • 十四、在对话中怎么更稳定触发正确流程
  • 十五、常见误区
  • 十六、推荐默认策略
  • 十七、排障速查
  • 十八、术语表
  • 十九、一句话总结

一、核心结论

在 OpenClaw 里,最容易混淆的几个概念是:

  • web_search
  • tavily-search
  • web_fetch
  • 原生搜索 provider
  • 扩展 skill

最准确、最实用的理解方式是:

  • ​**web_search**​:统一的网页搜索能力接口/抽象能力
  • ​**web_fetch**​:统一的网页读取/抓取能力接口
  • ​原生 provider​:OpenClaw 直接支持配置的搜索后端
  • ​扩展 skill​:用户手动安装后接入的额外搜索/抓取能力
  • ​**tavily-search**​:属于扩展 skill,不是 OpenClaw 2026.3.13 当前配置向导里的原生 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 配置导向提示如下:

◆ Choose web search provider
│ ● Brave Search (Structured results · country/language/time filters)
│ ○ Gemini (Google Search)
│ ○ Grok (xAI)
│ ○ Kimi (Moonshot)
│ ○ Perplexity Search

这些属于:

  • OpenClaw 原生支持
  • 用户可在配置时直接选择
  • 是 web_search 能力的默认后端候选

2)需要用户自行安装和配置的 skill

以下能力不是当前版本配置向导里原生可选的 web_search provider,而是需要用户自行安装:

  • Firecrawl
  • Tavily

它们属于:

  • 扩展 skill
  • 需要手动安装
  • 需要单独配置 API key 或依赖
  • 安装后可以补充搜索、抓取或 AI 优化检索能力

所以:

Brave / Gemini / Grok / Kimi / Perplexity 是原生 provider; Firecrawl / Tavily 是额外安装的扩展 skill。


三、从使用者视角理解整体结构

#mermaid-svg-9mXiLLxBlQMMD4rN{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9mXiLLxBlQMMD4rN .error-icon{fill:#552222;}#mermaid-svg-9mXiLLxBlQMMD4rN .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9mXiLLxBlQMMD4rN .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9mXiLLxBlQMMD4rN .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9mXiLLxBlQMMD4rN .marker.cross{stroke:#333333;}#mermaid-svg-9mXiLLxBlQMMD4rN svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9mXiLLxBlQMMD4rN p{margin:0;}#mermaid-svg-9mXiLLxBlQMMD4rN .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster-label text{fill:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster-label span{color:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster-label span p{background-color:transparent;}#mermaid-svg-9mXiLLxBlQMMD4rN .label text,#mermaid-svg-9mXiLLxBlQMMD4rN span{fill:#333;color:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN .node rect,#mermaid-svg-9mXiLLxBlQMMD4rN .node circle,#mermaid-svg-9mXiLLxBlQMMD4rN .node ellipse,#mermaid-svg-9mXiLLxBlQMMD4rN .node polygon,#mermaid-svg-9mXiLLxBlQMMD4rN .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9mXiLLxBlQMMD4rN .rough-node .label text,#mermaid-svg-9mXiLLxBlQMMD4rN .node .label text,#mermaid-svg-9mXiLLxBlQMMD4rN .image-shape .label,#mermaid-svg-9mXiLLxBlQMMD4rN .icon-shape .label{text-anchor:middle;}#mermaid-svg-9mXiLLxBlQMMD4rN .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9mXiLLxBlQMMD4rN .rough-node .label,#mermaid-svg-9mXiLLxBlQMMD4rN .node .label,#mermaid-svg-9mXiLLxBlQMMD4rN .image-shape .label,#mermaid-svg-9mXiLLxBlQMMD4rN .icon-shape .label{text-align:center;}#mermaid-svg-9mXiLLxBlQMMD4rN .node.clickable{cursor:pointer;}#mermaid-svg-9mXiLLxBlQMMD4rN .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9mXiLLxBlQMMD4rN .arrowheadPath{fill:#333333;}#mermaid-svg-9mXiLLxBlQMMD4rN .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9mXiLLxBlQMMD4rN .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9mXiLLxBlQMMD4rN .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9mXiLLxBlQMMD4rN .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9mXiLLxBlQMMD4rN .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9mXiLLxBlQMMD4rN .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster text{fill:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN .cluster span{color:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9mXiLLxBlQMMD4rN .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9mXiLLxBlQMMD4rN rect.text{fill:none;stroke-width:0;}#mermaid-svg-9mXiLLxBlQMMD4rN .icon-shape,#mermaid-svg-9mXiLLxBlQMMD4rN .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9mXiLLxBlQMMD4rN .icon-shape p,#mermaid-svg-9mXiLLxBlQMMD4rN .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9mXiLLxBlQMMD4rN .icon-shape rect,#mermaid-svg-9mXiLLxBlQMMD4rN .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9mXiLLxBlQMMD4rN .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9mXiLLxBlQMMD4rN .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9mXiLLxBlQMMD4rN :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

OpenClaw 的统一能力接口

能力来源

原生 providerBrave / Gemini / Grok / Kimi / Perplexity

扩展 skillTavily / 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 说的是“网页搜索”这件事本身,不一定绑定某一个具体产品名。

它可以由以下两类来源来实现:

  • 原生 provider
  • 扩展 skill

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:(TODO:有空补上安装实践记录) 如何安装 agent-reach` :Agent Reach 安装与 OpenClaw 网络搜索能力扩展指南


    七、最推荐的使用分工

    tavily-search 负责什么

    适合:

    • 找最新资料
    • 找新闻
    • 找论文入口
    • 找官方文档入口
    • 找多个候选来源
    • 为后续精读做召回

    web_fetch 负责什么

    适合:

    • 已经有 URL
    • 已经知道要读哪个页面
    • 读取正文
    • 抓取细节
    • 提取发布日期、作者、版本号、参数说明
    • 核对页面中是否真的写了某句话

    agent-reach 负责什么

    适合:

    • 协调多步任务
    • 提高外部能力被调用的概率
    • 强化“先搜索、再阅读、再总结”的工作流
    • 降低模型直接凭已有知识回答的概率

    八、标准工作流

    工作流 A:你没有 URL

  • 用 tavily-search 搜索
  • 获取候选来源
  • 选择最相关来源
  • 用 web_fetch 读取
  • 工作流 B:你已有 URL

  • 直接用 web_fetch 读取
  • 工作流 C:复杂多步任务

  • 用 agent-reach 协调任务
  • 先搜索
  • 再阅读
  • 最后总结

  • 九、什么时候优先用 tavily-search

    适合:

    • 你还没有具体网址
    • 你要查“最新”“最近”“本周”“本月”
    • 你需要候选来源列表
    • 你要找新闻、论文、公告、文档入口
    • 你不确定先读哪个页面

    典型任务:

    • 最近一周 AI 新闻
    • 某个框架最近更新了什么
    • 某个 API 的官方文档入口
    • 某个研究方向最近有哪些论文

    十、什么时候优先用 web_fetch

    适合:

    • 你已经有 URL
    • 你只想读某个页面
    • 你需要正文
    • 你需要页面细节
    • 你要提取参数、版本号、发布日期等信息

    典型任务:

    • 阅读官方文档页面
    • 总结新闻正文
    • 提取博客文章要点
    • 查看 release note 里的变更项

    十一、OpenClaw 中推荐的标准流程

    #mermaid-svg-HC0bOU2UdQWPQcqL{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-HC0bOU2UdQWPQcqL .error-icon{fill:#552222;}#mermaid-svg-HC0bOU2UdQWPQcqL .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-HC0bOU2UdQWPQcqL .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-HC0bOU2UdQWPQcqL .marker{fill:#333333;stroke:#333333;}#mermaid-svg-HC0bOU2UdQWPQcqL .marker.cross{stroke:#333333;}#mermaid-svg-HC0bOU2UdQWPQcqL svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-HC0bOU2UdQWPQcqL p{margin:0;}#mermaid-svg-HC0bOU2UdQWPQcqL .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster-label text{fill:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster-label span{color:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster-label span p{background-color:transparent;}#mermaid-svg-HC0bOU2UdQWPQcqL .label text,#mermaid-svg-HC0bOU2UdQWPQcqL span{fill:#333;color:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL .node rect,#mermaid-svg-HC0bOU2UdQWPQcqL .node circle,#mermaid-svg-HC0bOU2UdQWPQcqL .node ellipse,#mermaid-svg-HC0bOU2UdQWPQcqL .node polygon,#mermaid-svg-HC0bOU2UdQWPQcqL .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-HC0bOU2UdQWPQcqL .rough-node .label text,#mermaid-svg-HC0bOU2UdQWPQcqL .node .label text,#mermaid-svg-HC0bOU2UdQWPQcqL .image-shape .label,#mermaid-svg-HC0bOU2UdQWPQcqL .icon-shape .label{text-anchor:middle;}#mermaid-svg-HC0bOU2UdQWPQcqL .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-HC0bOU2UdQWPQcqL .rough-node .label,#mermaid-svg-HC0bOU2UdQWPQcqL .node .label,#mermaid-svg-HC0bOU2UdQWPQcqL .image-shape .label,#mermaid-svg-HC0bOU2UdQWPQcqL .icon-shape .label{text-align:center;}#mermaid-svg-HC0bOU2UdQWPQcqL .node.clickable{cursor:pointer;}#mermaid-svg-HC0bOU2UdQWPQcqL .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-HC0bOU2UdQWPQcqL .arrowheadPath{fill:#333333;}#mermaid-svg-HC0bOU2UdQWPQcqL .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-HC0bOU2UdQWPQcqL .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-HC0bOU2UdQWPQcqL .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-HC0bOU2UdQWPQcqL .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-HC0bOU2UdQWPQcqL .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-HC0bOU2UdQWPQcqL .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster text{fill:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL .cluster span{color:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-HC0bOU2UdQWPQcqL .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-HC0bOU2UdQWPQcqL rect.text{fill:none;stroke-width:0;}#mermaid-svg-HC0bOU2UdQWPQcqL .icon-shape,#mermaid-svg-HC0bOU2UdQWPQcqL .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-HC0bOU2UdQWPQcqL .icon-shape p,#mermaid-svg-HC0bOU2UdQWPQcqL .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-HC0bOU2UdQWPQcqL .icon-shape rect,#mermaid-svg-HC0bOU2UdQWPQcqL .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-HC0bOU2UdQWPQcqL .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-HC0bOU2UdQWPQcqL .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-HC0bOU2UdQWPQcqL :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    没有

    用户问题

    是否已有明确 URL?

    直接用 web_fetch

    先用 web_search 能力搜索

    在你当前环境里可由原生 provider 或 tavily-search 实现

    得到候选来源 / 链接

    再用 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 本体。

    基础搜索

    # 作用:执行最基础的一次 Tavily 搜索。
    # 语法:node <脚本路径> "<查询词>"
    # 规则:
    # – 查询词建议放在双引号中
    # – 适合快速验证插件和 API key 是否生效
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "python async patterns"

    指定结果数量

    # 作用:控制返回结果数。
    # 语法:node <脚本路径> "<查询词>" -n <数量>
    # 规则:
    # – 常见范围 1 到 20
    # – 数量越多,召回越广,但噪声可能增加
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "React hooks tutorial" -n 10

    指定搜索深度

    # 作用:调整搜索深度,在速度和相关性之间取平衡。
    # 语法:node <脚本路径> "<查询词>" –depth <模式>
    # 规则:
    # – 可选值:ultra-fast、fast、basic、advanced
    # – basic 最通用
    # – advanced 适合研究型任务
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "machine learning evaluation benchmarks" –depth advanced

    搜索新闻

    # 作用:把搜索主题切换为新闻类。
    # 语法:node <脚本路径> "<查询词>" –topic news
    # 规则:
    # – 适合最新事件、产品发布、政策变化
    # – 如果不是新闻类查询,建议用默认 general
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "AI regulation Europe" –topic news

    限定时间范围

    # 作用:限制搜索结果的时间范围。
    # 语法:node <脚本路径> "<查询词>" –time-range <范围>
    # 规则:
    # – 可选值:day、week、month、year
    # – 适合“最近一周”“最近一个月”这类查询
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "OpenAI API updates" –topic news –time-range week

    限定域名

    # 作用:只保留指定域名结果。
    # 语法:node <脚本路径> "<查询词>" –include-domains <域名列表>
    # 规则:
    # – 多个域名通常用逗号分隔
    # – 适合官方文档、论文站点、可信来源筛选
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "Python asyncio gather" –include-domains docs.python.org

    排除域名

    # 作用:排除某些不想要的域名。
    # 语法:node <脚本路径> "<查询词>" –exclude-domains <域名列表>
    # 规则:
    # – 多个域名通常用逗号分隔
    # – 适合过滤低质量或无关站点
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "LLM benchmarks" –exclude-domains pinterest.com,reddit.com

    输出 JSON

    # 作用:输出原始 JSON,方便调试和脚本二次处理。
    # 语法:node <脚本路径> "<查询词>" –json
    # 规则:
    # – 适合程序消费
    # – 不适合纯人工阅读
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "vector database comparison" –json

    返回更完整内容

    # 作用:尝试返回更完整的页面内容,而不只是摘要片段。
    # 语法:node <脚本路径> "<查询词>" –raw-content
    # 规则:
    # – 输出会更长
    # – 更适合研究和离线分析
    node ~/.openclaw/skills/liang-tavily-search/scripts/search.mjs "multimodal RAG survey" –raw-content

    多参数组合

    # 作用:组合数量、主题、时间范围、域名过滤等参数。
    # 语法:
    # node <脚本路径> "<查询词>" -n <数量> –topic <主题> –time-range <范围> –include-domains <域名列表>
    # 规则:
    # – 参数越明确,结果通常越稳定
    # – 适合研究型和高价值查询
    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

    说明当前 shell 没拿到环境变量。

    # 作用:检查当前 shell 是否已经有 TAVILY_API_KEY。
    # 语法:echo "$TAVILY_API_KEY"
    # 规则:
    # – 有输出表示变量已生效
    # – 空输出表示变量未生效
    echo "$TAVILY_API_KEY"

    情况 2:tavily-search 已安装,但对话里没触发

    通常不是安装失败,而是提示词不够明确。

    建议直接这样写:

    不要直接回答。先使用 tavily-search 搜索,再使用 web_fetch 阅读来源,最后给出结论。

    情况 3:旧会话行为异常

    新开一个会话再试,避免旧上下文干扰工具选择。

    情况 4:想确认 skill 本体是否可用

    # 作用:绕过会话层,直接测试 tavily-search skill 脚本本体。
    # 语法:node <脚本路径> "<查询词>"
    # 规则:
    # – 这是最稳的插件可用性验证方法
    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 协调。

    赞(0)
    未经允许不得转载:171主机测评 » OpenClaw 中 web_search + web_fetch 最佳实践速查表
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址