OpenClaw 内置了两个轻量级 Web 工具:
| 工具 | 功能 | 适用场景 |
|---|---|---|
| web_search | 网络搜索 | 获取最新信息、资料查找 |
| web_fetch | 网页抓取 | 提取网页正文内容 |
[WARN] 注意:这些工具不是浏览器自动化。对于需要执行 JavaScript 或登录的网站,请使用 Browser 工具。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Your Query │────▶│ web_search │────▶│ Search API │
│ "最新 AI 新闻" │ │ (Search) │ │ (Brave/Tavily) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Readable │◀────│ web_fetch │◀────│ Search Results │
│ Content │ │ (Fetch) │ │ (URLs + Snippets)│
└─────────────────┘ └─────────────────┘ └─────────────────┘
结果缓存:搜索结果默认缓存 15 分钟(可配置),减少重复请求。
| 特性 | Brave Search | Tavily | Perplexity |
|---|---|---|---|
| 免费额度 | 2000次/月 | 1000次/月 | 按量付费 |
| 需信用卡 | [PASS] 是 | [FAIL] 否 | [PASS] 是 |
| 响应速度 | 快 | 更快 | 中等 |
| 结果格式 | 结构化 (title+URL+snippet) | AI优化结构化 | AI合成答案 |
| 隐私保护 | 最强 | ||
| AI优化 | 传统搜索 | 专为AI设计 | AI原生 |
| 注册难度 | 需绑卡 | 邮箱即用 | 需绑卡 |
| 推荐场景 | 高频使用、隐私敏感 | 轻度使用、快速部署 | 深度研究 |
graph TD
A[需要网络搜索] --> B{是否有信用卡?}
B -->|否| C[Tavily ]
B -->|是| D{月搜索需求?}
D -->|< 1000次| C
D -->|> 1000次| E{重视隐私?}
E -->|是| F[Brave Search ]
E -->|否| G{需要AI合成答案?}
G -->|是| H[Perplexity ]
G -->|否| F
[PASS] 优点:
• 免费额度最高 (2000次/月)
• 强大的隐私保护
• 结构化结果易于解析
• 官方默认支持
[FAIL] 缺点:
• 必须绑定信用卡
• 传统搜索引擎体验
• 无AI增强
适合人群:
- 每月搜索需求 > 1000 次
- 重视隐私保护
- 有支付能力(信用卡)
[PASS] 优点:
• 无需信用卡,邮箱即用
• 专为AI Agent设计
• 响应速度更快
• 结果更结构化、更智能
• 支持MCP协议
[FAIL] 缺点:
• 免费额度较低 (1000次/月)
• 相对较新
适合人群:
- 轻度使用 (< 1000次/月)
- 没有信用卡
- 追求快速部署
- 需要AI优化的结果
[PASS] 优点:
• AI合成答案 + 引用
• 实时网络搜索
• 多步推理能力
• 答案质量高
[FAIL] 缺点:
• 按量付费,无免费层
• 响应时间较长
• 成本较高
适合人群:
- 需要深度研究
- 重视答案质量而非速度
- 有预算支持
根据上表的对比,选择适合你的搜索引擎:
| 需求 | 推荐 |
|---|---|
| 无信用卡、快速上手 | Tavily |
| 高额度、隐私优先 | Brave |
| 深度研究、AI合成 | Perplexity |
跳转到对应章节:
# 运行配置向导
openclaw configure --section web
# 或手动编辑配置文件
nano ~/.openclaw/openclaw.json访问 Brave Search API 注册账号。
[WARN] 注意:必须绑定信用卡才能使用免费额度。
在控制台中:
- 选择 Data for Search 计划(不是 "Data for AI")
- 生成 API 密钥
openclaw configure --section web按照提示输入 Brave API 密钥。
编辑 ~/.openclaw/openclaw.json:
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave",
"apiKey": "YOUR_BRAVE_API_KEY_HERE",
"maxResults": 5,
"timeoutSeconds": 30,
"cacheTtlMinutes": 15
}
}
}
}编辑 ~/.openclaw/.env:
BRAVE_API_KEY=YOUR_BRAVE_API_KEY_HERE# 测试搜索功能
openclaw test web-search| 计划 | 额度 | 价格 |
|---|---|---|
| Free | 2,000次/月 | $0 |
| Basic | 15,000次/月 | $9/月 |
| Pro | 30,000次/月 | $25/月 |
访问 Tavily 注册账号。
[PASS] 优势:只需邮箱,无需信用卡!
- 登录后进入 API Keys 页面
- 复制你的 API 密钥
由于 Tavily 不是官方默认支持,需要通过 MCP 或自定义配置:
# 安装 Tavily MCP 服务器
npm install -g @tavily/mcp-server配置 MCP 服务器:
编辑 ~/.openclaw/mcp.json:
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "@tavily/mcp-server"],
"env": {
"TAVILY_API_KEY": "YOUR_TAVILY_API_KEY_HERE"
}
}
}
}编辑 ~/.openclaw/openclaw.json:
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "tavily",
"apiKey": "YOUR_TAVILY_API_KEY_HERE",
"maxResults": 10,
"searchDepth": "basic",
"includeAnswer": true,
"includeRawContent": false
}
}
}
}编辑 ~/.openclaw/.env:
TAVILY_API_KEY=YOUR_TAVILY_API_KEY_HERE# 测试搜索
openclaw test web-search --provider tavily| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
apiKey |
string | 必填 | 你的 API 密钥 |
query |
string | 必填 | 搜索查询 |
searchDepth |
string | "basic" | "basic" 或 "advanced" |
maxResults |
number | 10 | 返回结果数量 |
includeAnswer |
boolean | true | 是否包含AI生成的答案 |
includeRawContent |
boolean | false | 是否包含原始内容 |
daysLimit |
number | 3 | 搜索最近N天的内容 |
| 计划 | 额度 | 价格 |
|---|---|---|
| Free | 1,000次/月 | $0 |
| Growth | 5,000次/月 | $20/月 |
| Standard | 20,000次/月 | $50/月 |
你有两个选择:
- 注册 Perplexity 账号并获取 API 密钥 (以
pplx-开头)
- 访问 OpenRouter
- 添加额度(支持加密货币、预付费)
- 生成 API 密钥 (以
sk-or-v1-开头)
编辑 ~/.openclaw/openclaw.json:
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "perplexity",
"perplexity": {
"apiKey": "YOUR_API_KEY_HERE",
"baseUrl": "https://api.perplexity.ai",
"model": "perplexity/sonar-pro"
}
}
}
}
}使用 OpenRouter:
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "perplexity",
"perplexity": {
"apiKey": "sk-or-v1-...",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "perplexity/sonar-pro"
}
}
}
}
}| 模型 | 描述 | 适用场景 |
|---|---|---|
perplexity/sonar |
快速问答 | 简单查询 |
perplexity/sonar-pro |
多步推理 (默认) | 复杂问题 |
perplexity/sonar-reasoning-pro |
思维链分析 | 深度研究 |
web_fetch 工具可以:
- 获取网页内容
- 提取正文(HTML → Markdown/Text)
- 自动处理重定向
- 缓存结果
编辑 ~/.openclaw/openclaw.json:
{
"tools": {
"web": {
"fetch": {
"enabled": true,
"maxChars": 50000,
"maxCharsCap": 50000,
"timeoutSeconds": 30,
"cacheTtlMinutes": 15,
"maxRedirects": 3,
"userAgent": "Mozilla/5.0 (compatible; OpenClaw/1.0)",
"readability": true
}
}
}
}对于复杂网站,可以启用 Firecrawl 作为后备:
{
"tools": {
"web": {
"fetch": {
"firecrawl": {
"enabled": true,
"apiKey": "YOUR_FIRECRAWL_API_KEY",
"baseUrl": "https://api.firecrawl.dev",
"onlyMainContent": true
}
}
}
}
}// 基础用法
await web_fetch({
url: "https://example.com/article"
});
// 指定提取模式
await web_fetch({
url: "https://example.com/article",
extractMode: "markdown", // 或 "text"
maxChars: 10000
});A: 检查以下几点:
- API 密钥是否正确配置
- 免费额度是否用完
- 网络连接是否正常
# 检查配置
openclaw config show
# 测试网络连接
curl -I https://api.search.brave.comA: 可以配置多个 provider,但需要指定默认值:
{
"tools": {
"web": {
"search": {
"provider": "brave",
"brave": { "apiKey": "BRAVE_KEY" },
"tavily": { "apiKey": "TAVILY_KEY" }
}
}
}
}A: 尝试以下方法:
- 使用更具体的查询词
- 调整
maxResults参数 - 使用
freshness过滤时间 - 切换到 Perplexity 获取AI合成答案
A: 可能的原因:
- 网站需要 JavaScript - 使用 Browser 工具
- 网站有反爬虫保护 - 启用 Firecrawl
- 网站屏蔽了你的 IP - 更换 User-Agent
graph LR
A[搜索需求] --> B{查询类型}
B -->|简单事实| C[Brave/Tavily]
B -->|复杂问题| D[Perplexity]
B -->|最新资讯| C
{
"cacheTtlMinutes": 15 // 根据需求调整
}- 新闻类内容:5-10 分钟
- 知识类内容:30-60 分钟
- 实时数据:1-5 分钟
| 策略 | 说明 |
|---|---|
设置 maxResults |
减少返回数量 |
| 启用缓存 | 避免重复请求 |
| 监控使用量 | 定期检查 API 配额 |
try {
const results = await web_search({ query: "..." });
return results;
} catch (error) {
if (error.message.includes("quota")) {
return "API 配额已用完,请稍后再试";
}
return "搜索失败,请重试";
}| 搜索引擎 | 推荐指数 | 最适合 |
|---|---|---|
| Tavily | 新手、无信用卡、快速部署 | |
| Brave | 高频使用、隐私敏感 | |
| Perplexity | 深度研究、预算充足 |
新手推荐:从 Tavily 开始,无需信用卡即可体验完整功能。
需要帮助? Discord 社区 | GitHub Issues