不是搜索
它不会替你满网找结果。你得先有 URL。
Tools 导读
`web_fetch` 默认启用,直接传 URL 就能拿到 Markdown 或纯文本内容。它不做 JS 渲染,遇到动态页面或需要登录的网站,换成 Web Browser 工具。最常踩的坑是以为它能像浏览器一样加载页面,其实它只做一次 HTTP GET 然后提取正文。
先讲这一页到底在解决什么
`web_fetch` 默认启用,直接传 URL 就能拿到 Markdown 或纯文本内容。它不做 JS 渲染,遇到动态页面或需要登录的网站,换成 Web Browser 工具。最常踩的坑是以为它能像浏览器一样加载页面,其实它只做一次 HTTP GET 然后提取正文。
第一站
web_fetch 最适合的场景,不是“我还不知道去哪儿”,而是“我已经知道具体网址了,帮我把主要内容拿回来”。
它不会替你满网找结果。你得先有 URL。
像派抄写员进一间房,把主要文字内容摘出来。
它不会点按钮,不会跑前端脚本,不会帮你登录。
搜网页用 search,进网页操作用 browser,拿单页正文用 fetch。
第二站
官方说它默认开启,这意味着你通常不用先配钥匙、挑 provider、做复杂设置。
await web_fetch({ url: "https://example.com/article" })像直接把一张网址纸条递给抄写员,说:“去,把这页的主要内容抄回来。”
因为不用先搜一轮,也不用真的打开浏览器窗口。它就是一次 HTTP GET 加一次内容提取。
如果页面要靠 JavaScript 动起来,或者必须先登录,它看到的就可能只是空壳,像只抄到了门口告示板。
web_fetch 是“轻抓取”,不是“全功能网页操控”。
第三站
官方把它拆成 Fetch、Extract、Fallback、Cache 四步。翻成人话,其实是一条很顺的流水线。
像先到网页门口敲门,把 HTML 原文拿回来。它会带着像浏览器的 User-Agent 去,免得一进门就被当奇怪机器人赶出去。
像把网页上的广告、侧边栏、杂乱导航尽量拨开,优先抄正文。
如果普通抄写法失败了,而你又配了 Firecrawl,它会像请一个更会钻缝的助手再试一次。
像刚抄过的那页会先放进抽屉里 15 分钟,别同一页短时间重复抄很多遍。
第四站
这也是它为什么适合日常快用。参数少,脑子负担小。
url像门牌号。没有它,抄写员根本不知道该去哪。
extractMode: "markdown" | "text"像决定抄回来时要不要尽量保留标题、列表这些结构。markdown 更像整理过的笔记,text 更像纯文字抄本。
maxChars像提前说:“别整本都搬回来,最多抄这么长。”
给网址、选抄法、限制长度,就够了。
第五站
官方这段不能跳,因为它解释了为什么有些网页普通 fetch 不行,但你配了 Firecrawl 后又能多救回来一点。
先用本地这套轻量方法抽正文。快,也省事。
如果第一层抽不出来,而你已经给 Firecrawl 配好钥匙,它就像第二梯队上场,再帮你闯一次。
像你明明说“失败了就叫第二队”,结果第二队的工牌根本不在。与其中途才掉链子,不如启动时就先提醒你。
Firecrawl 不是默认主角,而是 fetch 失败时的救场队员。
第六站
这页后面那些上限,不是在烦你,而是在保护系统别因为一张离谱网页被拖进坑里。
maxCharsCap像就算你临时说“多抄一点”,系统也会看总上限,不会让你无限搬书回来。
maxResponseBytes像先规定这次最多搬多大的纸箱,太大的页面会被截断,不然容易把整个流程拖慢。
像抄写员被明确告知:私宅、内网、后台机房这种门牌,不许乱进。
maxRedirects像如果门卫一直说“你去隔壁”“再去下一个”,系统不会无限追着跑,拐几次弯就会停下。
最后总结
web_fetch 就是一个轻量抄写员:你给它一个具体网址,它尽量把正文干净地抄回来;但遇到要登录、要 JS、要复杂交互的页面,就该换 /tools/browser 上场。
如果你下一页只想继续看一页,我建议看 /tools/firecrawl。因为一旦普通抓取不够用,很多人下一步自然就会问:那谁来当第二梯队救场。