5.5k Star:装进一个文件的幻灯片软件——Bento(单 HTML 文件=编辑器+演示器+播放器,本地优先/AI 可编辑/E2EE)完整教程

26次阅读
没有评论

📽️

装进一个文件的幻灯片软件

Bento(bento/slides):单个 HTML 文件 = 编辑器 + 演示器 + 播放器。无账号、无安装,保存时文件自己重写进你的内容

MIT
TypeScript
5.5k Star
本地优先 · AI 可编辑

📖 它是什么

Bento(仓库 nyblnet/bento)是一个"装进一个文件的幻灯片软件"。卖点只有一句话:这份 PPT 替代品就是一个 HTML 文件。这个文件自带查看器、演示器和编辑器——用浏览器打开就能编辑、放映、发送;发给谁都不需要装任何东西,因为文件本身就是软件。

作者对"Office 文档从'拥有'变成'租用'"很不满:现在文档被锁在某个公司的云里、背后是登录、服务器一关就读不了。Bento 走相反的路:一个文件,永久有效——幻灯片的字体、图片、图表、动画和整套编辑器都跟着文件走,2026 年的文件 2036 年照样能打开。数据就明文放在文件顶部一个可读的 JSON 块里,没有二进制格式、没有锁定、不用考古。

当前版本 bento/slides 是第一个应用(PPT 替代品,约 560 KB 的 shell),项目还规划了 bento/spaces(笔记)、bento/dash(表格)、bento/vault 后续应用,每个都是各自自包含的 .bento.html 分发包。MIT 协议,GitHub 已 5,518 Star,2026-07 建仓、仍活跃更新。

📎 GitHub:github.com/nyblnet/bento | 官网:bento.page | 在线体验:bento.page/slides(10 秒上手)

✨ 核心亮点

📄

一个文件,永久

字体/图/图表/动画/编辑器都随文件走,2026 的文件 2036 还能开

🛡️

本地优先

数据明文在文件顶部 JSON 块,可离线、无云锁定、无二进制格式

🤖

为 AI 设计

文档就是明文 JSON,Claude Code/Cursor 可直接改 .bento.html,离线也能跑本地模型

🔐

E2EE 协作

实时协作端到端加密(AES-GCM),密钥存在文件里,文件本身即邀请函

🖥️ 环境要求

最终产物 一个 .bento.html(约 560 KB)——浏览器打开即编辑器,谁都不需要装软件
运行 任意现代浏览器;编辑建议桌面(手机可查看/放映)
从源码构建 Node 20+ 与 npm(无后端,单页构建)
AI 协作(可选) Claude Code / Cursor / Aider 等;本地模型可指 Ollama / llama.cpp / LM Studio
协作中继(可选) server/sync-worker 盲中继,只存密文、读不到内容

🚀 上手步骤

⚡ 10 秒上手:浏览器打开 bento.page/slides——整个 app 就在那儿,预装的起始演示稿就是功能导览;或从 bento.page / GitHub Releases 下载那个单文件 Bento_Slides.bento.html,双击打开,它本身就是编辑器。

① 拿到你的第一个 .bento.html(二选一)

浏览器打开 https://bento.page/slides ← 整个 app,即开即用
# 或下载单文件版:
# 官网 Releases:https://bento.page/releases/slides/Bento_Slides.bento.html
# 或 GitHub Releases 页下载 Bento_Slides.bento.html(约 560 KB,无账号无安装)

② 编辑 → 保存(文件会自己重写)

在浏览器里打开 Bento 文件,它就是完整编辑器:加页、拖元素、插入图表、加评论。点保存,文件通过 File System Access API 把自己的数据块重写进同一个文件(不支持时自动转下载)。你得到的还是一个 .bento.html,只是里面装进了你的内容。

③ 发给别人 / 演示

把 .bento.html 发出去,对方浏览器打开就能看、能演、还能改。对方什么都不用装。放映用 Morph 演示(同一元素跨页自动动画)、演讲者视图、隐藏交互态。可导出 PDF。

④ 让 AI 帮你改(明文 JSON)

/plugin marketplace add nyblnet/bento # Claude Code 装 bento-slides skill
# 之后直接让 Claude Code / Cursor 改你的 .bento.html,它在原地编辑 JSON

