Bento - 裝在單個HTML檔案裡的簡報套件
nyblnet/bento
PowerPoint 開源替代品,整個應用+資料+編輯器打包在一個 HTML 檔案裡,瀏覽器直接開啟即可編輯和演示,無需安裝任何軟體
成熟度:維護活躍,最近提交0天前,14個open issues,近期剛釋出v1.0.10版本
项目体检
许可 · MIT 协议,可自由商用、修改和分发
活跃 · 活跃开发中,最新版本 v1.0.10 发布于1天前,4位贡献者参与,最近提交于今日
解決什麼
當代辦公軟體正在將文件變成"租賃品"——鎖在雲端、依賴賬號、需要持續訂閱才能訪問。Bento 迴歸文件的本質:一個 560KB 的 HTML 檔案裡裝著完整的簡報應用,包括檢視器、編輯器、演示模式和你的所有資料。開啟檔案就是開啟軟體,儲存時檔案會重寫自己,2026年建立的檔案在2036年依然能用任何瀏覽器開啟。這是對"軟體即服務"模式的反叛,用單檔案架構實現真正的資料所有權。
為何火
在 Hacker News 獲得 1019 點贊和 238 條討論,核心吸引力在於其激進的技術哲學:檔案本身就是完整應用。創始人在討論中透露,檔案頂部是明文 JSON 資料塊,下方是 base64 壓縮的應用程式碼,瀏覽器用 DecompressionStream 解壓後執行。這種設計讓開發者想起 TiddlyWiki 和 HyperCard,但用例更明確——可編輯的簡報。社群特別關注其即時協作功能,多人同時編輯時通過 Cloudflare Durable Objects 實現端到端加密同步,伺服器只看到密文。有使用者在"留言板"簡報中即時看到其他人的編輯,驗證了協作的真實性。
核心功能
形態動畫(Morph Presenting)是殺手級特性:給元素設定相同 id,在幻燈片間自動生成位置、大小、顏色甚至漸變的過渡動畫,複製幻燈片重新排列即可設計動效。即時協作採用自研 CRDT 演算法,AES-GCM 端到端加密,金鑰存在檔案裡而非伺服器,開啟檔案副本即加入協作,離線編輯會精確合併。內建圖表引擎無依賴繪製柱狀圖/折線圖/餅圖/散點圖,演示時支援工具提示和縮放,圖表型別切換時資料會動畫過渡。AI 原生設計讓 Claude Code、Cursor 等工具直接編輯檔案中的 JSON 塊,或通過聊天介面複製貼上 JSON 往返編輯,支援 Ollama 等本地模型完全離線工作。還有演講者檢視、評論、佈局系統、PDF 匯出等完整功能,全部壓縮在 560KB 裡。
安裝
無需安裝。從 GitHub Releases 或 bento.page 下載 Bento_Slides.bento.html 檔案(560KB),用 Chrome/Edge/Firefox 等現代瀏覽器開啟即可編輯。儲存時瀏覽器會提示選擇儲存位置(通過 File System Access API),或降級為下載新檔案。開發者若要從原始碼構建,需 Node 20+ 環境,在 slides/ 目錄執行 npm install && npm run build:single 即可生成單檔案產物。
適合誰
追求資料自主權的個人和小團隊,尤其是對雲服務鎖定有顧慮的使用者。適合需要長期歸檔簡報的場景(教育、研究、合規),因為檔案格式是明文 JSON 且不依賴外部服務。開發者和 AI 愛好者會喜歡其可程式設計性——檔案就是資料結構,可以用指令碼批次生成或讓 AI 助手直接修改。不適合需要企業級許可權管理的大型組織(協作基於共享金鑰,缺少細粒度身份認證),移動端編輯體驗也相對弱(主要為桌面最佳化,手機端檢視和演示良好)。
社群評價
HN 社群熱度極高,討論聚焦在三個方向:技術實現的巧妙性——創始人解釋檔案結構後,開發者紛紛稱讚"這就是我一直想要的 TiddlyWiki 用例",有人將其比作現代版 HyperCard。協作的可行性引發爭議:有使用者在留言板測試時發現每次收到更新就失焦,導致多人同時編輯困難(創始人承諾修復);也有人質疑 Cloudflare Durable Objects 的成本,創始人回應稱經過計算在預算內。命名爭議有趣:有人認為應叫"幻燈片"而非"PowerPoint"(後者是微軟商標),但多數人承認 PowerPoint 已被泛化為"電子幻燈片"的代名詞,就像 Kleenex 代表紙巾。正面觀點集中在"終於有人做出真正本地優先的辦公軟體",負面擔憂主要是協作體驗的邊緣情況和長期維護能力。
選型對比
vs PowerPoint/Google Slides:Bento 犧牲了模板豐富度和企業整合(無 SSO、審批流),換來資料永久可讀和零依賴。PowerPoint 檔案格式是二進位制黑盒,Google Slides 需要 Google 賬號且隨時可能調整 API,Bento 的 JSON 格式保證 10 年後仍可用文本編輯器讀取。協作方面 Bento 的 E2EE 更私密,但缺少 Google Slides 的版本歷史 UI 和評論執行緒。vs Reveal.js/Slidev:後兩者是開發者工具,需要 Markdown 編寫和構建步驟,Bento 是所見即所得編輯器且無需 Node 環境。Reveal.js 使用者需要單獨託管 HTML,Bento 檔案自帶播放器。vs Notion/Gamma:這些現代工具依賴雲端,Bento 可完全離線且檔案可自由分發,但 Notion 的資料庫和 Gamma 的 AI 生成能力更強。選擇 Bento 的核心理由是"檔案即所有權",代價是放棄雲端生態的便利性。
已知坑
- 協作併發衝突:文件承認撤銷操作在協作時是基於快照的,可能回退協同者對同一屬性的編輯,這是 CRDT 設計的權衡。實測中多人編輯同一文本框會頻繁失焦(已在修復列表)。
- 移動端限制:編輯功能主要為桌面瀏覽器最佳化,手機上檢視和演示沒問題,但複雜編輯操作體驗不佳。
- 協作成員管理:基於共享金鑰的設計意味著"擁有檔案=擁有許可權",踢人的唯一方式是"輪換金鑰"生成新檔案,無法像企業工具那樣細粒度控制角色。
- 瀏覽器相容性:依賴 File System Access API(Chrome/Edge 支援良好,Firefox 部分支援),Safari 會降級為下載模式。DecompressionStream 需要較新瀏覽器(2020年後)。
- 檔案大小:嵌入大量圖片後文件會膨脹(所有資源 base64 內聯),雖然壓縮但仍比雲端引用方案佔空間。中國大陸使用者若使用協作功能,需確保能訪問 Cloudflare Workers(通常無需特殊網路配置,但企業網路可能攔截 WebSocket)。
安装方式:下载单个HTML文件直接用浏览器打开