Genspark 以 Apache 2.0 协议开源 GenOffice,提供文档、表格、幻灯片和 PDF 等桌面应用。其增量修改 OOXML、保留未编辑字节的设计有助于减少 Word 格式错乱,但项目仍处于 Alpha,AI 功能需登录并消耗额度。
人工智能
Genspark 已将 GenOffice 以 Apache License 2.0 协议开源。该仓库将其描述为一套面向 macOS 和 Windows 的 AI 原生办公套件,包含文字处理器、电子表格、演示文稿编辑器和 PDF 工具。其实现由五个共享同一引擎层的 Electron 应用组成,并将 AI 编辑作为一等工作流,而不是额外拼接一个聊天框。官方提供适用于 macOS(Apple Silicon)和 Windows(x64)的签名安装程序,当前版本为 0.4.110。GenOffice 对所有人免费,并且没有广告。你所期待的编辑工具一应俱全,也没有任何附加条件。
团队在 X 上发布的帖子直截了当地说明了项目规模:一名工程师、一周时间,Alpha 版本大约消耗了价值 10,000 美元的 token。产品页面称其免费且无广告,但 AI 功能会消耗 Genspark credits。用户可以通过 GenTeam 上的 GenOffice 群聊提交反馈,积极参与贡献的用户可获得 1,000+ credits。
答案是肯定的,但有一些条件。目前,Apple Silicon Mac 和 Windows x64 用户已经可以安装二进制版本;源代码则需要 Node 20+、npm 10+,以及用于 Sheets sidecar 的 Rust 工具链才能构建。不过,这仍被标记为 Alpha 版本,而且 AI 功能需要 Genspark 账号,因为模型调用会通过服务端代理。
这与几类明确的目标客户非常契合。初创公司和中小企业是最自然的第一梯队:没有许可费用、没有水印,并且可以完整保留 .docx/.xlsx/.pptx 文件的兼容性。中型市场团队可以对其进行 fork,因为 Apache-2.0 允许商业修改——不过,ee/ 目录保留给未来采用独立 GenOffice Enterprise License 的企业模块;此外,GenOffice 和 Genspark 名称是 Mainfunc, Inc. 的商标,fork 项目不得继续使用。受监管的企业则应该再等等:Alpha 状态加上经由云端路由的 AI 调用链路,意味着首先需要完成采购审核和 DPIA 工作。
GenOffice 会按照哈希值归档原始 .docx 文件,并且绝不直接修改它。docx-engine 会将 word/document.xml 的顶层元素解析成一棵 block tree,其中每个 block 都通过 docxIndex 和原始 XML 片段进行定位。编辑操作在支持流式处理的 TipTap 编辑器中完成,并带有 dirty tracking。保存时,只有 dirty blocks 会被转换为 OOXML 片段——并且只引用已有样式——再拼接回原始的 document.xml。未修改的 blocks 会保留原始字节,ZIP 包中的其他所有条目也都会逐字节原样复制。
官方宣称,这种方式带来的好处是:打开并保存文件绝不会破坏其在 Word 中的布局。分页视图能够复现原始的行度量,同时支持修订、评论、样式、公式和墨迹。Sheets 和 Slides 也遵循相同理念:围绕作为事实来源的原始文件进行小范围 patch。
Sheets 的 UI 基于开源的 Univer core(Apache-2.0)构建,并在其上加入了大量内部扩展。XLSX 的导入和导出由内部开发的 Rust sidecar 负责,其中使用了 calamine 和 IronCalc。图表由内部基于 Konva 渲染,同时还支持数据透视表、切片器、条件格式和公式追踪。
Slides 使用内部开发的 pptx 解析、渲染和编辑引擎,涵盖母版、图表、裁剪、墨迹,以及通过 HarfBuzz metrics 实现的文本塑形。PDF 基于 pdf.js 和 pdf-lib 构建,增加了批注、表单、大纲、图章、签名、页面操作和打印功能。Shell 则提供主界面、标签页托管和自动更新。
引擎包均采用纯 TypeScript 编写,经过单元测试,并且不依赖 Electron,包括 docx-engine、pptx-engine、pptx-render、file-parse、agent-core、ai-provider 和 ai-search。Docs 支持 block 粒度的 AI 编辑,并提供快照和 diff;其他应用则在文档状态之上使用支持 tool-calling 的 Agent。
SECURITY.md 对于一个 Alpha 项目来说详尽得不同寻常。每个文档窗口都以 contextIsolation: true、nodeIntegration: false 和 sandbox: true 运行。IPC payload 会在主进程中接受 schema 检查,Sheets 更是端到端使用 zod。所有外部链接都会经过统一的 safeExternalUrl 闸门,只允许 http/https allowlist;file:、javascript: 和自定义 schemes 均会被拒绝。
文档记录了两种 AI threat model。Slides 的布局脚本使用 Acorn 解析,并由受约束的 AST 解释器执行——绝不会使用 eval、Function、VM context 或 worker——同时不存在 ambient globals、网络、IPC bridge 或 timers,并对语句数量和调用深度设置了限制。另一方面,pptx 导出流水线中由 AI 生成的 HTML 会在隐藏的 BrowserWindow 中渲染,并被视为不可信内容:没有 preload、没有 IPC surface,只能通过 executeJavaScript 驱动,并受到 watchdog timeout 的约束。
GenOffice 采用 Apache-2.0 协议,提供经过签名的 macOS 和 Windows 安装程序,并明确标记为 Alpha 版本。
Docs 只会将 dirty paragraphs patch 到原始 XML 中,从而保留 .docx 文件中未修改部分的原始字节。
Sheets 将 Univer core 与 Rust xlsx sidecar(calamine + IronCalc)结合使用;Slides 和 docx engine 则由团队内部开发。
AI 需要通过已登录的 Genspark 账号运行并消耗 credits;默认不支持本地 model key。
安全文档涵盖了完整的 Electron renderer 安全锁定措施,以及两种明确的 AI 内容 threat model。
你可以查看该 Repo 并在此下载。此外,欢迎在 Twitter 上关注我们,也别忘了加入我们拥有 15 万多名成员的 ML SubReddit,并订阅我们的 Newsletter。等等!你也使用 Telegram 吗?现在也可以加入我们的 Telegram。
需要与我们合作,推广你的 GitHub Repo、Hugging Face Page、产品发布或 Webinar 等内容吗?欢迎联系我们。
Michal Sutter 是一名数据科学专业人士,拥有帕多瓦大学数据科学理学硕士学位。凭借在统计分析、机器学习和数据工程方面的扎实基础,Michal 擅长将复杂数据集转化为可付诸行动的洞察。