3分钟跑通 OpenCode WebFetch:终端一键抓取网页并转 Markdown 3分钟跑通 OpenCode WebFetch终端一键抓取网页并转 Markdown【免费下载链接】opencodeThe open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/openc/opencode周二晚上十点后端值班同事在跳板机上排查支付网关对接问题需要把供应商的一篇 API 文档快速抓进 runbook。无头机器装不了浏览器curl 加 sed 又写得痛苦。OpenCode开源终端编码智能体内置的 WebFetch 网页抓取工具就是干这个的给它一个 URL它负责请求、判类型、转格式吐出来的是能直接贴进文档的 Markdown 或纯文本。它到底能帮你做什么抓取任意 http/https 地址不需要浏览器参与按格式输出markdown、text、html 三选一自动把 HTML 转 Markdown保留标题、列表、代码块提取纯文本时自动跳过 script、style 等噪音节点限制 5MB 响应上限防止大页面撑爆上下文内置权限关卡可配置为每次抓取前征求确认5 分钟跑通第一个请求webfetch 不是独立命令行子命令而是智能体的内置工具——你负责说清楚要什么它负责调用。没装过 OpenCode 的话先npm install -g opencode-ailatest。# 一句话抓页面、转 Markdown交给文档目录 opencode run 用 webfetch 抓取 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Arrayformat 用 markdown把正文整理成文档写入 docs/array.md # 只要纯文本、限定超时不落盘 opencode run 用 webfetch 抓取 https://example.comformat 用 texttimeout 10 秒直接在终端展示参数类型作用默认值urlstring目标地址必须以 http:// 或 https:// 开头必填formatenum输出格式markdown / text / htmlmarkdowntimeoutnumber超时时间秒超过 120 会被截到 12030第一条命令的白话版让智能体替你打开那个文档页把 HTML 翻译成 Markdown顺手写进仓库——全程不用碰浏览器和 curl。幕后机制它是怎么工作的整个工具就 190 来行真正影响使用体验的是两处设计。第一处5MB 上限是两次校验、超限即报错不是截断。先看请求头预判下载完再复核实际字节const contentLength response.headers[content-length] if (contentLength parseInt(contentLength) MAX_RESPONSE_SIZE) { throw new Error(Response too large (exceeds 5MB limit)) } const arrayBuffer yield* response.arrayBuffer if (arrayBuffer.byteLength MAX_RESPONSE_SIZE) { throw new Error(Response too large (exceeds 5MB limit)) }用大白话说头一次看 content-length 头服务端自己报的大就直接拒省得白下载第二次看真实收到的字节数防的是头信息说谎。所以遇到 Response too large 别重试——这个页面就是超了换个小一点的目标。出处packages/opencode/src/tool/webfetch.ts#L96-L104第二处被 Cloudflare 拦截时会自动换身份重试一次。默认请求带桌面 Chrome 的 User-Agent同时按 format 组装 Accept 头很多站点看到text/markdown偏好会直接回 Markdownyield* httpOk.execute(request).pipe( Effect.catchIf( (err) err.reason.response.status 403 err.reason.response.headers[cf-mitigated] challenge, () httpOk.execute( HttpClientRequest.get(params.url).pipe( HttpClientRequest.setHeaders({ ...headers, User-Agent: opencode }) ) ) )用大白话说403 且响应头带cf-mitigated: challenge说明撞上 Cloudflare 的 JS 质询此时把 UA 换成坦坦荡荡的 opencode 再试一次再 403 就是人家铁了心要拦换参数也没用。出处packages/opencode/src/tool/webfetch.ts#L79-L93真实场景演练把供应商文档搬进 runbook对接第三方 API需要把规范页转成 Markdown 存档。opencode run 用 webfetch 抓取 https://api.example.com/docsformat 用 markdown只保留端点和参数表写入 docs/api.md预期结果智能体拿到 HTML 后用 Turndown 转换标题转 atx 风格、代码块转围栏式再由 write 工具落盘docs/api.md 可以直接 git diff 评审。让智能体看见缺陷工单里的截图QA 在 issue 里贴了张截图链接定位问题得先看图。opencode run 用 webfetch 抓取 https://bugs.example.com/1042/screenshot.png告诉我哪个组件在报错预期结果响应 Content-Type 是图片时工具不返回文本而是把图片打包成 base64 附件交给多模态模型输出类似 Image fetched successfully 外加视觉分析。这一步很多人没注意图片 URL 走的是附件通道不是 OCR。团队环境收紧抓取权限CI 流水线里不想让智能体随手抓外网在opencode.json里加一行{ permission: { webfetch: ask } }预期结果此后每次 webfetch 调用都会先弹出确认展示目标 URL可选仅本次或始终允许改成deny则所有抓取直接拒绝。权限项的完整 schema 见 packages/core/src/v1/config/permission.ts#L29。踩坑与调优⚠️页面超过 5MB 会直接报错不是截断返回✅收到 Response too large (exceeds 5MB limit) 别原样重试——把目标收窄到具体文档页或找同站点的 API/RSS 轻端点两次大小校验请求头 实际字节都卡死在这条线上。⚠️timeout 传 300 实际只跑 120 秒✅上限 120 秒是写死的MAX_TIMEOUT传更大的值会被静默截断慢站点应该拆小抓取范围或换轻量端点默认 30 秒对绝大多数文档站够用。⚠️Cloudflare 等反爬站点重试一次后仍可能 403✅换同域可抓的替代入口文档 API、RSS 镜像或让智能体改用 websearch 工具找可抓的副本UA 重试只有质询 403这一种触发条件。⚠️抓图片 URL 拿不到图片内容文本✅输出固定是 Image fetched successfully本体在 base64 附件里只有多模态模型能消费想把图片存到磁盘老老实实用 curl。下一步想先搜到要抓哪页配合内置的 websearch 工具搜索→抓取的完整链路一句话就能串起来看看 packages/opencode/src/tool/ 目录下的 read、grep、write 等工具和 webfetch 拼成抓取→整理→落盘流水线遇到抓不动的站点把 403 响应头贴进 Issue比干等有效得多觉得有用就 Star 一下或者把你的踩坑记录提个 Issuegit clone https://gitcode.com/GitHub_Trending/openc/opencode【免费下载链接】opencodeThe open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/openc/opencode创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

