本文へ移動
cccskills
無料GitHub で公開

univer-node-backend

Run Univer Sheets, Docs, Slides, Bases, Boards, or PDFs in Node.js without browser UI. Use for server-side or backend Univer, OSS Sheets or Docs Node presets, Pro product Facades and collaboration, JSON snapshot processing, formula or Base child-process workers, or automated unit manipulation with @univerjs/rpc-node.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md7.1 KB
  • agents/openai.yaml332 B
  • references/node-common-tasks.md6.3 KB
  • references/node-plugin-registry.md14.7 KB
  • references/node-pro-integration.md17.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Univer Node.js Backend

Run Univer without browser UI for data, document, presentation, Base, Board, and PDF automation.

Compatibility: Synced to the current Univer and Univer Pro source baseline, 1.0.0-beta.0. Keep every @univerjs/* and @univerjs-pro/* package on exactly the same version. The public OSS headless runtime supports Node.js >=18.17.0; developing the current Univer source checkout requires Node.js >=22.18 and pnpm >=10.

Public setup: Prefer createUniver with @univerjs/preset-sheets-node-core or @univerjs/preset-docs-node-core when either OSS preset fits. createUniverOnNode is the name of an example-local helper in the Univer repositories, not an exported npm API. The other four product hosts currently use manual Pro plugin stacks.

Choose the product path

Package existence, headless model/Facade support, browser rendering, and a maintained preset are separate facts:

ProductCurrent Node pathVerified current example boundary
SheetsOSS UniverSheetsNodeCorePreset; manual Pro stack for licensed featuresLocal OSS workbooks; the Pro example loads a collaborative Sheet
DocsOSS UniverDocsNodeCorePreset; manual Pro stack for licensed Docs featuresLocal document model through the OSS preset; the Pro example loads a collaborative Doc
SlidesManual @univerjs-pro/slides stack and @univerjs-pro/slides/facadeThe current Pro example loads a collaborative Slide
BasesManual @univerjs-pro/bases stack and @univerjs-pro/bases/facade; the current example pairs a Node formula workerThe current Pro example loads a collaborative Base
BoardsManual @univerjs-pro/boards stack and @univerjs-pro/boards/facadeThe current Pro example can call local createBoard(...) or load a collaborative Board
PDFsManual @univerjs-pro/pdfs stack and @univerjs-pro/pdfs/facadeThe current Pro example loads a collaborative PDF and edits its model

Slides, Bases, Boards, and PDFs have no unified Node preset in the checked source. Their current Node examples register runtime/model plugins and Facade side effects without *-ui plugins or CSS. A registered render engine satisfies model dependencies in some examples; it does not establish browser canvas rendering, screenshots, print, or exchange-client support. Read the Node plugin registry and Pro Node.js integration before composing one of these hosts.

Quick Start

1. Install the current Node preset

npm install @univerjs/core@1.0.0-beta.0 @univerjs/presets@1.0.0-beta.0 @univerjs/preset-sheets-node-core@1.0.0-beta.0 rxjs@^7.8.2

2. Create and process a workbook

import { LocaleType } from '@univerjs/core';
import { UniverSheetsNodeCorePreset } from '@univerjs/preset-sheets-node-core';
import UniverSheetsNodeCoreEnUS from '@univerjs/preset-sheets-node-core/locales/en-US';
import { createUniver } from '@univerjs/presets';

const { univer, univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: UniverSheetsNodeCoreEnUS,
  },
  presets: [UniverSheetsNodeCorePreset()],
});

try {
  const workbook = univerAPI.createWorkbook({});
  const sheet = workbook.getActiveSheet();

  sheet.getRange('A1').setValue(123);
  sheet.getRange('B1').setValue('=SUM(A1) * 6');
  await univerAPI.getFormula().onCalculationResultApplied();

  console.log(sheet.getRange('B1').getValue()); // 738
  console.log(workbook.save());
} finally {
  univer.dispose();
}

The preset registers the core Sheets, formula, data-validation, filter, hyperlink, drawing, sort, and thread-comment plugins plus their Node-safe Facade extensions.

Formula Worker

Pass a built JavaScript worker path to the preset. @univerjs/rpc-node uses node:child_process.fork(), not a browser Worker.

// main.ts (ESM)
import { fileURLToPath } from 'node:url';
import { LocaleType } from '@univerjs/core';
import { UniverSheetsNodeCorePreset } from '@univerjs/preset-sheets-node-core';
import UniverSheetsNodeCoreEnUS from '@univerjs/preset-sheets-node-core/locales/en-US';
import { createUniver } from '@univerjs/presets';

const workerSrc = fileURLToPath(new URL('./formula-worker.js', import.meta.url));
const { univer, univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: UniverSheetsNodeCoreEnUS,
  },
  presets: [UniverSheetsNodeCorePreset({ workerSrc })],
});
// formula-worker.ts; compile it to formula-worker.js before running main.ts
import { LocaleType } from '@univerjs/core';
import { UniverSheetsNodeCoreWorkerPreset } from '@univerjs/preset-sheets-node-core/worker';
import { createUniver } from '@univerjs/presets';

createUniver({
  locale: LocaleType.EN_US,
  presets: [UniverSheetsNodeCoreWorkerPreset()],
});

The worker preset includes UniverRPCNodeWorkerPlugin and UniverRemoteSheetsFormulaPlugin. Do not replace the latter with the main-thread UniverSheetsFormulaPlugin.

Node-Specific Rules

ConcernBrowserNode.js
SetupBrowser preset or manual UI pluginsSheets/Docs Node preset, or a source-verified manual Pro product stack
UIUniverUIPlugin, *-ui, CSSOmit
RPC mainUniverRPCMainThreadPlugin with workerURLUniverRPCNodeMainPlugin with workerSrc
RPC workerUniverRPCWorkerThreadPluginUniverRPCNodeWorkerPlugin
Formula worker bridgeUniverRemoteSheetsFormulaPluginUniverRemoteSheetsFormulaPlugin
ThemeRuntime theme and CSS required for UINot needed for data-only processing

Facade imports

The Sheets Node preset loads its documented Facade side effects. The Docs Node preset loads only the formula Facade; import @univerjs/docs/facade before calling createDocument(...). With manual registration, import the Facade entry for every API surface used and exclude @univerjs/ui/facade and *-ui/facade. Read the Node plugin registry before assembling a manual plugin or Facade list.

Pro on Node.js

For the six-product Pro Node matrix, exact runtime/Facade stacks, formula and Base workers, model-only chart/shape boundaries, and collaboration, read Pro Node.js integration.

References

  • Node plugin registry — six-product support matrix, current preset contents, manual plugins, Facade allowlist, worker pairing, and browser-only exclusions
  • Node common tasks — batch reports, JSON snapshots, formula barriers, custom functions, events, and resource cleanup
  • Pro Node.js integration — exact six-product Pro stacks, formula/Base workers, collaboration socket adapter, license handling, and current headless limitations

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Build applications with Univer Office SDK, covering the Web SDK (embedded Sheets, Docs, Slides, Boards, Bases and PDFs editors), Server SDK (self-hosted OT collaboration, storage, auth, Office import/export), AI SDK (agent-operated Office CLIs, reviewable Worktrees), and Binding SDK (plain HTML pages bound to live Sheet data). Use when starting or designing any Univer-based app or choosing Univer packages, including when the user describes a spreadsheet, document, collaboration, or AI-office need without naming a Univer package.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

Use when installing or operating Univer CLI for .univer files, spreadsheets, documents, slides, Base databases, Board canvases, cross-Unit embedding, worktrees, Facade authoring, inspection, verification, import/export, screenshots, or viewer handoff.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

Customize Univer color themes, branded palettes, dark mode, and theme-aware plugin styles across Sheets, Docs, Slides, Bases, Boards, and PDFs. Use when setting an initial or runtime Theme, consuming ThemeService or --univer-* CSS variables, keeping custom UI or canvas code theme-aware, registering a separate Univer Pro chart theme, or migrating theme code from Univer 0.25.0 to current 1.0 source.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

Integrate Univer Sheets, Docs, or Slides into React, Vue 3, HTML, or Node.js projects. Use when embedding Univer, choosing preset or plugin mode, initializing instances, configuring themes/locales/workers, or manipulating workbooks, worksheets, ranges, formulas, permissions, and events through the Facade API.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

Develop custom plugins for Univer sheets, docs, slides, bases, boards, and PDFs. Use when implementing a Plugin lifecycle, dependency injection, commands/mutations/operations, undo/redo, Facade extensions or custom events, toolbar/context-menu items, shortcuts, icons, popups, or when diagnosing plugin API and registration errors.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

Integrate current Univer Pro features into browser applications. Use for licensed Sheets, Docs, Slides, Bases, Boards, or PDFs; advanced Sheets presets; collaboration and edit history; Office import/export; printing; pivot tables; charts; sparklines; shapes; Pro workers; license ordering; or Pro Facade APIs.

日本語の概要は準備中です。原文の説明を表示しています。

dream-num/skills772026年10月12日 更新

dream-num のスキルをすべて見る

このスキルの問題を報告する