dream-num/univer
表計算や文書の編集機能を、自分のサービスに部品として組み込む
どういうものか
表計算・文書・スライドといったオフィス系の機能を、自分の製品の中に作り込むための開発キット(SDK)だ。TypeScript で書かれ、ライセンスは Apache-2.0。開発元は DreamNum 社。できあがったアプリを使わせるのではなく、部品を渡して、自分の製品の中の表計算を組み立てさせる。README も「表計算ファイルを表示するだけのものではなく、自分の作業画面を作るための枠組み」と書いている。
機能はすべてプラグインに分かれていて、必要なものだけを組み合わせて使う。細かく選ぶ「プラグインモード」のほか、よく使う組み合わせをまとめた「プリセットモード」で手早く始めることもできる。画面は Canvas で描き、専用の数式エンジンを持つ。同じ仕組みがブラウザでも Node.js でも動くのが特徴で、Node.js では画面なしで、ブックの処理や数式の計算をさせられる。操作は Facade API という共通の窓口から行い、React・Vue・Web Components と組み合わせられる。
最近は「AIエージェントのためのオフィス基盤」を前面に出している。エージェントが決まった API で中身を読み書きし、画面の写しなどで結果を確かめ、人は下書きとして分けられた変更を見て取り込むかを決める、という使い方だ。ただし README は、共同編集や、この下書きを使う流れには対応する Web SDK と共同編集の機能が必要で、提供の形とライセンスは機能ごとに違うと断っている。
どんなときに使うか
自社のサービスの中に、表計算の編集画面を入れたいとき
別の表計算ソフトに飛ばさず、自分の画面の中で数式・並べ替え・絞り込み・条件付き書式まで使える。要らない機能はプラグインごと外せる。
サーバー側で、ブックの処理や数式の計算を自動で回したいとき
オープンソース版の範囲でも Node.js で画面なしに動かせるので、画面で使っているのと同じ仕組みで、裏側の自動処理やAIエージェントからの操作を組める。
注意点
オープンソース版と商用版の線引きを先に確認する。 このリポジトリにあるのはオープンソースの中核部分で、表計算の編集・数式・書式・絞り込みと並べ替え・入力規則・条件付き書式・コメントなどが入っている。一方、共同編集・編集履歴・ファイルの読み込みと書き出し・印刷・グラフ・ピボットテーブルなどは商用版の Univer Pro の側だ。「ファイルを開いて編集して保存する」までをオープンソース版だけで組めるとは限らない。
成熟度に差がある。 README は、いちばん成熟しているのは表計算だとしている。文書とスライドは同じ仕組みの上で発展の途中で、スライドは開発が進行中と書かれている。
部品の版を揃える必要がある。 @univerjs/* の各パッケージは同じ版で揃えて使うよう README が求めている。Node.js で画面なしに動かすには Node.js 18.17 以上が要る。