📽️
装进一个文件的幻灯片软件
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 |
🖼️ 效果图与演示
官方宣传主视觉 · 适配单个文件的办公套件:

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

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

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

官方在线体验在 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 工具实操教程