API 참조

@univerjs-pro/collaboration-client

이 API 페이지의 본문은 현재 영어로 제공됩니다. 코드 시그니처와 식별자는 언어에 따라 바뀌지 않습니다.

Client-side collaboration plugin for Web SDK.

TypeScript
import type { IUniverCollaborationClientConfig } from '@univerjs-pro/collaboration-client'import { UniverCollaborationClientPlugin } from '@univerjs-pro/collaboration-client'import { BrowserCollaborationSocketService } from '@univerjs-pro/collaboration-client-ui'const config: IUniverCollaborationClientConfig = {  socketService: BrowserCollaborationSocketService,}univer.registerPlugin(UniverCollaborationClientPlugin, config)

socketService is required. Browser clients can use BrowserCollaborationSocketService; other hosts must provide their own ICollaborationSocketService implementation.

Entry Points

  • Facade: @univerjs-pro/collaboration-client/facade
  • Locale: @univerjs-pro/collaboration-client/locale/*

The Facade entry exposes host-specific loaders for Sheets, Docs, Bases, Slides, Boards, and PDFs, including loadPdfAsync(unitId, context?).

IUniverCollaborationClientConfig

TypeScript
import type { Ctor, DependencyOverride } from '@univerjs/core'import type { ICollaborationSocketService } from '../services/socket/collaboration-socket.service'export interface IUniverCollaborationClientConfig {  /**   * Which socket should the plugin use to build connections to the collaborative engine.   * For normal cases, you should use `BrowserCollaborationSocketService` from the `collaboration-client-ui` plugin.   */  socketService: Ctor<ICollaborationSocketService>  /**   * If the plugin should enable collaborative editing. Which means the client will exchange edits with   * the collaboration server. It this is set to false, the client will simply load data from the server.   *   * @default true   */  enableCollaboration?: boolean  /**   * If offline editing is enabled.   * @default false   */  enableOfflineEditing?: boolean  enableSingleActiveInstanceLock?: boolean  enableAuthServer?: boolean  /**   * Override internal modules with custom implementations.   */  override?: DependencyOverride  sendChangesetTimeout?: number  snapshotServerUrl?: string  collabSubmitChangesetUrl?: string  collabWebSocketUrl?: string  /**   * The URL of the endpoint for getting the websocket session ticket.   */  wsSessionTicketUrl?: string  loginUrlKey?: string  retryConnectingInterval?: number  authzUrl?: string  /**   * The URL of the endpoint for downloading files.   * @default 'location.origin'   */  downloadEndpointUrl?: string  uploadFileServerUrl?: string  signUrlServerUrl?: string  /**   * The URL of the endpoint for starting formula limit.   */  startFormulaLimitUrl?: string  /**   * The URL of the endpoint for getting formula limit status.   */  getFormulaLimitStatusUrl?: string  /**   * The URL of the endpoint for releasing formula limit.   */  releaseFormulaLimitUrl?: string  /**   * The socket connection custom headers.   */  customHeaders?: Record<string, string>}

이 가이드는 어떠셨나요?

© 2026 DreamNum Co., Ltd.