InjOffice

一套开源浏览器和服务器端TypeScript/Go库,专为程序化编辑Office文档(Word、Excel

AI编程开发 部分免费

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和权限控制。

快速上手

  1. npm安装目标包,如 npm install @injoffice/sheets
  2. 使用Go Extract读取Office文件获得JSON模型
  3. 在TypeScript中对JSON进行编辑修改
  4. 生成mutation JSON提交变更
  5. Go Apply将变更写入原始OOXML文件,保留格式和元数据完整性

适用场景

  • AI Agent操控Office文档的自动化工作流
  • 企业文档处理系统的无Office依赖后端
  • 浏览器内在线文档编辑器
  • 文档变更审计与版本管理系统

适用人群

  • AI应用开发者,需要让大模型读写Office文档
  • 企业后端工程师,构建文档处理服务
  • 文档自动化工具开发者
  • 低代码平台构建者

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论