协同集成

将 Univer 编辑器连接到协同服务,让多个用户编辑同一份文档。

协同集成连接前端编辑器和协同服务。例如,两位用户打开同一份表格,一方修改单元格,另一方能实时看到变化。

先按服务端集成准备后端,再完成下面的前端配置和文档加载。具体代码以 Office 快速开始中的 Server、Web 示例为准。

100%

连接已有编辑器

保留已有的 Web SDK 编辑器,按快速开始中的前端配置添加协同插件,并配置文档加载、修改提交和 WebSocket 连接地址。前后端包版本需要匹配。

示例中的固定用户和默认权限仅用于演示。正式接入时,让编辑器请求携带应用的登录信息,由后端确认用户身份和文档权限。许可证配置见使用许可证

创建和打开同一份文档

“新建”和“打开”是两步不同的操作:

  1. 用户新建文档时,业务后端创建并保存文档,返回文档 ID。
  2. 前端用这个 ID 加载文档。再次打开或分享给其他用户时,仍使用同一个 ID。

API 中的 unitId 就是文档 ID。不要在每次打开时重新创建本地空白文档。

例如,已经注册 Sheets 和协同插件后,可以这样打开服务端表格:

TypeScript
import '@univerjs-pro/collaboration-client/facade'const workbook = await univerAPI.getCollaboration().loadSheetAsync('your-document-id')if (!workbook) throw new Error('Document could not be loaded')

不同产品的加载方式见 SheetsDocsSlidesBoardsBasesPDFs。使用前确认对应产品与目标服务端版本支持该能力。

验证同步、保存和权限

用两个独立浏览器会话打开同一文档,例如普通窗口和无痕窗口。在一端修改内容,检查另一端是否收到;刷新页面、断线重连和服务重启后,再检查内容是否保留。

随后用编辑者、查看者和无权限用户验证访问规则。前端只读设置控制界面操作,服务端仍需拒绝无权限的读取和修改请求。

如果文档能打开但修改不同步,先检查 WebSocket 连接;如果重启后内容丢失,检查后端存储。相应配置见服务端集成

添加导入导出、评论或历史记录

导入文件后多人编辑,需要将转换结果创建为协同文档,见导入导出集成。评论和历史记录需要各自的插件、后端服务及权限,按 Office 协同扩展模块接入。

历史面板的前端配置见 Sheets, Docs, Slides, Boards, Bases。PDFs 的支持范围见历史记录说明

你觉得这篇文档如何?

© 2026 DreamNum Co., Ltd.