OpenClawSkills
GitHub
工具与技能 • 5 分钟阅读

Web 工具

Web 搜索 + 获取工具(Brave Search API、Perplexity 直连/OpenRouter)

OpenClaw 内置两个轻量级 Web 工具:

- ''web_search'' — 通过 Brave Search API(默认)或 Perplexity Sonar(直连或通过 OpenRouter)搜索网页。

- ''web_fetch'' — HTTP 获取 + 可读内容提取(HTML → markdown/text)。

这些不是浏览器自动化。对于 JS 密集型网站或登录场景,请使用

''浏览器工具''。

Tutorial.step

工作原理

- ''web_search'' 调用您配置的提供商并返回结果。

- Brave(默认):返回结构化结果(标题、URL、摘要)。

- Perplexity:返回 AI 综合答案,附带实时网络搜索的引用。

- 结果按查询缓存 15 分钟(可配置)。

- ''web_fetch'' 执行普通 HTTP GET 并提取可读内容

(HTML → markdown/text)。它不执行 JavaScript。

- ''web_fetch'' 默认启用(除非显式禁用)。

Tutorial.step

选择搜索提供商

| 提供商 | 优点 | 缺点 | API Key |

| - | -- | -- |

| ''perplexity/sonar'' | 快速问答,带网络搜索 | 快速查询 |

| ''perplexity/sonar-pro''(默认) | 多步推理,带网络搜索 | 复杂问题 |

| ''perplexity/sonar-reasoning-pro'' | 思维链分析 | 深度研究 |

Tutorial.step

web_search

使用您配置的提供商搜索网页。

Tutorial.step

要求

- ''tools.web.search.enabled'' 不能为 ''false''(默认:启用)

- 所选提供商的 API key:

- ''Brave'':''BRAVE_API_KEY'' 或 ''tools.web.search.apiKey''

- ''Perplexity'':''OPENROUTER_API_KEY''、''PERPLEXITY_API_KEY'' 或 ''tools.web.search.perplexity.apiKey''

Tutorial.step

配置

Json5
'{'
  tools: '{'
    web: '{'
      search: '{'
        enabled: true,
        apiKey: "BRAVE_API_KEY_HERE", // 如果设置了 BRAVE_API_KEY 则可选
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      '}',
    '}',
  '}',
'}'
Tutorial.step

工具参数

- ''query''(必需)

- ''count''(1–10;默认从配置读取)

- ''country''(可选):2 字母国家代码,用于区域特定结果(如 "DE"、"US"、"ALL")。如省略,Brave 选择默认区域。

- ''search_lang''(可选):搜索结果的 ISO 语言代码(如 "de"、"en"、"fr")

- ''ui_lang''(可选):UI 元素的 ISO 语言代码

- ''freshness''(可选,仅 Brave):按发现时间过滤(''pd''、''pw''、''pm''、''py'' 或 ''YYYY-MM-DDtoYYYY-MM-DD'')

示例:

Javascript
// 德语特定搜索
await web_search('{'
  query: "TV online schauen",
  count: 10,
  country: "DE",
  search_lang: "de",
'}');

// 法语搜索带法语 UI
await web_search('{'
  query: "actualités",
  country: "FR",
  search_lang: "fr",
  ui_lang: "fr",
'}');

// 最近结果(过去一周)
await web_search('{'
  query: "TMBG interview",
  freshness: "pw",
'}');
Tutorial.step

web_fetch

获取 URL 并提取可读内容。

Tutorial.step

要求

- ''tools.web.fetch.enabled'' 不能为 ''false''(默认:启用)

- 可选 Firecrawl 后备:设置 ''tools.web.fetch.firecrawl.apiKey'' 或 ''FIRECRAWL_API_KEY''。

Tutorial.step

配置

Json5
'{'
  tools: '{'
    web: '{'
      fetch: '{'
        enabled: true,
        maxChars: 50000,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
        maxRedirects: 3,
        userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
        readability: true,
        firecrawl: '{'
          enabled: true,
          apiKey: "FIRECRAWL_API_KEY_HERE", // 如果设置了 FIRECRAWL_API_KEY 则可选
          baseUrl: "https://api.firecrawl.dev",
          onlyMainContent: true,
          maxAgeMs: 86400000, // 毫秒(1 天)
          timeoutSeconds: 60,
        '}',
      '}',
    '}',
  '}',
'}'
Tutorial.step

工具参数

- ''url''(必需,仅 http/https)

- ''extractMode''(''markdown'' | ''text'')

- ''maxChars''(截断长页面)

注意事项:

- ''web_fetch'' 首先使用 Readability(主要内容提取),然后使用 Firecrawl(如已配置)。如果两者都失败,工具返回错误。

- Firecrawl 请求默认使用绕过机器人检测模式并缓存结果。

- ''web_fetch'' 默认发送类似 Chrome 的 User-Agent 和 ''Accept-Language'';如需要可覆盖 ''userAgent''。

- ''web_fetch'' 阻止私有/内部主机名并重新检查重定向(用 ''maxRedirects'' 限制)。

- ''web_fetch'' 是尽力提取;某些网站需要浏览器工具。

- 参见 ''Firecrawl'' 了解密钥设置和服务详情。

- 响应被缓存(默认 15 分钟)以减少重复获取。

- 如果使用工具配置文件/白名单,添加 ''web_search''/''web_fetch'' 或 ''group:web''。

- 如果缺少 Brave 密钥,''web_search'' 返回简短设置提示和文档链接。