VibeOffice:浏览器里跑的开源 Office,主打「无损编辑」不丢格式

这几天 GitHub 上冒出一个新项目:VibeOffice——一个跑在浏览器里的开源办公套件。它有两个标签同时踩中了当下的热点:一是「开源版 Office」,二是「作者用 AI 堆出来的」。项目 10 月 6 日才有了第一批提交,10 月 8 日建仓公开,到 10 月 11 日下午已经拿到约 485 个 Star、74 次 Fork,还冲上了第三方趋势榜。

它做的事情说起来很朴素:一个文字处理器、一个电子表格、一个演示编辑器,在网页里打开、编辑、保存真正的 .docx / .xlsx / .pptx 文件。不装软件、不要账号、没有服务器,文件从头到尾不出你自己这台机器。界面刻意做成了 Office 2003 的经典样子——菜单、工具栏、任务窗格,老用户不用重新学。

真正让它在技术圈被讨论的,是它给自己定的那条硬指标:无损编辑。这也是本文的重点。

它是什么

VibeOffice 由 GitHub 上的 tcchen2026(昵称 TC Chen)开发和维护,采用 Apache 2.0 许可证,代码是纯 HTML + 原生 JavaScript,没有框架、运行时也不需要构建步骤。仓库里三个应用各占一个目录,共用一套放在 public/common/ 的库和样式。

三个应用被起了自己的名字:

  • Quire:文字处理器,对应 Word
  • Ledger:电子表格,对应 Excel
  • Lectern:演示编辑器,对应 PowerPoint

首页 vibeoffice.work 是一个「起始中心」(Start Center):打开文件、从最近文件里挑、从空白页或模板新建文档/表格/幻灯片。在 Chrome 或 Edge 里还能把它装成 PWA,之后就能像本地程序一样,从文件管理器里直接双击 .docx / .xlsx / .pptx 打开。

卖点:为什么「无损编辑」值得单开一节

先说说这件事为什么难。

很多人拿 LibreOffice 打开同事发来的 Word、PPT,改两笔再存回去,结果对方用 Microsoft Office 再打开时就发现——字体丢了、颜色没了、表格底纹不见了、幻灯片版式错位了。作者在发布帖里解释了根因:这类产品会把 .docx / .pptx 转成自己内部的数据结构,保存时再从内部结构「导出」一遍,凡是它不支持的特性,在导出这一步自然就被丢掉了。

VibeOffice 换了个思路:尽量在原文档的 XML 树上操作,只改动需要编辑的地方,并尽可能保留那些「非预期」的属性。仓库文档 docs/LOSSLESS_SAVE.md 里把规则写得很细:

  • 它改不了的东西,就原样留字节。 VBA 宏、内嵌对象、它还没有版式的 SmartArt、音视频、墨迹、3D 模型、自定义 XML、Office 较新的扩展,保存时逐字节写回。
  • 只改你改过的地方。 移动或缩放一个它改不了的对象,只有位置变;给形状加阴影,它不支持的属性照旧保留。内容保留原来的名字和 ID,所以超链接、批注、动画指向的还是原来那个目标。
  • 各应用的特色功能存活。 Word 的内容控件和数据绑定、批注、水印、节与编号属性;Excel 的数据透视表、切片器、时间线、带 @提及 的批注、窗体控件、查询表;PowerPoint 的媒体、节、自定义放映、批注、未使用的版式、标签、动作和效果。
  • 不做静默丢失。 如果一次保存会丢掉你会在意的东西,会弹出「兼容性检查器」用大白话提醒你,而不是默默吞掉。

为了证明这条路走得通,项目建了一个真实文件语料库:取自 LibreOffice、Apache POI、Open XML SDK 等公开测试集的 4,697 个文件,逐个经历「打开—保存—编辑—撤销—恢复」,每次保存都和原文件对比。仓库里公开的最终测量数字包括:

  • 语料库共跑了 14,091 次驱动、30,919 个包/SDK 状态,其中 29,341 个 OK、670 个失败、908 个排除;
  • 未经编辑的保存件里,LibreOffice 能正常渲染的:Word 2,869/2,880、Excel 930/935、PowerPoint 836/837;
  • 文字保真:Word 保留 776,207/776,869 个词,PowerPoint 的 58,022 个词全部保留;
  • 单元格保真:Excel 有 883/889 次保存与原文件完全一致。

作者在发布帖里另给了一个更早的口径:在他自己的测试集(2800 个 docx、800 个 pptx)上,大约 90% 的文档能实现无损编辑。两个数字口径不同,放在一起看更接近真实水平——「无损」是一个在逐文件打磨的目标,而不是一句已经全兑现的宣传。

三个应用各能读写什么

  • Quire(文字):读写 .docx、.docm、.dotx、.dotm、.rtf、.htm、.txt、Markdown(.md,带图片附件时会自动打包成 zip),并导出 PDF。它还支持直接在 Markdown 和 docx 之间互转。
  • Ledger(表格):读写 .xlsx、.xlsm、.xltx、.xltm、.csv、XML Spreadsheet 2003、.htm,并导出 PDF。
  • Lectern(演示):读写 .pptx、.pptm、.ppsx、.ppsm、.potx、.potm,导出 PDF、PNG、.htm。

