OpenClaw Web工具详解
OpenClaw 提供了两款轻量级的 Web 工具,分别用于网页搜索与内容抓取,能够帮助开发者快速获取互联网信息并进行处理。这两个工具分别是 web_search 和 web_fetch,但需要注意的是,它们并不属于浏览器自动化工具。
一、工具概览
1. web_search
用于执行网页搜索,支持多种搜索提供商,包括:
- Brave(默认)
- Perplexity Sonar
- Gemini(基于 Google 搜索 Grounding)
- Grok
- Kimi
不同提供商返回的数据形式有所区别:
- Brave:返回结构化搜索结果(标题、URL、摘要)
- Perplexity / Gemini:返回带引用的 AI 合成答案
2. web_fetch
用于获取网页内容,并将 HTML 转换为可读文本(Markdown 或纯文本)。
需要注意:
- 仅执行 HTTP 请求(GET)
- 不执行 JavaScript
- 更适合静态页面内容抓取
二、工作原理
1、web_search 工作流程
- 调用所配置的搜索提供商接口
- 返回搜索结果或AI生成内容
- 查询结果默认缓存15分钟(可配置)
2、web_fetch 工作流程
- 发起 HTTP 请求获取页面内容
- 使用可读性算法提取主要内容
- 转换为 Markdown 或文本输出
三、搜索提供商选择
| 提供商 | 优点 | 缺点 | API 密钥 |
|---|---|---|---|
| Brave(默认) | 快速、结构化结果 | 传统搜索结果;AI 使用条款适用 | BRAVE_API_KEY |
| Perplexity | AI 合成答案、引用、实时 | 需要 Perplexity 或 OpenRouter 访问权限 | OPENROUTER_API_KEY 或 PERPLEXITY_API_KEY |
| Gemini | Google 搜索 Grounding、AI 合成 | 需要 Gemini API 密钥 | GEMINI_API_KEY |
| Grok | xAI 网络支持的响应 | 需要 xAI API 密钥 | XAI_API_KEY |
| Kimi | Moonshot 网络搜索能力 | 需要 Moonshot API 密钥 | KIMI_API_KEY / MOONSHOT_API_KEY |
四、自动检测机制
当未手动指定 provider 时,OpenClaw 会根据已有 API 密钥自动选择,优先顺序如下:
- Brave
- Gemini
- Kimi
- Perplexity
- Grok
如果没有任何密钥,则默认回退到 Brave,并提示配置密钥。
五、如何指定搜索提供商
可以在配置文件中手动指定:
{ "tools": { "web": { "search": { "provider": "brave" } } } }
示例:使用 Perplexity
{ "tools": { "web": { "search": { "provider": "perplexity", "perplexity": { "apiKey": "pplx-...", "baseUrl": "https://api.perplexity.ai", "model": "perplexity/sonar-pro" } } } } }
六、API 密钥获取方式
1、Brave
- 前往 Brave Search API 官网注册
- 选择 Data for Search 计划
- 获取 API Key
推荐使用命令:
openclaw configure --section web
2、Perplexity / OpenRouter
- 注册 OpenRouter
- 充值账户
- 获取 API Key
支持模型:
- sonar(快速问答)
- sonar-pro(默认)
- sonar-reasoning-pro(深度推理)
3、Gemini
- 在 Google AI Studio 创建 API Key
- 配置 GEMINI_API_KEY
- 默认模型:gemini-2.5-flash
七、web_search 使用说明
基本配置
{ "tools": { "web": { "search": { "enabled": true, "maxResults": 5, "timeoutSeconds": 30, "cacheTtlMinutes": 15 } } } }
参数说明:
- query(必填):搜索关键词
- count:返回结果数量(1–10)
- country:国家代码(如 US、DE)
- search_lang:搜索语言
- ui_lang:界面语言
- freshness:时间范围过滤
示例
await web_search({ query: "latest AI news", count: 10, freshness: "pw" });
八、web_fetch 使用说明
配置示例
{ "tools": { "web": { "fetch": { "enabled": true, "maxChars": 50000, "timeoutSeconds": 30 } } } }
参数说明:
- url(必填):网页地址
- extractMode:markdown 或 text
- maxChars:最大字符数
工作机制说明:
- 优先使用 Readability 提取正文
- 可选使用 Firecrawl 作为补充
- 默认缓存15分钟
- 自动限制响应大小
九、使用注意事项
- web_fetch 不支持 JavaScript 渲染页面
- 对于需要登录或动态渲染的网站,应使用浏览器工具
- 工具会自动阻止访问私有网络地址(安全机制)
- 默认使用类似 Chrome 的 User-Agent
- 超大页面会被截断处理
十、总结
OpenClaw 的 web_search 与 web_fetch 工具,分别解决了信息搜索与内容提取的问题。
- web_search:适合获取搜索结果或AI总结
- web_fetch:适合抓取网页正文内容
两者结合使用,可以高效完成从“搜索信息”到“提取内容”的完整流程。但在面对复杂网页(如JS渲染或需登录页面)时,仍需配合浏览器自动化工具使用。
广告合作
QQ群号:4114653
温馨提示:
- 本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。
- 本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。