Simon Willison 在其博客上發佈了一篇研究筆記,記錄了對 Jeff Lindsay 開發的小型開源項目 webframe 的評估。webframe 的核心理念是“把網頁當作程序來運行”:用户給它一個網址或本地文件,它就會在一個隱藏的無頭 Web 視圖中執行該頁面,並把頁面裏的 console.log() 輸出到標準輸出,把拋出的異常輸出到標準錯誤。這讓它同時具備腳本執行器和頁面加載器的雙重身份。
從技術實現上看,webframe 使用 Go 語言編寫,建立在 glaze 庫之上。glaze 的作用是訪問操作系統自帶的瀏覽器組件——在 macOS 上是 WKWebView,在 Linux 上是 WebKitGTK,在 Windows 上是 WebView2。因此 webframe 自身不必捆綁任何瀏覽器引擎,體積得以保持很小。Simon Willison 認為它與自己的 shot-scraper javascript 工具思路相近,但 webframe 的包體明顯更小,而且不依賴 Playwright 這一整套較重的自動化框架。
為了系統地檢驗這個項目,Simon 讓 Claude Opus 5.5 實際動手跑一遍。他給出的提示要求模型瀏覽 webframe 的 GitHub 倉庫、嘗試運行它、充分測試其功能、構建若干探索性原型,然後從兩個角度做出評價:一是它作為沙箱工具的潛力,二是它作為網頁抓取工具的可用性,並且抓取評價要參照 shot-scraper JavaScript 命令所倡導的使用模式。
評估得出的總體結論是:webframe 是一個快速、輕量的瀏覽器 JavaScript 運行器,適合用於網頁抓取,性能表現與 shot-scraper 處於同一水平。但報告同時指出它有幾個不可忽視的粗糙之處。首先,它可能受到內容安全策略(CSP)的阻斷而導致執行失敗;其次,它使用的視口是 0×0,這意味着依賴頁面尺寸的腳本可能行為異常;第三,某些頁面加載會卡住不返回;第四,它缺少可供使用的 HTTP 元數據;最後,它對瀏覽器的控制能力相當有限。這些問題使得它目前更適合輕量、可控的抓取任務,而不是作為通用或強隔離的沙箱方案。
這篇研究筆記收錄於 Simon Willison 的博客,發佈日期標註為 2026 年 10 月 26 日,相關標籤包括瀏覽器、Go、JavaScript、Jeff Lindsay 以及 shot-scraper。對於關注無頭瀏覽器、網頁抓取與輕量執行環境的人來説,這份評估提供了一個有價值的實踐參考。