发布帖里作者还提到两个他自测的场景:用 Kimi 生成一个 36MB、含各种动画/图表/渐变蒙版的 pptx,能正常播放和编辑;500 多页的 docx 文档也能在几秒内打开。

怎么用(三种方式)

  1. 直接开网页用:浏览器打开 https://vibeoffice.work,在起始中心选应用或拖一个文件进去。不用注册、不用登录。
  2. 装成 PWA:在 Chrome / Edge 里从起始中心把它安装到桌面,之后能从文件管理器直接打开 Office 文件。
  3. 自己部署:仓库是纯静态站点,只需要一个静态 HTTP server,把 public 目录托管出去就能自建。作者在 issue 里也接受社区补 Docker 用法。

对想要「桌面程序」的人,项目还基于 Tauri 做了一个桌面版,Windows x64 的 MSI 安装包已经在 Releases 里发布(版本号形如 v2026.10.11-…)。作者表示 macOS 版打算上架 Mac App Store、Linux 版计划以 Flatpak 为主,但因为还在实现「原生另存」(而不是存到下载目录),都还没完善。

它确实带着「AI 造」的痕迹

这个项目叫 VibeOffice,作者在社区发布帖里也直言做它「消耗了巨量 token」。更直接的证据在仓库的 AGENTS.md 里——那是给 AI 编程助手看的协作规约,里面明确写着:「多个 agent 会同时在这个仓库里工作」,并要求「只提交你自己的文件和 hunk,绝不提交、回滚或改写其他会话未提交的改动」。换句话说,它是一个由多个 AI 编程会话并行推进、作者做验收的开源项目。这也解释了为什么它提交数不多(一周内 39 次提交)却堆出了 5MB 级的 JavaScript 代码。

值得一提的是它的工程纪律并没有因为「AI 生成」而放松:文档里规定了「Schema 合法 ≠ Office 能接受」「每修一个 Office 报的错,就加一条校验规则和一条回归测试,并让测试在修复前的提交上失败」,还有一个「Office 验收」流程——把可疑文件做成每次只改一处的副本,用二分法定位 PowerPoint 到底为什么不认。

边界与坑(动手前先知道)

  • 界面目前只有英文。有用户提「中文支持」的 issue,作者回复「这个很快就会有」,但截至发稿还没上。
  • 已知问题还有一批:有用户反馈 Excel 超过一千多行后拖动右侧滚动条异常、Quire 分栏时图片显示有问题、制表位在涉及「动态域」(如总页数)时宽度算错等。作者在 issue 里表示其中四个问题已在他本机复现的文档上修好。
  • 「无损」尚未 100%。 docs/LOSSLESS_SAVE.md 的待办里自己承认,仍有少数文件会「不弹提示地丢内容」,例如部分 Ledger 文件整张表的 SmartArt 会被丢掉、个别 Lectern 文件会丢一份媒体文件。发现这类问题需要提供具体文件才能定位。
  • 它不能替你完成「格式转换」。项目把「同格式保存」作为目标,转成 PDF/CSV/Markdown 这类属于转换,不在无损承诺范围内。
  • VBA 宏不丢失,但也别指望在这里编辑宏——宏是被原样保留(写回字节),不是在此执行。

别搞混:几个「开源 Office」不是一回事

  • LibreOffice:老牌桌面开源套件,功能最全,但正是「转成内部结构再导出」那条路上的代表,往返编辑容易丢格式。
  • OnlyOffice:AGPL 老牌协作型在线 Office,偏团队/私有部署,不是同一条「浏览器本地无损编辑」路线。
  • GenOffice:Genspark 开源的另一款「AI 原生 Office」,桌面端、把智能体放进编辑器,Star 数远高于 VibeOffice,但它是「用 AI 来写文档」,VibeOffice 是「用 AI 来造工具、帮你不丢格式地改文档」——方向不同。

一句话总结

VibeOffice 不是要取代 Office,它解决的是一个更窄、但很真实的痛点:在浏览器里临时打开、改两笔同事发来的 Word/Excel/PPT,存回去还不能让对方打不开或格式崩掉。它把「无损编辑」当成工程指标去啃,公开语料库和实测数字,这一点在个人项目里少见。目前它还很年轻(上线几天、界面没中文、已知 bug 不少),适合当「应急查看与轻改」工具先试,重要文件仍建议留好原始备份。

参考来源

说明:本文为介绍/解读稿,事实与数字来自项目官方仓库文档、GitHub 官方接口与作者发布帖;文中「90% 无损」「36MB pptx」「500 多页 docx」等为作者自述口径,仓库另有 4,697 文件语料库的实测数字,两者口径不同已分别标注。未对项目做完整安装实测。

腾讯云精选福利

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注