项目详情
Univer
AI Agent 的 Office 运行时:表格、文档、幻灯片、多维表,塞进你自己的产品
更新于 2026-09-23 · 数据来源:GitHub API + README/docs(采集于 2026-09-23)
← 返回汇总
项目速览
一句话定位
不是表格控件,是 Office 的构建框架
开源 SDK,在自有产品里嵌入完整的表格 / 文档 / 幻灯片 / 多维表体验——Canvas 渲染引擎 + 独立公式引擎 + 插件架构 + 统一 Facade API,浏览器跑 UI、Node.js 跑 headless 同一套架构。README 自我定位已转向「The Office Harness for AI Agents」:让人和 AI agent 在同一份文件里协作。适合要把生产力体验做成产品一部分的 SaaS / 内部工具 / AI 应用团队。
项目速览
核心数据
v0.25.2(2026-09-17)· 最近 push 2026-09-22(采集前一天)· PR 编号已到 #7734——周级发版节奏的重度活跃仓库 · 1,388 forks · 138 open issues · 六语言 README(中/繁/日/韩/西)
前世今生
Luckysheet 的推倒重来
Luckysheet(前作)
同团队 dream-num 的开源 Excel 组件,16.6k stars,仓库描述如今写着「Luckysheet upgraded to Univer」。它是「一个功能齐全的表格控件」——单体架构,能力耦合在一起。
Univer(继任)
不是升级,是重写:从「一个表格」变成「一套 Office 框架」。每个能力拆成独立插件包,可组合、可替换、可懒加载;渲染和公式从表格里抽出来变成所有文档类型共享的引擎。
- 为什么值得重写:表格控件的终点是「像 Excel」;Office 框架的终点是「你要的任何生产力界面」——外加 agent 时代需要 headless 跑在服务端的同一套内核
- 成熟度分层明示:README 直说 Sheets 最成熟,Docs/Slides 共享架构持续演进,Bases(多维表)/ Boards / PDF 是进行中
架构 🔥
分层:core 定规则,引擎做脏活,文档类型组装
框架层(规则与组装)
引擎层(共享基础设施)
接入层(你的应用)
上手体验
Preset 求快,Plugin 求全
Preset Mode(三行起跑)
pnpm add @univerjs/presets @univerjs/preset-sheets-core
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
const { univerAPI } = createUniver({
presets: [UniverSheetsCorePreset({ container: 'app' })],
})
univerAPI.createWorkbook({})
策展好的插件集合,含 Facade 注册与样式。要「立刻能用」选它。
Plugin Mode(全控制)
import { UniverSheetsPlugin } from '@univerjs/sheets'
// 手动逐个 registerPlugin:12+ 个包,
// 控制加载顺序、懒加载、bundle 体积、
// locale 合并与 Facade 注册
univer.registerPlugin(UniverSheetsPlugin)
univer.registerPlugin(UniverSheetsFormulaPlugin)
// …
深度集成 / 自定义加载 / 极致瘦身选它。另配 Headless Mode:Node 端 workbook 处理、公式计算、自动化,无 UI。
- 版本纪律:所有 @univerjs/* 包锁同一条协同发布线(同版本号),Pro 包对齐对应线——monorepo 的协调发布规避了「包 A 新版配包 B 旧版」的地狱
- API 稳定政策成文(docs/API_STABILITY.md):明确实验 API / 内部 API / 弃用规则——0.x 阶段难得的工程自觉
核心机制
同构内核:浏览器画 UI,Node 跑逻辑
同一套 @univerjs/* 包→
浏览器:React UI + Canvas 渲染
·
Node ≥18.17:headless 无 UI
→
Facade API 同形
- 为什么这是 AI 时代的关键设计:agent 在服务端读改 workbook / 文档(结构化 API),人在浏览器看同一份内容的渲染——不需要「导出文件 → 处理 → 导回」的断裂链路
- 输出验证三件套:AI 文档写明 agent 可通过内容检查、渲染截图、布局诊断来验证自己的产出——不是改完就交
- 兼容面:Chrome ≥88 / Edge ≥88 / Firefox ≥90 / Safari ≥14.1 / Electron ≥12;构建工具要支持 package.json exports 字段(Webpack 4 需额外映射);依赖 Intl.Segmenter(目标环境没有要加 polyfill)
- 多实例与 Worker:支持 Web Worker / RPC 模式与多实例——重计算可以挪出主线程
AI 战略 🔥
「Office Harness for AI Agents」不是口号
| 家族项目 | 干什么 |
univer-workspace | 人和 agent 共用的 Office 工作区:共享编辑 + agent 变更的人审界面 |
univer-cli | 本地命令行工作区:agent 创建 / 编辑 / 检查 / 交付 Office 内容 |
dsh-univer-office | DeepSeek Harness 的 Office 插件:内容联通、校验、agent 隔离 worktree |
univer-mcp | 自然语言驱动 Univer Sheets 的 MCP 集成 |
univer-sdk-skills | 给 AI agent 的可复用技能指令:集成、Pro 特性、插件开发、Node 后端 |
- Worktree 协作模型:agent 在隔离草稿里干活 → 人审查 diff → 决定合并——把 git 的分支审查语义搬进了 Office 协作(此能力属 Web SDK / 协作体系,许可分层)
- 双向都有抓手:agent 侧有结构化 API + CLI + MCP + skills;人侧有编辑器 + 审查 UI。人和 AI 不是「一个看图一个看码」,是同一运行时的两类操作者
商业模式
开源 / Pro 边界:写在明处的分层
| 领域 | 开源(Apache-2.0,本仓库) | Pro(商业层) |
| Sheets | 编辑、公式、数字格式、筛选排序、数据验证、条件格式、超链、批注、查找替换、表格、绘图 | 实时协作、编辑历史、导入导出、打印、图表、透视表、迷你图、数据连接器、服务端计算 |
| Docs | 富文本模型、编辑 UI、列表、超链、批注、快速插入 | 协作、导入导出、打印、增强表格/列表、分栏、标注块 |
| Runtime | Node headless、RPC/Web Worker、多实例、自动化原语 | 协作客户端/服务端、SSR、计算委派、changeset 回放 |
- 边界原则成文:OSS 包独立可用;OSS bug 在 OSS 仓库修(即使有对应 Pro 特性);OSS 文档不得暗示 Pro 能力免费——「能用什么」不用读商业文档先
- 对你的选型含义:纯嵌入编辑 + 公式 + 筛选 = 免费够用;要协作 / 导入导出 xlsx / 打印 / 图表 = 进 Pro 计价。这是评估 Univer 时第一个要核对的表
核心机制
公式引擎:独立内核,依赖图驱动
- 引擎不在表格里:engine-formula 是独立包——解析、引用解析(A1 / 范围)、依赖图构建、拓扑计算序、循环检测都是引擎职责,Sheets 与 Bases(多维表)共用
- 计算 = 图遍历:改一个格子只重算依赖它的子图,不是全表重算——大表格响应性的另一半(另一半是 Canvas 渲染)
- 循环引用是显式状态:依赖图检测出环 → 环上格子标记错误,不连坐崩引擎
- Pro 增强方向:服务端计算、计算委派、性能增强公式特性——引擎的扩展点就是这些
- Facade 公式 API:univerAPI 层面公式的读写与计算结果获取,浏览器与 Node 同形——headless 跑报表计算不碰 UI
- 想亲手玩依赖图?:下一页 Playground 复刻了这套机制(解析→建图→拓扑序→循环检测),编辑公式实时看图变化
在线体验
亲手拨动一张公式依赖图
Playground 复刻公式引擎内核:点击格子改公式(支持四则、单格引用、SUM 范围)→ 实时看引用解析、依赖图连线、拓扑计算序、逐格求值;写下循环引用立刻看 #CIRCULAR! 在环上扩散。引擎最核心的「改一处、只算子图」语义,玩一分钟就懂。
纯前端实现,零网络依赖 · 引用解析 8 case / 拓扑不变量 / 循环与错误传播 / 200 组随机 DAG 与手算期望一致
生态位
表格控件赛道里的「框架位」
| 路线 | 代表 | 与 Univer 的差异 |
| 数据网格型 | AG Grid、Handsontable 等 | 面向「展示与编辑数据」的网格组件,非文档模型:公式/协作/文档形态不是原生目标;商业许可模式 |
| 表格控件型 | Luckysheet(前作)、x-spreadsheet 等 | 「像 Excel 的一个控件」,能力单体耦合;Univer 把同样能力拆成 52 个可组合插件并升维到多文档类型 |
| 托管文档平台型 | OnlyOffice、Collabora 等 | 完整开源/托管办公套件,重服务端与格式兼容;Univer 是嵌入你产品的 SDK,UI 和数据模型归你定义 |
Univer 占的是中间空位:框架级 Office 能力,产品形态归你。这在 agent 时代尤其关键——agent 需要的不是「另一个 Office」,是能被 API 驱动、能 headless 跑、能嵌进任意宿主的 Office 内核。
适用场景 + 风险
适合谁,警惕什么
适合
- SaaS / 内部工具:要在产品里内嵌真·表格/文档编辑(带公式、验证、筛选),而不是只读展示
- AI 应用团队:agent 需要读写结构化 Office 内容 + 人审界面——其家族生态(CLI/MCP/skills/worktree)是目前最完整的 Office×Agent 方案
- 报表 / 自动化管线:Node headless 跑公式计算与 workbook 处理,服务端无 UI
风险
- 高频刚需在 Pro 墙内:协作、xlsx 导入导出、打印、图表、透视表都是商业层——评估时要先对第 9 页那张表
- 0.x 版本:虽有 API Stability Policy,主版本号仍是 0——深层集成要跟发版节奏(好在周级发版、纪律明确)
- 体量与复杂度:52 包 monorepo、Canvas 自绘引擎、React 18+ 视图层——团队要有前端工程纵深,不是「npm install 完事」
- Slides / Bases / PDF 未熟:能力矩阵里这些还在进行中,别按宣传图选型
工程观察
四年 52 包的纪律痕迹
- 测试与 CI:Codecov 徽章在维护、CodeFactor 代码质量徽章在维护、build-packages CI 工作流在跑——大型 monorepo 的卫生习惯在线
- 文档体系分层清晰:guides(Sheets/Docs/recipes/architecture)/ AI SDK / Server SDK / API Reference(Facade 全量生成)/ Pro guide / Showcase,六语言 README
- 包命名即架构:sheets-formula / sheets-formula-ui 分离(逻辑与 UI 解耦的纪律渗透到包名);ui-adapter-vue3 / ui-adapter-web-component 官方多框架适配
- 社区运营:Discord / Open Collective / Trendshift 徽章,77 贡献者——国内团队运营的国际社区样本
- 家族仓库分工:核心 monorepo 之外,Workspace/CLI/MCP/skills 各自独立仓库——边界与许可各自声明,不糊在一起
潜力评估
未来空间
评分 8.5:「Office 框架 + agent 原生」这个组合位目前没有同量级对手——Luckysheet 时代攒下的表格 know-how 沉淀进了引擎层,四年 52 包的工程纪律撑住了框架复杂度,而 AI 家族生态(Workspace/CLI/MCP/skills)把「agent 时代的 Office 内核」这个叙事提前一年铺开了。扣分:协作/导入导出/打印这些高频刚需锁在 Pro 墙内,纯开源用户天花板明显;Slides/Bases 未熟;Canvas 自绘 + React 18 的技术栈对集成方有门槛。看点:xlsx 兼容性若下放 OSS、或 agent 生态位(headless + worktree 人审)成为事实标准,评分可上 9。