概述
web_fetch 工具执行 HTTP GET 请求并提取可读内容(HTML 转 Markdown 或纯文本)。默认启用,无需配置。不执行 JavaScript,JS 密集型站点需使用 Web Browser 工具。
核心功能
- 使用 Chrome-like User-Agent 发送 HTTP GET 请求
- 通过 Readability 提取主要内容
- 可选 Firecrawl 回退(用于反爬虫和更好的提取)
- 结果缓存 15 分钟(可配置)
- 阻止私有/内部主机名(SSRF 防护)
- 支持
extractMode(markdown/text)和maxChars参数
工作流程
- 发送 HTTP GET(Chrome-like UA,检查重定向)
- 运行 Readability 提取主要内容
- 若 Readability 失败且配置了 Firecrawl,通过 Firecrawl API 重试
- 缓存结果 15 分钟
配置/使用
{
tools: {
web: {
fetch: {
enabled: true,
provider: "firecrawl", // 可选,省略则自动检测
maxChars: 50000,
maxCharsCap: 50000,
maxResponseBytes: 2000000,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
maxRedirects: 3,
readability: true,
},
},
},
}Firecrawl 回退配置:
{
plugins: {
entries: {
firecrawl: {
enabled: true,
config: {
webFetch: {
apiKey: "fc-...",
onlyMainContent: true,
maxAgeMs: 86400000,
},
},
},
},
},
}安全限制
maxChars受maxCharsCap硬上限约束- 响应体超过
maxResponseBytes时截断并警告 - 私有/内部主机名被阻止
- 重定向次数受
maxRedirects限制 useTrustedEnvProxy需显式启用
相关页面
- concepts/tool-web — Web 搜索工具总览
- concepts/tool-firecrawl — Firecrawl 搜索与抓取工具
- concepts/tool-browser — 全浏览器自动化(JS 密集型站点)