
一个文件,就是整套办公软件
你电脑里最占地方、又最不让人放心的东西是什么。多半不是照片,是那些格式封闭的办公文件。一份三年前的 PPT,今天用新电脑打开,字体跑了、动画没了,搞不好干脆打不开。我们以为自己在拥有文档,其实只是在租用某家公司的格式。上周 GitHub 上杀出一个叫 Bento 的项目,一句话把自己说清楚了,The office suite that fits in a file。一个文件,就是整套办公软件。它现在 3800 多星,做的事简单到有点不讲道理,把一份 PowerPoint 该有的东西,全塞进一个约 560KB 的 HTML 文件里。
好家伙,这种项目最容易被当成玩具。但你真点开看它的设计,会发现它赌的是一件比「轻量 PPT」大得多的事,文档这个东西,到底该长什么样。今天我们就把它拆开看看,它凭什么敢说自己是一套办公套件,又凭什么能蹭上这阵子最热的本地优先加开放权重的风。
它到底是什么,又为什么能火
Bento 不是又一个在线文档工具,也不是又一个云盘里的编辑器。它是一个单 HTML 文件,而这个文件自己就是应用。你下载下来的那个 Bento_Slides.bento.html,约 560KB,用任意现代浏览器打开,它同时是编辑器、是查看器、也是演示器。不需要装软件,不需要登录,不需要联网。你把文件发给同事,同事打开的不是一个需要配套 App 才能看的残废文件,而是带着完整编辑能力的同一个应用。
它的出身很新,创建于 2026 年 7 月 17 日,到现在一个多月,星数从最早中文媒体报道时的两千出头,涨到快四千。作者非常大方的讲过,整个项目是用 Claude Code 辅助、大约一周就做出来的,在 Hacker News 上还有一场坦诚的开发复盘,不藏自己踩的坑。这种「小团队加 AI 编程、把产品做薄」的活法,本身就是今天最该被记录的一种开发范式。
它为什么火,我觉得根子在情绪上。这些年大家都被云办公惯出了依赖,也吃够了依赖的苦。文件不在自己手里,公司服务器一关,你的文档就成了一段只读租约。Bento 把这种不满接住了,而且接得很具体,不是喊口号,是给了一个能直接打开、能直接发的文件。
核心巧思,四个反直觉的设计
妙在哪。第一,文件即软件。文档、字体、图片、图表、动画,连同完整的编辑器,全在一个文件里旅行。今天存的,十年后还能开。Bento 的原话很直白,一份 2026 年的副本,2036 年照样能打开。这听着普通,但想想你硬盘里那些打不开的老格式,就知道这是真金白银的承诺。
第二,它自己会保存自己。你编辑完点保存,文件把自己内部的数据块重写一遍,把你的幻灯片写进去。技术上靠浏览器的 File System Access API,不支持这个 API 的浏览器就退化成下载一个新文件。所以你永远不需要一个独立的「应用」来持有你的文档,文档自己持有自己。
第三,数据透明到有点冒犯。你的内容以一段纯文本 JSON 放在文件最顶部,任何文本编辑器都能打开看,没有二进制黑盒,没有格式锁死。你想用 Git 管版本?直接 diff 那段 JSON 就行。你想让别的工具拼接?那段明文永远在那。这个设计顺手也把 AI 协作的地基打好了,后面细说。
第四,本地优先是硬保证,不是营销词。打开 Offline 模式,所有网络功能被硬性阻断,应用会明确告诉你现在什么都发不出去。不是「我们尽量不传」,是「代码层面就不让你传」。在大家都把数据往云端送的当下,这种反向的偏执反而成了它的招牌。
别以为它就一个空壳,里面是真有料的。图表引擎是自己写的,柱形、折线、饼图、散点全不依赖外部库,演示时还能实时交互,tooltip、缩放都在,更绝的是数据会变形,一个柱状图能当场变成饼图。还有 morph presenting,两个 slide 里 id 相同的元素,会自动在位置、大小、颜色甚至渐变之间补间动画,你复制一页、挪一下位置,过渡就自己设计好了。发布走 ECDSA 签名,更新时写一个新文件、旧文件留着当回滚,服务器永远碰不到你的文档。PDF 导出、演讲者视图、批注、八种界面语言,全塞在那个约 560KB 的外壳里。
AI 原生这一步棋,正好踩中开放权重的节奏
现在说回它为什么出现在这份每日清单里。Bento 自己喊的口号是 Designed for AI。因为文档就是文件顶部那段明文 JSON,所以任何能读写文件的 AI 助手,都能直接改你的幻灯片,不装插件,不调 API。两条路,要么让 Claude Code、Cursor、Aider 这类有文件系统权限的智能体去原地编辑那段 #bento-doc JSON;要么你把文档 JSON 复制出来,丢给任意聊天机器人改完再贴回去。
更狠的是它声明可以完全离线跑本地开放权重模型。把 Ollama、llama.cpp 或 LM Studio 指过去,你的文档一个字节都不出本机。这一步刚好接上了这阵子最热的那条线,开放权重模型一路降价、一路开源,开发者开始认真把「能不能在自己机器上跑、数据出不出门」当成一个硬指标,而不是锦上添花。Bento 把文档格式本身设计成 AI 可读写、本地可跑,等于提前站到了本地优先加开放权重这波叙事里。
技术细节上也替 AI 想周到。文档模型是定义在 slides/src/model.ts 里的一段 JSON,渲染器只有一个,编辑画布、缩略图、演示模式共用,morph 由模型算出来而不是 DOM 算。它还暴露 window.bento.loadDoc 这样的接口,聊天机器人可以把 JSON 取出去改完再塞回来。那份给 AI 看的 agent 指南只有一页,能直接丢进任意模型的上下文里,不需要专门插件或 SDK。它把对接成本压到最低,一份单页指南就能让模型上手改文档,这种「文档为机器准备好接口」的思路,才是它比普通办公工具多出来的那层想象。
它甚至给 AI 编程留了后路。Claude Code 用户能装一个 bento-slides 技能,这个技能连最新版 Bento 应用都自己下载。作者用 Claude Code 一周做出整个东西,这件事本身,就是一则以「AI 原生开发」为题的活广告。文档格式为 AI 准备好接口,AI 又把文档格式当成一个可编辑的对象,两边互相喂养,这才是它比普通办公工具多出来的那一层想象空间。
真实落地,和不那么光鲜的角落
说两个真实落点,不吹。其一,作者本人在 Hacker News 分享,Bento 是用 Claude Code 辅助、约一周完成的,从想法到能用的 PowerPoint 替代品。这不是 PPT 翻车故事,是一个小团队用 AI 编程把产品做薄的样例,过程里哪些靠模型、哪些靠手写,他都摊开了讲。其二,腾讯云开发者社区、今日头条、多家技术博客在 2026 年 7 月底集中报道过它,共同落点都压在「单文件、透明 JSON、本地优先、AI 可改」这几条,星数从两千涨到近四千,说明「文档不该被云锁死」这个情绪,是真有市场的,不是自嗨。
它也不是只会单机自嗨。多人协作是真的端到端加密,AES-GCM,密钥就在文件里,打开文件副本的人自动进房间,离线改的内容也能靠自研 CRDT 精确合并回来。那个可选的同步中继只存密文,学不到任何内容,源码就一个文件大小,你能自己读。这种「盲中继」思路,比把协作数据全交出去干净得多。
但打住,它有明显的不适合人群。第一,它是桌面优先,手机能看能演示,编辑体验是给桌面准备的,别指望在通勤地铁上改幻灯片。第二,实时协作里的撤销是快照式,可能把协作者同时改的同一属性回滚掉,企业级身份校验,也就是签名帧,还是设计过、没做。第三,今天它只是 bento/slides 这一个应用,路线图上的笔记、表格、保险库都还没来,说它是「办公套件」目前有点名不副实,更准确的说法是「一个已经能用的幻灯片应用,套件在路上」。
横向比一下更清楚。和 PowerPoint 比,Bento 赢在零安装、零云、文件自包含,输在生态深度和功能厚度,你那些复杂的母版、插件、宏,它现在没有。和 Google Slides 比,Bento 没有服务器、没有账号、完全离线,但也没有那种多人实时同屏的顺滑。和 Deckset、Marp 这类 Markdown 转 slides 的工具比,Bento 胜在成品仍是可编辑的单文件,而且自带查看器和演示器,不是生成完就定格的静态页。它不打算取代谁,它想换的是文档的格式这件事本身。
底层也经得起看。图表、动画、协作全是自研,协作用的 CRDT 是纯数据实现,靠 scripts/test-sync.ts 跑了几十万次收敛测试来验证多端合并不漂。整个外壳压到约 560KB,却把文档块留成明文,所以老文件永远能被外部工具拼接。这种自研但敢公开测的做派,比很多嘴上说本地优先、实则偷偷上报的项目诚实。当然它也有代价,桌面优先注定移动端编辑基本放弃,实时协作的撤销又会回滚并发改动的同一属性,企业身份校验还是设计过没落地,这些短板都得心里有数。
上手很简单,收口想远一点
想试,十秒就够。打开 bento.page/slides,那整个页面就是应用,跑在一个示范幻灯片上,顺便把功能 tour 也做了。或者直接从 GitHub Releases 抓那个约 560KB 的 Bento_Slides.bento.html,任意浏览器打开就是编辑器。想从源码构建,需要 Node 20 加 npm,命令如下。
git clone https://github.com/nyblnet/bento.git
cd bento/slides
npm install
npm run dev # 开发服务器 http://localhost:5173
npm run build:single # 产出 dist-single/Bento_Slides.bento.html
收口一句话。这两年大家都在卷模型有多大、多能聊,文档这件事反而被忘了,它早被几家云锁成了只读租约。Bento 这种项目提醒我们,AI 时代的文档格式,人能读、机器能改、Git 能管、不依赖任何平台也能活,才是真资产。开放权重把模型送回了本地,Bento 想把文档也送回去。一个文件装下整套软件,听着像复古,其实是把主动权还给了拿文件的人。
项目地址:https://github.com/nyblnet/bento
扫码关注公众号
每天一个 GitHub 热门 AI 项目分享

长按识别二维码,关注公众号