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渲染或需登录页面)时,仍需配合浏览器自动化工具使用。

