InjOffice
一套开源浏览器和服务器端TypeScript/Go库,专为程序化编辑Office文档(Word、Excel
InjOffice 是一套开源浏览器和服务器端TypeScript/Go库,专为程序化编辑Office文档(Word、Excel、PowerPoint)而设计,提供纯JSON数据模型和确定性变更集,支持AI Agent对Office文件的精准操控,无需依赖Microsoft Office本身。
核心功能
- 纯JSON数据模型:所有Office文档(DOCX/XLSX/PPTX)解析为结构化JSON,AI可直接读取和修改文档内容
- 变更集(Change Sets)机制:文档修改以原子性变更集形式记录,支持审批流程和版本回溯
- WASM浏览器端引擎:无需服务器,在浏览器内即可完成文档编辑全流程
- Go原生解析引擎:提供高性能的xlsxpatch/docxpatch/pptxpatch等Go模块,解析和写入速度领先
- 多格式支持:完整覆盖DOCX、XLSX、PPTX三种主流Office格式
- 26个独立npm包发布:每个功能模块均可单独引入,降低依赖体积
技术实现
核心工作流为:原始OOXML字节经Go Extract解析为版本化JSON,TypeScript paint编译器生成渲染命令,编辑器产生mutation JSON,Go Apply将变更写回原始压缩包。全程保留原始文件结构,实现精确到字段级别的手术式修改。@injoffice/agent-tools包提供Model-neutral Agent会话能力,支持bounded reads、审批钩子和CAS提交验证。
架构亮点:React/Univer为可选UI层,不参与文件身份判定;TypeScript paint编译器生成渲染无关的中间命令,真正实现文件逻辑与展示层解耦;协作模块(@injoffice/collab)支持Presence、因果性协同Undo/Redo和权限控制。
快速上手
- npm安装目标包,如 npm install @injoffice/sheets
- 使用Go Extract读取Office文件获得JSON模型
- 在TypeScript中对JSON进行编辑修改
- 生成mutation JSON提交变更
- Go Apply将变更写入原始OOXML文件,保留格式和元数据完整性
适用场景
- AI Agent操控Office文档的自动化工作流
- 企业文档处理系统的无Office依赖后端
- 浏览器内在线文档编辑器
- 文档变更审计与版本管理系统
适用人群
- AI应用开发者,需要让大模型读写Office文档
- 企业后端工程师,构建文档处理服务
- 文档自动化工具开发者
- 低代码平台构建者
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议