Vue d’ensemble des paquets

Comprendre les paquets publics de Core, History, Thread Comment, Worktree, File et Office Exchange.

Cette page guide le choix des paquets. Composez d’abord Core Collaboration, puis ajoutez les extensions nécessaires. Il n’est pas nécessaire de tout installer.

Les paquets serveur des Database Adapters, de File et d’Office Exchange sont open source sous Apache-2.0 ; le code se trouve dans univer-collaboration-sdk-community. Ils partagent le préfixe et la version des autres paquets et s’installent de la même façon.

Core Collaboration

Core Collaboration fournit le circuit principal : collaboration navigateur, protocole serveur, OT, révisions et persistance.

EnvironnementPaquetResponsabilité principale
Navigateur@univerjs-pro/collaborationEnregistre les capacités collaboratives de base du navigateur
Navigateur@univerjs-pro/collaboration-clientCharge les Units, envoie les changements et maintient la synchronisation
Navigateur@univerjs-pro/collaboration-client-uiFournit l’UI et les styles d’état collaboratif
Server@univerjs-pro/collaboration-transport-nodeReçoit le trafic HTTP et WebSocket Node.js
Server@univerjs-pro/collaboration-endpointImplémente protocole Client, Sessions, Rooms et Presence
Server@univerjs-pro/collaboration-serviceGère Units, OT, révisions et API du Service central
Base de données@univerjs-pro/collaboration-database-memoryStockage en processus pour tests, exemples et développement temporaire
Base de données@univerjs-pro/collaboration-database-sqlitePersistance SQLite pour développement, tests, usage local et petite échelle
Base de données@univerjs-pro/collaboration-database-postgresPersistance PostgreSQL partagée entre plusieurs nœuds
Multi-node@univerjs-pro/collaboration-cluster-redisAdaptateur pub/sub et stockage des session tickets sur Redis pour le déploiement sur plusieurs nœuds

Un Core Server nécessite Transport, Endpoint, Service et un Database Adapter. Memory, SQLite et PostgreSQL implémentent le même contrat ; choisissez normalement l’un des trois. Un déploiement sur plusieurs nœuds nécessite aussi un adaptateur pub/sub et un stockage de session tickets partagé. L’Endpoint définit les deux contrats (IPubSubAdapter, ISessionTicketStore) ; le SDK fournit une implémentation sur Redis.

History

History construit un index de versions depuis les événements de création d’Unit et de commit du Core.

EnvironnementPaquetResponsabilité principale
NavigateurRéutilise Core Client/UIAffiche et lit les entrées d’historique
Server@univerjs-pro/collaboration-history-serviceConstruit et interroge l’index d’historique
Server@univerjs-pro/collaboration-history-endpointExpose le protocole History au Client
Base de données@univerjs-pro/collaboration-history-database-memoryStockage en mémoire de l’index History
Base de données@univerjs-pro/collaboration-history-database-sqliteStocke l’index History dérivé

L’historique est un index dérivé reconstructible. Les changements Core restent la référence du contenu.

Thread Comment

Thread Comment gère les textes, réponses et états résolus des commentaires Sheets et Docs.

EnvironnementPaquetResponsabilité principale
NavigateurRéutilise les paquets Core CollaborationUtilise Comment Client et l’UI
Server@univerjs-pro/collaboration-comment-serviceGère les commentaires et l’événement commentCommitted
Server@univerjs-pro/collaboration-comment-endpointFournit le protocole et publie les mises à jour via les Unit Rooms
Base de données@univerjs-pro/collaboration-comment-database-memoryStockage des commentaires en processus
Base de données@univerjs-pro/collaboration-comment-database-sqlitePersistance SQLite des commentaires

Comment Adapter stocke les commentaires. Les ancres mobiles avec le contenu restent dans les instantanés et changements Core.

Worktree

Worktree fournit brouillons isolés, transitions d’état et fusion par Unit.

EnvironnementPaquetResponsabilité principale
Navigateur@univerjs-pro/collaboration-worktree-clientConnecte brouillons, états et fusion Worktree
Server@univerjs-pro/collaboration-worktree-serviceGère changements du brouillon, états et fusion
Server@univerjs-pro/collaboration-worktree-endpointFournit le protocole au Worktree Client
Base de données@univerjs-pro/collaboration-worktree-database-memoryStockage Worktree en processus
Base de données@univerjs-pro/collaboration-worktree-database-sqlitePersistance SQLite de Worktree

Worktree Service fusionne via Core Service dans le trunk ; configurez donc les Middleware aux deux frontières.

File

File stocke les fichiers binaires envoyés par les clients Univer : images et pièces jointes insérées dans une Unit, ainsi que les fichiers source et résultat de l’import et de l’export. Les données de l’Unit n’enregistrent que l’ID du fichier.

EnvironnementPaquetResponsabilité principale
NavigateurRéutilise le Core Collaboration ClientEnvoie images et pièces jointes et résout les ID de fichier en URL
Server@univerjs-pro/collaboration-file-serviceApplique les règles de propriété, les Middleware et le nettoyage des fichiers temporaires
Server@univerjs-pro/collaboration-file-endpointFournit les routes d’envoi, de sign-url et de téléchargement
Base de données@univerjs-pro/collaboration-file-memoryStockage en mémoire des métadonnées et du contenu
Base de données@univerjs-pro/collaboration-file-database-sqlitePersistance SQLite des métadonnées de fichier
Base de données@univerjs-pro/collaboration-file-database-postgresPersistance PostgreSQL des métadonnées de fichier
Stockage@univerjs-pro/collaboration-file-blob-localStocke le contenu dans un répertoire local
Stockage@univerjs-pro/collaboration-file-blob-s3Stocke le contenu dans un stockage objet compatible S3, avec liens directs signés

Métadonnées et contenu sont deux contrats indépendants ; chacun peut suivre le stockage existant de l’application, par exemple métadonnées en base et contenu en stockage objet.

Office Exchange

Office Exchange importe des fichiers Office en Units collaboratives et exporte des Units en fichiers. File stocke les fichiers source et résultat.

EnvironnementPaquetResponsabilité principale
Navigateur@univerjs-pro/exchange-clientFournit l’échange de fichiers de base du navigateur
Navigateur@univerjs-pro/sheets-exchange-clientFournit l’import-export Sheet
Server@univerjs-pro/collaboration-exchange-serviceGère les task d’import et d’export, les Middleware et la création et lecture des Units
Server@univerjs-pro/collaboration-exchange-endpointFournit les routes d’import, d’export et de task
Server@univerjs-pro/exchange-nodeConvertit Office et données Univer dans Node.js

Exchange Service crée et lit les Units via Core Service et lit et écrit les fichiers via File Service ; il s’assemble donc avec Core et File.

Règles de sélection

  1. Commencez par les paquets Core du démarrage rapide.
  2. Choisissez un Core Database Adapter : Memory, SQLite, PostgreSQL ou personnalisé.
  3. Pour un déploiement sur plusieurs nœuds, ajoutez l’adaptateur pub/sub et le stockage de session tickets sur Redis.
  4. Installez seulement les extensions utilisées.
  5. Pour les images, pièces jointes ou l’import et export, assemblez d’abord File, puis ajoutez Office Exchange si besoin.
  6. Créez un Adapter distinct par module, même avec une base de données partagée.

Consultez les extensions collaboratives pour les relations et les exemples pour les assemblages exécutables.

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.