文献综述引用太少、结构混乱怎么办:分类整理与Word导出方法

文献综述引用太少、结构混乱怎么办:分类整理与Word导出方法

文献综述引用太少、结构混乱怎么办:分类整理与Word导出方法在向导师提交心理学与认知神经科学方向的开题报告或学位论文初稿时,不少同学都会收到类似的严肃批注:“文献综述引用太少、结构混乱,缺乏清晰的实验范式分类与认知神经机…

2026/8/29 15:26:55
研究生开题报告从选题到技术路线怎么写:八千字初稿结构与流程

研究生开题报告从选题到技术路线怎么写:八千字初稿结构与流程

研究生开题报告从选题到技术路线怎么写:八千字初稿结构与流程 进入硕士与博士研究生阶段,开题答辩是决定课题能否顺利立项的关键战役:研究生开题报告从选题到技术路线怎么写?一份规范的开题报告通常要求在 8000 字以上&#xff0…

2026/8/29 15:26:55
MinerU Gradio WebUI 完整指南:5 分钟把 PDF 和 Office 文档转成 Markdown

MinerU Gradio WebUI 完整指南:5 分钟把 PDF 和 Office 文档转成 Markdown

MinerU Gradio WebUI 完整指南:5 分钟把 PDF 和 Office 文档转成 Markdown 【免费下载链接】MinerU Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows. 项目地址: https://gitcode.com/GitHub_T…

2026/8/29 15:26:55
触宝科技校招笔试题复盘:字符串压缩、二叉树与LIS全解析

触宝科技校招笔试题复盘:字符串压缩、二叉树与LIS全解析

前几天有个学弟来问我,说想看看“触宝科技2017秋季校招研发笔试题(第四批)”到底是什么难度,值不值得刷。我翻了一下当年的记录,这套题放在今天看依然有很强的参考价值。它不算难,但非常有代表性,属于那种“看起来都会…

2026/8/29 15:26:55
Hoppscotch 免费开源 API 测试工具:三步跑起来的完整新手指南

Hoppscotch 免费开源 API 测试工具:三步跑起来的完整新手指南

Hoppscotch 免费开源 API 测试工具:三步跑起来的完整新手指南 【免费下载链接】hoppscotch Open-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, …

2026/8/29 15:26:55
网络协议栈代码审查要看哪些问题

网络协议栈代码审查要看哪些问题

网络协议栈代码审查要看哪些问题协议栈的代码往往在理想网络里显得很干净:一端写,一端读,消息顺序正确,连接也会正常关闭。真实网络却会带来分片、合包、乱序、重复、半开连接、超时和恶意输入。评审的重点不是证明一次往返能成功…

2026/8/29 15:21:54