文档是文件顶部的一段可读 JSON(#bento-doc),任何能读写文件的 agent 都能直接改,不用插件。聊天机器人也能:保存 → 复制文档 JSON → 让 AI 重写 → 粘回。它还能配 Ollama / llama.cpp 本地模型,完全离线跑。

⑤ 多人协作 / 从源码构建(进阶)

# 从源码构建(需要 Node 20+)
cd slides
npm install
npm run dev # dev server: http://localhost:5173
npm run build:single # → dist-single/Bento_Slides.bento.html(成品)

# 多人协作:E2EE 密钥在文件里,谁打开副本谁加入
# 可自建盲中继 server/sync-worker(只存密文)

关键信息速查

一句话 Office 套件"装进一个文件",当前先做 PPT 替代品 bento/slides
产物 Bento_Slides.bento.html(约 560 KB,自带编辑器/演示器/播放器)
数据 明文 JSON 块在文件顶部(#bento-doc),可离线、无锁定
协作 E2EE(AES-GCM)+ 自有 CRDT,文件即邀请函
图表 柱/线/饼/散点,自研引擎,演示时可交互可变形
AI Claude Code / Cursor 直接改 .bento.html;本地模型离线可跑
协议 MIT

🖼️ 效果图与演示

官方宣传主视觉 · 适配单个文件的办公套件:

5.5k Star:装进一个文件的幻灯片软件——Bento(单 HTML 文件=编辑器+演示器+播放器,本地优先/AI 可编辑/E2EE)完整教程

单文件幻灯片编辑器(演示示意):

5.5k Star:装进一个文件的幻灯片软件——Bento(单 HTML 文件=编辑器+演示器+播放器,本地优先/AI 可编辑/E2EE)完整教程

Morph 转场 · 同一元素跨页自动动画(演示示意):

5.5k Star:装进一个文件的幻灯片软件——Bento(单 HTML 文件=编辑器+演示器+播放器,本地优先/AI 可编辑/E2EE)完整教程

明文 JSON + AI 可编辑 + 本地优先(演示示意):

5.5k Star:装进一个文件的幻灯片软件——Bento(单 HTML 文件=编辑器+演示器+播放器,本地优先/AI 可编辑/E2EE)完整教程

官方在线体验在 bento.page/slides——那本身就是完整 app,预装的起始稿就是功能导览,10 秒就能自己试。

🎯 典型玩法

🎤 演示汇报:PPT 替代,Morph 动效自动生成,演讲者视图 + 评论

📤 发文件给对方:一个 .bento.html 发出去,对方零安装、浏览器打开即用

🤖 AI 帮你做稿:让 Claude Code/Cursor 直接改 JSON 文档,或复制 JSON 给任何聊天机器人

👥 多人协作:E2EE 实时协作,密钥在文件里,离线也能改、之后合并

🕐 长期存档:纯明文、无锁定,2026 的文件 2036 照样打开,不怕公司关停

🔌 离线使用:可完全离线,配本地开源模型(Ollama/llama.cpp)做 AI 编辑

📊 和同类做法比

PowerPoint 装 Office、存 .pptx;单机可打开,但格式/字体按版本,文件是二进制
在线 PPT(Google Slides / Canva / 飞书) 网页登录、存云端;协作方便,但被锁定在云、要登录、服务一停就读不了
Bento 一个 .bento.html;单文件自带编辑器+演示器+播放器,明文 JSON 可离线、可 AI 直改、E2EE 协作

⚠️ 已知取舍:实时协作中的撤销是快照式,可能把协作者的并发编辑恢复到同一属性;编辑以桌面优先,手机适合查看和放映。协作中继只能自建可选(默认不开)。

原理一句话:Bento 把"软件"和"文档"装进同一个文件——数据以明文 JSON 块存在文件顶部,一个渲染器同时驱动编辑器画布、缩略图和放映模式(Reveal.js 只做导航),动画、图表、协作都是自研引擎,整个 shell 压缩到约 560 KB。保存时文件用 File System Access API 重写自己的数据块,所以"文件就是软件"。

❓ 常见问题

Q:这是要安装什么吗?

不用。最终产物是一个 .bento.html 文件(约 560 KB),任何现代浏览器双击就能打开,它本身就是编辑器。发给别人对方也不需要装任何东西。

Q:和 PPT 有什么区别?

PPT 是"文档",Bento 是"装进文件的软件":这个文件自带查看器、演示器、编辑器,数据以明文 JSON 存在文件顶部,可离线、可 AI 直接读写、可 E2EE 协作,2026 的文件 2036 年照样打开。

Q:数据安全吗?

本地优先:可离线,东西默认不出你的机器。实时协作端到端加密(AES-GCM),密钥只在文件里,持有文件 = 成员身份;可选的中继是"盲中继",只存密文、读不到内容。

Q:怎么让 AI 帮我改幻灯片?

文档是文件顶部一段明文 JSON(#bento-doc)。Claude Code / Cursor 等能读写文件的 agent 直接改 .bento.html 就行;Claude Code 可装 bento-slides skill(/plugin marketplace add nyblnet/bento)。聊天机器人则复制文档 JSON → AI 重写 → 粘回。配 Ollama / llama.cpp 可完全离线跑。

Q:能多人一起编辑吗?

能。E2EE 实时协作,密钥在文件里、文件就是邀请函,谁打开副本谁加入;离线编辑靠自有 CRDT 精确合并回去。

Q:支持哪些图表?

内置柱状/折线/饼图/散点,自研无依赖引擎,演示时能交互(tooltip、缩放),还能把柱状图 morph 成饼图这类变形。

Q:能从源码构建吗?

能。Node 20+ 与 npm,cd slides 后 npm install、npm run dev(开发)、npm run build:single 产出 dist-single/Bento_Slides.bento.html。无后端。

Q:免费吗?协议?

免费,MIT 协议(© 2026 The Bento authors)。内置的 reveal.js/Moveable/Selecto 也是 MIT,字体(Fraunces/Instrument Sans)是 OFL,可商用、可二开。

📽️ GitHub 搜索 nyblnet/bento | 官网 bento.page | 在线体验 bento.page/slides

关注「AI工具匠」,获取更多 AI 工具实操教程

正文完
 0
评论(没有评论)