# 协同编辑

- Human documentation: [https://docs.univer.ai/zh-CN/guides/bases/features/collaboration](https://docs.univer.ai/zh-CN/guides/bases/features/collaboration)

- Agent Markdown: [https://docs.univer.ai/zh-CN/guides/bases/features/collaboration.md](https://docs.univer.ai/zh-CN/guides/bases/features/collaboration.md)

- Requested language: `zh-CN`

- Content language: `zh-CN`

- Documentation version: `1.0.0-rc.0`

- Source: [bases/features/collaboration.zh-CN.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/bases/features/collaboration.zh-CN.mdx)

---

#### Package metadata

```json
{
  "preset": [],
  "plugins": [
    {
      "client": "@univerjs-pro/collaboration"
    },
    {
      "client": "@univerjs-pro/collaboration-client",
      "facade": "@univerjs-pro/collaboration-client/facade",
      "locale": "@univerjs-pro/collaboration-client/locale/zh-CN"
    },
    {
      "client": "@univerjs-pro/collaboration-client-ui",
      "facade": "@univerjs-pro/collaboration-client-ui/facade",
      "locale": "@univerjs-pro/collaboration-client-ui/locale/zh-CN",
      "style": "@univerjs-pro/collaboration-client-ui/lib/index.css"
    }
  ],
  "license": true,
  "server": true
}
```

让多个用户打开同一个 Base，共同修改表、字段、记录和视图。用户可以在不同视图中工作，修改仍作用于同一份文档。

## 接入步骤

1. 按[协同集成](https://docs.univer.ai/zh-CN/server/collaboration/browser-integration.md)运行协同示例，接入登录、权限和数据库。
2. 在已有 Bases 编辑器中加入 Collaboration Client 配置。前端配置方式见 [Office 快速开始](https://docs.univer.ai/zh-CN/server/collaboration/quick-start.md)，但后端创建和保存的文档类型应为 Bases，不能直接使用示例中的 Sheets 数据。
3. 由业务后端创建 Base 文档，将返回的 ID 交给前端加载。

## 打开服务端 Base

```ts
import '@univerjs-pro/bases/facade'
import '@univerjs-pro/collaboration-client/facade'

const base = await univerAPI.getCollaboration().loadBaseAsync('your-base-id')
if (!base) throw new Error('Base could not be loaded')
```

重新打开或分享文档时使用同一个 ID。不要再用 `createBase()` 创建本地空白文档来代替服务端加载。

## 验证同步和保存

用两个独立浏览器会话加载同一份文档，在一端添加记录或修改字段，确认另一端能收到变化；刷新页面并重启服务后，修改仍应保留。

查看者和无权限用户都需要由服务端校验。[本地只读设置](https://docs.univer.ai/zh-CN/guides/bases/features/core/permissions.md)只控制编辑器行为。导入导出、评论和历史记录还需要各自的后端功能，见[导入导出](https://docs.univer.ai/zh-CN/guides/bases/features/import-export.md)、[评论](https://docs.univer.ai/zh-CN/guides/bases/features/thread-comment.md)和[历史记录](https://docs.univer.ai/zh-CN/guides/bases/features/edit-history.md)。
