Bun 1.4 发布 Bun.WebView,150 行代码实现浏览器自动化 JSON API
Bun 1.4 稳定版发布,带来实验性的 Bun.WebView 浏览器自动化 API。开发者 Simon Willison 用约 150 行 TypeScript 构建了一个 shot-scraper 风格的 JSON API,无需 Puppeteer 或 Playwright 即可执行 JavaScript 和截图。该服务通过 /javascript、/screenshot 和 /healthz 端点返回 JSON 结果,每个请求创建独立浏览器标签页,支持并发。
Bun 1.4 正式发布,这是自几个月前备受争议的 Rust 重写以来的首个稳定版本。值得注意的是,发布说明淡化了 Rust 重写,转而列出了大量新功能并声称修复了 2,900 个问题:Node.js 兼容性测试新增 1,517 项,空闲 CPU 使用率降低 5 倍,内存使用减少 35%,Linux 上启动速度快 50%。
新增功能包括 Bun.Image、Bun.WebView、Bun.markdown、Bun.cron()、Bun.Terminal 以及 bun run --parallel 等命令。其中最引人注目的是 Bun.WebView,它为 Bun 核心提供了浏览器自动化的第一等支持,可通过 macOS WebKit 或通过 Chrome DevTools 协议控制本地 Chromium 进程。
Simon Willison 利用 Claude Code 构建了一个原型,这是一个零依赖的 TypeScript 服务,约 150 行代码,实现了类似其 shot-scraper 工具的 JSON API。该服务每个请求创建一个浏览器标签页,支持并发,并通过 /javascript、/screenshot 和 /healthz 端点返回页面结果和错误。实测运行完整 Chrome 处理复杂网页需要约 192MB-256MB 内存(通过 cgroups 测试)。
本文由程序自动抓取公开报道,经 AI 筛选与改写生成,未经人工逐条核实,事实以原文为准。