GenOffice 分支支持任意本地或托管 LLM,告别云端账号
开源办公套件 GenOffice 的社区分支将默认 AI 提供方改为任意 OpenAI 兼容接口,可对接 Ollama、…
开源 AI 办公套件 GenOffice 的一个社区分支近日发布,移除了原版对 Genspark 云端账号的依赖,改为通过标准 OpenAI 兼容接口对接任意大模型,包括本地推理服务 Ollama、LM Studio、vLLM、llama.cpp server,以及托管聚合平台 OpenRouter 等。该分支基于 Apache-2.0 许可,源码来自 genspark-ai/genoffice,仅修改了 AI 提供方默认值与设置界面。
分支的改动范围
根据 Apache-2.0 §4(b) 的要求,作者明确标注了改动范围:
- 修改 packages/ai-provider/src/providers.ts 中的 AI 提供方默认值
- 修改 apps/shell/src/renderer/src/SettingsModal.tsx 中的设置界面
- 其余代码完全沿用上游 GenOffice,未做任何改动
也就是说,分支只换了「默认 AI 接入方式」,办公套件本身的文档处理引擎没有变化。
GenOffice 套件概览
GenOffice 是一套跨平台(macOS、Windows、Linux)的开源办公套件,基于 Electron 构建,包含六个共享同一引擎层的应用:
- GenOffice Docs:.docx 文字处理器,采用字节级保留的段落补丁(paragraph patch)技术,未改动的段落原样保留,确保在 Microsoft Word 中打开后版式不变
- GenOffice Sheets:.xlsx 电子表格,UI 基于开源 Univer 内核扩展,导入/导出使用自研 Rust 侧车(calamine + IronCalc),图表、透视表、切片器均为自研
- GenOffice Slides:.pptx 演示文稿,自研解析/渲染/编辑引擎,支持母版、版式、智能参考线、非破坏性裁剪
- GenOffice PDF:基于 pdf.js + pdf-lib 的 PDF 查看与编辑器,可在页面内重新输入文字并替换字体,通过 PDFium wasm 重写页面内容流
- GenOffice Markdown:基于 Tiptap 的块编辑器,以纯 Markdown 文件形式存储
- GenOffice Shell:套件主壳,承载上述五款编辑器
每个应用都内嵌同一块 AI 面板:文档支持块级编辑、版本快照与 diff;表格、演示、PDF 中的 AI 可调用工具,操作工作簿/幻灯片/PDF 状态。
AI 后端的接入方式
新装本分支后,默认的 AI 提供方为「Local / Custom (OpenAI-compatible)」,base URL、模型名、API key 均为空,不预置任何云端账号。在 Settings → AI Provider 中填入三个字段并测试连接即可使用。
- Ollama:http://localhost:11434/v1,如 llama3.1,无需 key
- LM Studio:http://localhost:1234/v1,使用 LM Studio 中加载的模型,无需 key
- OpenRouter:https://openrouter.ai/api/v1,如 openai/gpt-4o-mini,需 OpenRouter key
上游的其他提供方仍可在同一界面中选择:Genspark 通过设备码流程登录,无需 key 并可解锁 web/图像搜索、图像生成与编辑、媒体分析、音频转写等工具端点;Claude、Gemini、DeepSeek、OpenAI 则需各家自己的 API key。
部署说明
该分支不发布预编译安装包,需要从源码构建:在仓库根目录执行 npm install,再按平台运行 npm run dist:mac、dist:win 或 dist:linux。上游 genspark-ai/genoffice 仓库中的预编译包默认仍绑定 Genspark 云端账号,并非本分支。
引擎层概览
所有引擎包均为纯 TypeScript 实现,不依赖 Electron,并配有单元测试(UI 套件除外):
- packages/docx-engine:docx 解析 → 块树(含 docxIndex 锚点与透传)、OOXML 片段生成、字节级段落补丁
- packages/pptx-engine / packages/pptx-render:pptx 模型与渲染
整体来看,该分支的意义在于把 GenOffice 原本强绑定的 Genspark 云服务解耦,让希望在本地或自有云上跑模型的用户能够直接接入,对关注数据隐私或自托管部署的开发者具备一定参考价值。
