网页工具
OpenClaw 内置两个轻量级网页工具:web_search— 通过 Brave Search API(默认)或 Perplexity Sonar(直连或通过 OpenRouter)搜索网页。web_fetch— HTTP 抓取 + 可读内容提取(HTML → markdown/文本)。
工作原理
web_search调用你配置的提供商并返回结果。- Brave(默认):返回结构化结果(标题、URL、摘要)。
- Perplexity:返回基于实时网页搜索的 AI 综合答案及引用来源。
- 结果按查询缓存 15 分钟(可配置)。
web_fetch执行普通 HTTP GET 并提取可读内容 (HTML → markdown/文本)。它不会执行 JavaScript。web_fetch默认启用(除非显式禁用)。
选择搜索提供商
| 提供商 | 优点 | 缺点 | API 密钥 |
|---|---|---|---|
| Brave(默认) | 快速、结构化结果、有免费额度 | 传统搜索结果 | BRAVE_API_KEY |
| Perplexity | AI 综合答案、引用来源、实时搜索 | 需要 Perplexity 或 OpenRouter 访问权限 | OPENROUTER_API_KEY 或 PERPLEXITY_API_KEY |
获取 Brave API 密钥
- 在 https://brave.com/search/api/ 创建 Brave Search API 账户
- 在控制面板中,选择 Data for Search 计划(不是 “Data for AI”)并生成 API 密钥。
- 运行
openclaw configure --section web将密钥存储到配置中(推荐),或在环境中设置BRAVE_API_KEY。
密钥设置位置(推荐)
**推荐:**运行openclaw configure --section web。它会将密钥存储在
~/.openclaw/openclaw.json 的 tools.web.search.apiKey 下。
**环境变量替代方案:**在 Gateway网关进程环境中设置 BRAVE_API_KEY。对于 Gateway网关安装,将其放入 ~/.openclaw/.env(或你的
服务环境)。参见环境变量。
使用 Perplexity(直连或通过 OpenRouter)
Perplexity Sonar 模型内置网页搜索功能,并返回带有引用来源的 AI 综合 答案。你可以通过 OpenRouter 使用它们(无需信用卡——支持 加密货币/预付费)。获取 OpenRouter API 密钥
- 在 https://openrouter.ai/ 创建账户
- 充值(支持加密货币、预付费或信用卡)
- 在账户设置中生成 API 密钥
设置 Perplexity 搜索
OPENROUTER_API_KEY 或 PERPLEXITY_API_KEY。对于 Gateway网关安装,将其放入 ~/.openclaw/.env。
如果未设置基础 URL,OpenClaw 会根据 API 密钥来源选择默认值:
PERPLEXITY_API_KEY或pplx-...→https://api.perplexity.aiOPENROUTER_API_KEY或sk-or-...→https://openrouter.ai/api/v1- 未知密钥格式 → OpenRouter(安全回退)
可用的 Perplexity 模型
| 模型 | 描述 | 最适合 |
|---|---|---|
perplexity/sonar | 带网页搜索的快速问答 | 快速查询 |
perplexity/sonar-pro(默认) | 带网页搜索的多步推理 | 复杂问题 |
perplexity/sonar-reasoning-pro | 思维链分析 | 深度研究 |
web_search
使用你配置的提供商搜索网页。前提条件
tools.web.search.enabled不能为false(默认:启用)- 你选择的提供商的 API 密钥:
- Brave:
BRAVE_API_KEY或tools.web.search.apiKey - Perplexity:
OPENROUTER_API_KEY、PERPLEXITY_API_KEY或tools.web.search.perplexity.apiKey
- Brave:
配置
工具参数
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)
web_fetch
抓取 URL 并提取可读内容。前提条件
tools.web.fetch.enabled不能为false(默认:启用)- 可选的 Firecrawl 回退:设置
tools.web.fetch.firecrawl.apiKey或FIRECRAWL_API_KEY。
配置
工具参数
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会返回一个简短的设置提示及文档链接。