项目详情

Univer

AI Agent 的 Office 运行时:表格、文档、幻灯片、多维表,塞进你自己的产品

GitHub 地址 docs.univer.ai Apache-2.0 TypeScript · Canvas 渲染 · React 18/19

更新于 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 应用团队。

项目速览

核心数据

15.6k
Stars
77
Contributors
52
包(monorepo)
4 年
打磨(2022-09 起)

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 框架」。每个能力拆成独立插件包,可组合、可替换、可懒加载;渲染和公式从表格里抽出来变成所有文档类型共享的引擎。

架构 🔥

分层:core 定规则,引擎做脏活,文档类型组装

CORE 基座 · @univerjs/core 插件系统(registerPlugin)· 命令系统(Command/Mutation)· 依赖注入服务 · 注册表(Registry)· Facade API 挂载点 · 国际化 / 主题 渲染引擎 · engine-render Canvas 渲染层,所有文档类型共享。 大表面(大表格/长文档)保持响应的 关键:不走 DOM,自绘。 公式引擎 · engine-formula 独立于表格的公式内核:解析、依赖 图、计算序、循环检测。跨文档类型 复用(Sheets / Bases 都能引用)。 文档类型层(每个都是插件,可拆可换) sheets · docs · slides · sheets-formula · sheets-numfmt · sheets-filter · sheets-data-validation · sheets-conditional-formatting · docs-toc · sheets-table · thread-comment · find-replace · drawing …(52 包) 应用接入层 浏览器 UI(React 18/19)· Vue3 / Web Components 适配器 · Node.js headless(同一套包)· presets 快捷组合 跨层不变式: • 能力 = 插件,不是内核 • 渲染/公式是引擎不是表格 私有属性 • UI 可换(ui 包可缺) Facade API: workbook / range / formula / document 一致的 High-level 接口,浏览器与 Node 同形
框架层(规则与组装) 引擎层(共享基础设施) 接入层(你的应用)
上手体验

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。

核心机制

同构内核:浏览器画 UI,Node 跑逻辑

同一套 @univerjs/* 包→ 浏览器:React UI + Canvas 渲染 · Node ≥18.17:headless 无 UI → Facade API 同形
AI 战略 🔥

「Office Harness for AI Agents」不是口号

家族项目干什么
univer-workspace人和 agent 共用的 Office 工作区:共享编辑 + agent 变更的人审界面
univer-cli本地命令行工作区:agent 创建 / 编辑 / 检查 / 交付 Office 内容
dsh-univer-officeDeepSeek Harness 的 Office 插件:内容联通、校验、agent 隔离 worktree
univer-mcp自然语言驱动 Univer Sheets 的 MCP 集成
univer-sdk-skills给 AI agent 的可复用技能指令:集成、Pro 特性、插件开发、Node 后端
商业模式

开源 / Pro 边界:写在明处的分层

领域开源(Apache-2.0,本仓库)Pro(商业层)
Sheets编辑、公式、数字格式、筛选排序、数据验证、条件格式、超链、批注、查找替换、表格、绘图实时协作、编辑历史、导入导出、打印、图表、透视表、迷你图、数据连接器、服务端计算
Docs富文本模型、编辑 UI、列表、超链、批注、快速插入协作、导入导出、打印、增强表格/列表、分栏、标注块
RuntimeNode headless、RPC/Web Worker、多实例、自动化原语协作客户端/服务端、SSR、计算委派、changeset 回放
核心机制

公式引擎:独立内核,依赖图驱动

  • 引擎不在表格里:engine-formula 是独立包——解析、引用解析(A1 / 范围)、依赖图构建、拓扑计算序、循环检测都是引擎职责,Sheets 与 Bases(多维表)共用
  • 计算 = 图遍历:改一个格子只重算依赖它的子图,不是全表重算——大表格响应性的另一半(另一半是 Canvas 渲染)
  • 循环引用是显式状态:依赖图检测出环 → 环上格子标记错误,不连坐崩引擎
  • Pro 增强方向:服务端计算、计算委派、性能增强公式特性——引擎的扩展点就是这些
  • Facade 公式 API:univerAPI 层面公式的读写与计算结果获取,浏览器与 Node 同形——headless 跑报表计算不碰 UI
  • 想亲手玩依赖图?:下一页 Playground 复刻了这套机制(解析→建图→拓扑序→循环检测),编辑公式实时看图变化
在线体验

亲手拨动一张公式依赖图

Playground 复刻公式引擎内核:点击格子改公式(支持四则、单格引用、SUM 范围)→ 实时看引用解析、依赖图连线、拓扑计算序、逐格求值;写下循环引用立刻看 #CIRCULAR! 在环上扩散。引擎最核心的「改一处、只算子图」语义,玩一分钟就懂。

打开 Playground

纯前端实现,零网络依赖 · 引用解析 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 包的纪律痕迹

潜力评估

未来空间

评分 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。


1 / 16