Web 工具
OpenClaw 提供两个轻量级 web 工具:web_search— 通过 Brave Search API(默认)或 Perplexity Sonar(直连或 OpenRouter)搜索网页。web_fetch— HTTP 抓取 + 可读抽取(HTML → markdown/text)。
工作方式
web_search调用你配置的 provider 并返回结果。- Brave(默认):返回结构化结果(标题、URL、摘要)。
- Perplexity:返回带引用的 AI 综合答案(实时搜索)。
- 结果按 query 缓存 15 分钟(可配置)。
web_fetch执行普通 HTTP GET 并抽取可读内容(HTML → markdown/text)。不 执行 JavaScript。web_fetch默认启用(除非显式禁用)。
选择搜索提供商
| Provider | 优点 | 缺点 | API Key |
|---|---|---|---|
| Brave(默认) | 快速、结构化结果、免费层 | 传统搜索结果 | BRAVE_API_KEY |
| Perplexity | AI 综合答案、引用、实时 | 需要 Perplexity 或 OpenRouter 访问 | OPENROUTER_API_KEY 或 PERPLEXITY_API_KEY |
获取 Brave API key
- 在 https://brave.com/search/api/ 创建 Brave Search API 账号
- 在面板中选择 Data for Search 方案(不是 “Data for AI”)并生成 API key。
- 运行
openclaw configure --section web将 key 写入配置(推荐),或在环境中设置BRAVE_API_KEY。
需要在哪里设置 key(推荐)
推荐: 运行openclaw configure --section web。它会把 key 写入
~/.openclaw/openclaw.json 的 tools.web.search.apiKey。
环境变量: 在 Gateway 进程环境中设置 BRAVE_API_KEY。对网关安装,可写入 ~/.openclaw/.env(或服务环境)。见 环境变量。
使用 Perplexity(直连或 OpenRouter)
Perplexity Sonar 模型内置网页搜索能力,并返回带引用的 AI 综合答案。你可以通过 OpenRouter 使用(无需信用卡,支持加密货币/预付)。获取 OpenRouter API key
- 在 https://openrouter.ai/ 创建账号
- 充值(支持加密货币、预付或信用卡)
- 在账号设置中生成 API key
配置 Perplexity 搜索
OPENROUTER_API_KEY 或 PERPLEXITY_API_KEY。
对网关安装,写入 ~/.openclaw/.env。
若未设置 base URL,OpenClaw 会按 API key 来源选择默认值:
PERPLEXITY_API_KEY或pplx-...→https://api.perplexity.aiOPENROUTER_API_KEY或sk-or-...→https://openrouter.ai/api/v1- 未知 key 格式 → OpenRouter(安全回退)
可用的 Perplexity 模型
| Model | Description | Best for |
|---|---|---|
perplexity/sonar | Fast Q&A with web search | Quick lookups |
perplexity/sonar-pro (default) | Multi-step reasoning with web search | Complex questions |
perplexity/sonar-reasoning-pro | Chain-of-thought analysis | Deep research |
web_search
使用已配置 provider 搜索网页。要求
tools.web.search.enabled不能为false(默认启用)- 需要所选 provider 的 API key:
- 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为尽力抽取;部分站点仍需浏览器工具。- key 设置与服务细节见 Firecrawl。
- 响应默认缓存 15 分钟,以减少重复抓取。
- 若使用工具 profile/allowlist,加入
web_search/web_fetch或group:web。 - 如果缺少 Brave key,
web_search会返回简短的设置提示并附文档链接。