kage(影,「shadow」)是一套開放原始碼(MIT)、純 Go 的命令列工具,能將整個網站複製成一個只含 .html 檔案的普通資料夾,且所有指令碼都已移除。它會逐頁驅動無頭 Chrome、等待頁面穩定、快照渲染後的 DOM、刪除所有 script 標籤、事件處理常式與 javascript: URL,並下載 CSS、圖片與字型,改寫成相對的本機路徑。指令涵蓋 clone、serve、pack 與 open;鏡像可收攏成 ZIM 封存檔(Kiwix 背後的開放格式),或收攏成約 13 MiB 的自包含執行檔加上內容,讓人在無需安裝任何東西的情況下離線瀏覽該網站,並可選擇 --app 桌面版建置,以及會在原生視窗中開啟的 webview 建置。它以免費容器映像形式發布於 ghcr,內附 Chromium,另有 Homebrew、Scoop、apt 與 dnf 套件。

使用者要的是整個網站,不是單一頁面:用無頭 Chrome 渲染、快照人類看到的 DOM、移除每一個指令碼,並讓結果可離線瀏覽。

Duc-Tam Nguyen(tamnd)打造 kage,源於「另存新檔」為人熟知的失敗經驗:幾個月後,存下來的頁面一打開是空白、顯示無止盡的轉圈,或仍會回連到早已失效的分析伺服器。他形容這種頁面從來就不真正屬於你——它只是別人 JavaScript 的薄客戶端——並於 2026-06-14 以「Shadow any website to a single binary for offline viewing」為標語,在 Show HN 發布這套工具。

該討論串迅速竄紅,獲得 712 分與 141 則留言。留言者將 kage 與 SingleFile 相比,並詢問它與「另存新檔」有何不同;Nguyen 澄清 kage 會鏡像整個網站及其所有子頁面——他舉的例子是 Paul Graham 的所有文章,供離線閱讀——而 SingleFile 只打包單一頁面。他也提到一個更大的總體願景:打造一套開放原始碼的「從零開始的 Google」,包含爬蟲、索引器、儲存與服務層。Gigazine 於 2026-07-25 以英文報導 kage,逐步示範用 Docker 複製 gigazine.biz、ZIM 打包,以及由 0.3.10 版建置而成、大小 24.4 MiB 的 Windows 單一執行檔檢視器。

截至 2026-09-02,kage 仍是一個獨立、以 MIT 授權的開放原始碼專案,沒有公司或資金支持;其儲存庫記載了套件管理器安裝方式、內附 Chrome 的容器,以及包含 Chrome 驅動端對端測試的完整測試套件,而文件網站 kage.tamnd.com 也持續成長。

「另存新檔」產生的副本仍會回連外部,或當標記是在執行階段由 JavaScript 建構時會渲染成空白。

SingleFile 解決了單一頁面的問題,卻把整個網站鏡像——也就是真正的封存用途——留給較不忠實的工具。

無頭 Chrome 讓鏡像能在移除任何 JavaScript 之前,先擷取人類所見的內容。

ZIM 等開放格式讓封存檔能被其他工具(Kiwix)讀取,而不是把使用者鎖在專案裡。

自包含執行檔意味著收件者無需安裝任何東西就能讀取鏡像。

先渲染、後移除:先快照人類所見的內容,再移除執行階段,如此「另存新檔」的副本就會變成任何人都能離線開啟的耐久產物。

截至 2026-09-02,kage 仍是一個獨立的 MIT 專案,沒有公司或資金支持。開發仍活躍:爬蟲會讀取 robots.txt、從 sitemap.xml 取得種子、續跑中斷的執行,且每個 URL 只抓取一次;打包具決定性,鏡像相對路徑會對應進封存檔。發布自動化會產出多平台執行檔、套件、內附 Chrome 的容器、SBOM 與簽章。作者將 kage 連結到一個更大的開放原始碼搜尋技術堆疊。已知取捨:爬取需要 Chrome/Chromium、ZIM 封裝不含 Kiwix 的全文索引,而執行檔在內容之外會增加約 13 MiB。

追溯依據

參考來源

  1. tamnd/kage: Shadow any website for offline viewing, with the JavaScript stripped out GitHub · github.com
  2. Show HN: Kage - Shadow any website to a single binary for offline viewing Hacker News · news.ycombinator.com ·
  3. 'kage' removes JavaScript from web pages, saves the entire site locally, and allows you to view it offline Gigazine · gigazine.net ·
  4. About - Duc-Tam Nguyen tamnd.github.io · tamnd.github.io