Обзор пакетов

Публичные пакеты Collaboration SDK для Core, History, Thread Comment, Worktree и Office Exchange.

Это карта выбора пакетов. Сначала соберите Core Collaboration, затем добавьте нужные расширения. Все пакеты устанавливать не нужно.

Core Collaboration

Core Collaboration предоставляет основной путь браузерной совместной работы, серверного протокола, OT, ревизий и хранения.

СредаПакетОсновная ответственность
Браузер@univerjs-pro/collaborationРегистрирует базовые браузерные возможности
Браузер@univerjs-pro/collaboration-clientЗагрузка Units, отправка изменений и синхронизация
Браузер@univerjs-pro/collaboration-client-uiПредоставляет UI состояния и стили
Server@univerjs-pro/collaboration-transport-nodeПринимает HTTP и WebSocket Node.js
Server@univerjs-pro/collaboration-endpointРеализует протокол Client, Sessions, Rooms и Presence
Server@univerjs-pro/collaboration-serviceУправляет Units, OT, ревизиями и API ядра
База данных@univerjs-pro/collaboration-database-memoryХранение в процессе для тестов, примеров и временной разработки
База данных@univerjs-pro/collaboration-database-sqliteSQLite для разработки, тестов, локальных и небольших установок
Multi-node@univerjs-pro/collaboration-cluster-redisPub/sub-адаптер и хранилище session tickets на Redis для развёртывания на нескольких узлах

Core Server нужны Transport, Endpoint, Service и один Database Adapter. Memory и SQLite реализуют один контракт; обычно выбирают один. Для развёртывания на нескольких узлах также нужны pub/sub-адаптер и общее хранилище session tickets. Оба контракта (IPubSubAdapter, ISessionTicketStore) определяет Endpoint; SDK предоставляет реализацию на Redis.

History

History строит индекс версий по событиям создания Unit и фиксации изменений Core.

СредаПакетОсновная ответственность
БраузерПовторно использует Core Client/UIПоказывает и читает историю
Server@univerjs-pro/collaboration-history-serviceСтроит и запрашивает индекс истории
Server@univerjs-pro/collaboration-history-endpointПредоставляет Client протокол History
База данных@univerjs-pro/collaboration-history-database-sqliteХранит производный индекс History

История — восстанавливаемый производный индекс. Наборы изменений Core остаются источником истины содержимого.

Thread Comment

Thread Comment управляет текстами, ответами и статусом решения комментариев Sheets и Docs.

СредаПакетОсновная ответственность
БраузерИспользует пакеты Core CollaborationИспользует Comment Client и UI
Server@univerjs-pro/collaboration-comment-serviceУправляет комментариями и событием commentCommitted
Server@univerjs-pro/collaboration-comment-endpointПредоставляет протокол и публикует обновления через Unit Rooms
База данных@univerjs-pro/collaboration-comment-database-memoryХранение комментариев в процессе
База данных@univerjs-pro/collaboration-comment-database-sqliteХранение комментариев в SQLite

Comment Adapter хранит комментарии. Движущиеся с содержимым якоря остаются в снимках и изменениях Core.

Worktree

Worktree предоставляет изолированные черновики, переходы статуса и слияние по Unit.

СредаПакетОсновная ответственность
Браузер@univerjs-pro/collaboration-worktree-clientПодключает черновики, статус и слияние Worktree
Server@univerjs-pro/collaboration-worktree-serviceУправляет изменениями черновиков, статусом и слиянием
Server@univerjs-pro/collaboration-worktree-endpointПредоставляет протокол Worktree Client
База данных@univerjs-pro/collaboration-worktree-database-memoryХранение Worktree в процессе
База данных@univerjs-pro/collaboration-worktree-database-sqliteХранение Worktree в SQLite

Worktree Service сливает в trunk через Core Service, поэтому Middleware нужны на обеих границах.

Office Exchange

Office Exchange — прикладной процесс преобразования файлов с Collaboration Service, без собственного совместного Database Adapter.

СредаПакетОсновная ответственность
Браузер@univerjs-pro/exchange-clientБазовые браузерные возможности обмена файлами
Браузер@univerjs-pro/sheets-exchange-clientИмпорт и экспорт Sheet
Server@univerjs-pro/exchange-nodeПреобразование Office и данных Univer в Node.js

При импорте данные передаются в createUnitFromSnapshot(), при экспорте подтверждённая ревизия читается через Core Service. Файлы, задачи и бизнес-API контролирует приложение.

Правила выбора

  1. Начните с пакетов Core из Быстрого старта.
  2. Выберите один Core Database Adapter: Memory, SQLite или собственный.
  3. Для развёртывания на нескольких узлах добавьте pub/sub-адаптер и хранилище session tickets на Redis.
  4. Установите только нужные расширения.
  5. Создайте отдельный Adapter для каждого модуля даже при общем файле SQLite.

Связи описаны в Модулях расширений, запускаемые сборки — в Примерах.

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.