首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2K Star!颠覆PPT!这个560KB的HTML文件,把整个办公套件装进了一个文件里!

2K Star!颠覆PPT!这个560KB的HTML文件,把整个办公套件装进了一个文件里!

作者头像
开源星探
发布2026-07-27 17:54:36
发布2026-07-27 17:54:36
1430
举报
文章被收录于专栏:翩翩白衣少年翩翩白衣少年

前两天,我在整理电脑文件时,突然发现了一个有趣的现象。

我的文档文件夹里躺着各种格式的文件:.pptx.docx.xlsx.pdf……

更让我不安的是,这些文件格式都是封闭的。

十年前的PPT文件,今天打开可能已经面目全非;公司的旧文档,离开了特定的软件就无法编辑;甚至有些文档,离开了云端就无法访问。

我们真的需要这么复杂的办公软件吗?

项目介绍

就在我思考这个问题的时候,一个叫 Bento 的开源项目突然出现在我的视野里。

Bento,一个听起来像是便当盒的名字,却有着颠覆传统办公软件的野心。它的口号简单而有力:

The office suite that fits in a file

一个文件,就是整个办公套件。

你没听错。Bento把文档、查看器、编辑器、演示器,甚至字体、图片、图表、动画,全部打包进了一个HTML文件里。

这个文件目前只有约560KB,却拥有堪比 PowerPoint 的强大功能。

项目由 nyblnet 团队开发,在GitHub上开源,采用MIT许可证。

最让人惊叹的是,这个项目只用了一周时间就完成了——而且是用Claude Code辅助开发的。作者毫不掩饰这一点,在Hacker News上的讨论中坦诚分享了整个开发过程。

截至目前,项目已经获得了超过 2K 颗星标,并且还在快速更新中。

核心亮点

1. 一个文件,就是一切

当你下载一个Bento文件时,你得到的不仅仅是文档内容,而是整个应用程序。

打开这个HTML文件,你就能直接编辑、演示、查看,不需要安装任何软件,不需要登录任何账号。

更神奇的是,当你保存文件时,它会自己重写自己——把你的编辑内容直接写入这个HTML文件中。

所以,当你把文件发给同事时,他们打开的就是完整的、包含所有编辑功能的应用。

2. 纯数据,透明可读

传统办公文件(如.pptx)是二进制格式,你无法用文本编辑器查看其中的内容。

但Bento完全不同——你的数据以纯JSON格式存放在文件顶部的一个<script>标签里。

你可以用任何文本编辑器打开Bento文件,直接看到所有内容。没有二进制黑盒,没有格式锁死,你的数据永远属于你。

这种设计不仅让数据透明可审计,更为AI协作打下了坚实基础。

3. AI原生设计

因为文档就是纯JSON,任何AI助手都可以直接读取和编辑它。

你不需要任何插件、API或转换工具,只需把文件交给AI,它就能直接修改内容。

Bento甚至提供了专门的agents.md[1]指南,告诉AI如何正确处理Bento文档格式。

4. 端到端加密协作

协作功能是Bento的另一个亮点。它采用了自研的CRDT(无冲突复制数据类型)引擎,支持实时协作编辑。

更重要的是,Bento的协作是端到端加密的:

  • • 密钥在客户端生成,只存储在文件中
  • • 服务器(Cloudflare Worker)只存储密文,无法读取任何内容
  • • 拥有文件就等于拥有访问权限,旋转密钥即可撤销访问
  • • 离线编辑后,重新联网时自动合并

这种设计比任何云端协作工具都更安全——因为根本没有你的数据存储在服务器上。

5. 自研引擎,极致精简

为了把整个应用塞进560KB的文件里,Bento团队自研了多个核心引擎:

  • 动画引擎:支持Morph过渡动画,元素在幻灯片间平滑移动、缩放、变色
  • 图表引擎:支持柱状图、折线图、饼图、散点图,纯数据驱动,无外部依赖
  • CRDT引擎:支持字符级文本合并,经过数十万次收敛测试
  • 渲染引擎:一个渲染器同时服务于编辑器画布、缩略图和演示模式

这种自研策略让Bento摆脱了对大型第三方库的依赖,实现了极致的文件体积控制。

快速上手

方式一:直接下载

最简单的方式是直接下载预构建的文件:

  1. 1. 访问GitHub Releases[2]页面
  2. 2. 下载Bento_Slides.bento.html(约560KB)
  3. 3. 在任何现代浏览器中打开这个文件
  4. 4. 开始编辑你的演示文稿
方式二:在线体验

如果你不想下载,可以直接在线体验:

访问bento.page/slides[3],这是一个自带功能演示的入门模板。你可以直接在浏览器中编辑、演示,体验所有功能。

方式三:从源代码构建

如果你想参与开发或自定义,可以从源代码构建:

代码语言:javascript
复制
# 克隆仓库
git clone https://github.com/nyblnet/bento.git

# 进入slides目录
cd bento/slides

# 安装依赖(需要Node 20+)
npm install

# 启动开发服务器
npm run dev

# 构建单文件版本
npm run build:single

构建完成后,你会在dist-single/目录下找到Bento_Slides.bento.html文件。

Bento与AI协作有三种方式:

1. 文件方式(推荐)

.bento.html文件拖到支持文件操作的AI工具中:

  • Claude Code:安装bento-slides插件,AI会自动下载最新版本并编辑文件
  • Cursor/Aider:直接在代码编辑器中编辑文件的#bento-doc块
  • 本地模型:使用Ollama、llama.cpp或LM Studio,数据完全离线
2. 聊天方式

对于不支持文件操作的聊天机器人:

  1. 1. 在Bento中打开"Save"菜单,选择"Copy document JSON"
  2. 2. 将JSON粘贴到聊天窗口,告诉AI你想要的修改
  3. 3. 将AI返回的JSON通过"Save" → "Replace from JSON"粘贴回去
3. 安装AI Skill

Claude用户可以安装专门的bento-slides skill:

代码语言:javascript
复制
# 安装到Claude Code
/plugin marketplace add nyblnet/bento
/plugin install bento-slides@bento

# 或手动安装
mkdir -p ~/.claude/skills/bento-slides
curl -fsSL https://bento.page/skills/bento-slides/SKILL.md -o ~/.claude/skills/bento-slides/SKILL.md

安装后,你只需要说"make me a deck about...",AI就会自动创建并打开一个完整的Bento演示文稿。

写在最后

在这个云计算盛行的时代,Bento 选择了一条截然不同的道路。

它让办公文档重新成为"文件"——你拥有它,控制它,它永远属于你。

560KB的文件,却装下了整个办公套件的梦想。这不仅仅是技术的胜利,更是对"本地优先"理念的最好诠释。

项目地址:https://github.com/nyblnet/bento

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源星探 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目介绍
  • 核心亮点
    • 1. 一个文件,就是一切
    • 2. 纯数据,透明可读
    • 3. AI原生设计
    • 4. 端到端加密协作
    • 5. 自研引擎,极致精简
  • 快速上手
    • 方式一:直接下载
    • 方式二:在线体验
    • 方式三:从源代码构建
    • 1. 文件方式(推荐)
    • 2. 聊天方式
    • 3. 安装AI Skill
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档