SSD Nodes Learn 8GB 内存 — 每年 $66
指南 Matt Connor作者: Matt Connor

Bento 单文件办公套件:适合小型 VPS 吗?

Bento 是 MIT 许可的单 HTML 文件办公套件,v1.0.11 仅约 571 KB。了解它如何免安装运行、为何无需服务器进程,以及与 Nextcloud 的取舍。

Bento 是什么

Bento 是一套以单个 HTML 文件发布的办公套件。您只需下载一个文件,在任意现代浏览器中打开它。该文件同时充当编辑器和文档。它无需安装程序,也无需账户。它采用 MIT 许可证,源代码位于 github.com/nyblnet/bento。首个正式发布版本于 2026 年 7 月 21 日发布。截至 2026 年 8 月 1 日,它发布还不到两周。这是本文最重要的事实,也是最后一节讨论评估而非迁移的原因。

“单个文件”真正的含义

自托管办公套件通常由多个组件组成。Nextcloud 是运行在 Web 服务器后的 PHP 应用,还需要数据库、缓存和后台任务运行器。编辑器是旁边的第二个服务,例如 Collabora Online 或 ONLYOFFICE Docs,通常运行在独立容器中,浏览器通过 HTTP 与其通信。文档存储在文件系统中,并在数据库中对应一条记录;编辑会话则运行在编辑器服务中。

Bento 移除了这套组件。下载文件为 Bento_Slides.bento.html,在 v1.0.11 版本(2026年7月27日)中约为 571 KB。该文件包含:

  • 编辑器,同时也是查看器
  • 用于全屏显示演示文稿的演示运行时
  • 演示文稿使用的字体和图像,均已嵌入
  • 文档本身,位于文件顶部附近的可读 JSON 块中

保存操作比较特殊。该文件会重写自身的数据块。页面通过 File System Access API 请求浏览器授予写入权限(这是一个浏览器接口,允许页面将内容写回用户选择的文件);在不支持该 API 的浏览器中,系统会改为下载文件。编辑演示文稿会生成同一个自包含文件的新副本。不会上传任何内容,因为没有需要上传的目标。

这正是人们听到“单个文件”时容易误解的地方。它不是在 VPS 上以单个进程运行办公套件的服务器二进制文件。实际上根本没有服务器进程。运行时是浏览器,因此如果使用 VPS,VPS 只需提供静态文件,不需要执行其他操作。

Bento 办公套件目前提供的功能

“办公套件”是该项目的目标,并不代表当前已有的组件。现在只有一个应用:bento/slides,一个演示文稿编辑器。路线图列出了用于笔记的 bento/spaces、用于工作表和表格的 bento/dash,以及 bento/vault;每个应用都计划作为独立的 .bento.html 文件提供。如果您今天需要文字处理器或电子表格,Bento 目前还没有。

发布速度很快。v1.0.6 于 2026 年 7 月 21 日发布,是第一个正式发布的构建版本;v1.0.11 于 2026 年 7 月 27 日发布,7 天内发布了 6 个版本。这说明维护者非常积极,也提醒您该软件仍在快速变化。更新如此频繁的软件仍在持续修复缺陷,发布说明也反映了这一点:修复大段文本导致实时协作崩溃的问题、保存文件中样式表重复的问题,以及负值图表基线的问题。

为什么单个文件适合小型 VPS

发布一个演示文稿,就是将文件复制到 Web 服务器已经提供服务的目录中。不需要编排服务,不需要持续运行容器,也不需要在升级时迁移数据库。将其与编辑器服务进行比较,以下数据采用各厂商自行发布的最低要求:

ChartPublished minimum RAM for the editing backend, MB
The data behind this chart
[
  {
    "label": "bento/slides (no backend)",
    "min_ram_mb": 0
  },
  {
    "label": "Collabora Online CODE",
    "min_ram_mb": 1024
  },
  {
    "label": "ONLYOFFICE Docs, Debian package",
    "min_ram_mb": 2048
  },
  {
    "label": "ONLYOFFICE Docs, Docker",
    "min_ram_mb": 4096
  }
]

这些是截至 2026 年 8 月厂商发布的最低要求,不是在运行中的服务器上测得的数据。Collabora 发布的要求是系统占用 1 GB,每位用户额外约占用 50 MB。因此,在首位用户连接之前,1024 MB 是最低需求。ONLYOFFICE Docs 的 Debian 软件包需要 2048 MB,Docker 需要 4096 MB,此外还需要 4 GB swap 和 40 GB 磁盘空间。Bento 的编辑后端需要 0 MB,因为它没有编辑后端。无论使用哪种编辑器服务,底层仍然要运行 Nextcloud 本身及其数据库和缓存。因此,在 2 GB VPS 上,这一差距决定了你还能托管哪些服务。

备份也同样简单。恢复 Nextcloud 时,必须恢复彼此一致且处于同一时间点的文件和数据库。恢复 Bento 演示文稿时,只需恢复一个文件。但仍应使用带历史记录的真正备份,因为编辑器会直接改写文件,而原位写入可能失败:为该目录安排 restic 快照即可覆盖这种情况。

服务器端只有一个可选组件。实时协作使用项目所称的盲中继,该组件可从仓库中的 server/sync-worker/ 自行托管。文档在浏览器中使用 AES-GCM(Galois/Counter Mode,一种带身份验证的加密模式)进行加密。房间密钥不会离开文件。中继只保存密文、连接时间信息和该密钥的哈希值。自行编辑不需要中继。

相较于 Nextcloud 和 Collabora,您需要放弃的功能

访问控制是最大的差距。在 Bento 中,协作密钥会随文档创建,并保存在文件内部,因此拥有文件就等于加入会话。轮换密钥是撤销某人访问权限的方式。这种模型没有账户、群组、单点登录和审计跟踪。Nextcloud 提供用户、带过期日期的共享链接、配额、服务器端版本历史记录和移动客户端。如果两个人需要对同一文档拥有不同级别的访问权限,Bento 无法表达这种配置。

格式互操作性是第二个差距。Bento 使用自己的 JSON 格式存储文档,这正是文件可读且脚本可以编辑它的原因。Collabora 和 ONLYOFFICE 的存在目的,是高保真地往返处理 OOXML(.docx.pptx 系列),因为其他用户和系统会向您发送这种格式。在构建假定兼容 PowerPoint 的工作流之前,请查看版本说明,确认您下载的版本支持导入和导出的格式。

成熟度是第三个差距。该项目会明确记录自身的不足,这是它的优点之一。实时协作期间的撤销基于快照,可能会将协作者对同一属性的并发编辑一起撤销。编辑功能以桌面端为主,手机端更适合查看和演示,而不适合编辑。另存为菜单目前还无法适配手机屏幕。这些是 v1.0.11 中已知的限制。项目发布仅两周,因此还存在未知限制。

是否应当信任它处理真实文档?

根据文档的需求拆分这个问题。如果是会议演示文稿、销售演示文稿,或您希望在十年后重新打开的讲座材料,那么它很适合。因为文件自带编辑器,不需要项目在 2036 年仍然存在。如果是包含 3 位审阅者、保留策略和指定审批人的合同,那么它不适合。因为这类文档需要账户和服务器端历史记录。

有两项实用的防护措施。将演示文稿置于版本控制中,或存放在带历史记录的备份中。因为会在保存时自行重写的文件,也可能在保存时损坏,您会需要昨天的副本。将不认识的人发来的 .bento.html 当作程序,而不是文档。因为它本质上就是程序:一个包含完整应用程序的网页。请按照打开任何不受信任网页的方式打开它。

自动化功能确实很有用,值得单独说明。由于文档在文件内部是纯 JSON,编程代理可以直接编辑 .bento.html,而该项目提供了相应的 Claude Code 技能。它也支持本地开放权重模型。因此,已经运行 Ollama 来提供您自己的模型 的计算机可以生成演示文稿,而无需将任何内容发送到计算机之外。

Bento 适合小型服务器的场景

Bento 与其他适合小型 VPS 的单一用途工具类似,特点是体积小:自托管 RSS 阅读器或用于个人财务管理的 Actual Budget。它们只完成一项工作,占用资源少,而且无需应用程序也能读取其中的数据。将笔记应用替换为自托管的 Notion 替代品,也是基于同样的取舍;自托管内容的完整指南介绍了列表中的其他工具。

如果您需要具备用户管理、共享和版本历史记录的完整文档平台,在 VPS 上使用 Docker、TLS 和备份部署 Nextcloud仍然是合适的选择。Bento 并不与这类平台竞争。它适合发送给服务器外部的其他人,以单个文件的形式打开,无需登录,也无需插件。

FAQ

Bento 是 Nextcloud 和 Collabora 的替代品吗?

不能用于相同场景。Nextcloud 搭配 Collabora 或 ONLYOFFICE 可以提供用户账户、共享文件夹、权限和服务器端版本历史记录,因此需要完整的服务器软件栈。Bento 提供一个可移植文件,可在任何位置打开,且不需要服务器。文档需要自包含时,使用 Bento。多人需要在一段时间内以不同权限访问同一文档时,使用 Nextcloud 软件栈。

Bento 需要服务器或 VPS 吗?

不需要。.bento.html 文件可在任何现代浏览器中从本地磁盘打开,并支持离线编辑。VPS 只对两项可选功能有用:通过 HTTPS 提供文件,使其他人可以下载;运行实时协作所需的同步中继。该中继可从项目仓库中的 server/sync-worker/ 自托管,并存储密文和连接元数据,因此无法看到您的内容。

Bento 以什么格式保存文档?

Bento 使用自有 JSON 格式。该格式写入 HTML 文件顶部附近的可读区块中,字体和图像则嵌入同一文件。使用文本编辑器打开文件即可读取文档结构,因此脚本和 AI 代理可以直接编辑演示文稿。这也意味着其存储格式不是 OOXML。因此,在测试您所运行版本中的导入和导出之前,不要假设 .pptx 工作流能够正常运行。

没有用户账户时,协作如何工作?

文档创建时会生成协作密钥,并将其保存在文件中。因此,持有该文件的任何人都可以加入会话。编辑内容通过 CRDT(无冲突复制数据类型,一种无需中心机构即可合并并发更改的数据结构)合并,并使用 AES-GCM 加密传输。在线状态中的名称只是声明,不是身份凭据。因此,应将参与者列表视为标签,而不是身份验证结果。撤销访问权限需要轮换密钥并重新分发文件。

Bento 适合处理重要文档吗?

Bento 使用 MIT 许可证,并以开放方式开发。2026 年 8 月 1 日时,它发布还不到两周,首周已有 6 个版本。应将其视为本月评估的软件,而不是本季度即可标准化采用的软件。为每个演示文稿保留带历史记录的备份。在依赖导出路径之前,先对其进行测试。任何具有合规或保留要求的内容,都应保存在具备用户账户和版本历史记录的系统中。

#self-hosted#bento#office-suite#nextcloud-alternative#open-source