# アプリケーション構成

> Web SDK、Server SDK、AI SDK の責任範囲と組み合わせ方を説明します。

- Human documentation: [https://docs.univer.ai/ja-JP/server/architecture](https://docs.univer.ai/ja-JP/server/architecture)

- Agent Markdown: [https://docs.univer.ai/ja-JP/server/architecture.md](https://docs.univer.ai/ja-JP/server/architecture.md)

- Requested language: `ja-JP`

- Content language: `ja-JP`

- Documentation version: `1.1.0`

- Source: [architecture.ja-JP.mdx](https://github.com/dream-num/documentation/blob/dev/content/server/architecture.ja-JP.mdx)

---

Univer Office SDK は、埋め込みエディターとヘッドレス[^headless-mode]のコンテンツ処理を提供する [Web SDK](https://docs.univer.ai/ja-JP/guides/sheets.md)、共同編集とファイルのインポート・エクスポートを提供する [Server SDK](https://docs.univer.ai/ja-JP/server.md)、エージェントのワークフローを提供する [AI SDK](https://docs.univer.ai/ja-JP/ai.md) で構成されます。

**Univer** は人と AI Agent が同じ Office コンテンツを操作するアプリケーションの開発ツール群です。人向け Web、AI Agent 向け CLI、両者が共有する Server を提供することも、必要な部分だけ使うこともできます。

## SDK の構成

```mermaid
%%{init: {"themeVariables": {"fontSize": "14px"}, "flowchart": {"nodeSpacing": 24, "rankSpacing": 32, "padding": 16, "curve": "monotoneX"}}}%%
flowchart LR
    Human(["人間のユーザー"]) --> Web["<b>Web SDK</b><br/>ブラウザー · Web"]
    Agent(["AI Agent"]) --> CLI["<b>AI SDK</b><br/>CLI"]
    Web --> Server["<b>Server SDK</b><br/>共同編集 · ファイル交換<br/>+ 業務コード"]
    CLI --> Server
    classDef default rx:8,ry:8,stroke-width:1px
    classDef actor fill:transparent,stroke:none
    class Human,Agent actor
```

| コンポーネント | 実行環境    | 主な SDK                             | SDK が提供               | アプリケーションが担当                |
| ------- | ------- | ---------------------------------- | --------------------- | -------------------------- |
| Web     | ブラウザー   | Web SDK                            | 対話的な Office 表示と編集     | UI、製品の操作、ブラウザー統合           |
| CLI     | Node.js | AI SDK                             | AI Agent 向けの検査と編集     | AI Agent フロー、ツール呼び出し、タスク境界 |
| Server  | Node.js | Server SDK（Collaboration、Exchange） | 自己ホスト共同編集と Office 入出力 | 業務 API、ID、権限、ファイル保存、配置     |

ドキュメントは [Web SDK](https://docs.univer.ai/ja-JP/guides/sheets.md)、[Server SDK](https://docs.univer.ai/ja-JP/server.md)、[AI SDK](https://docs.univer.ai/ja-JP/ai.md) に分かれ、エディター、共同編集・ファイル交換、AI Agent の内容操作を扱います。

AI SDK は Web SDK のヘッドレス機能を再利用します。3 つは主な開発入口と実行場所を示し、独立した技術スタックでも、アプリケーションコードなしで配置できる完成品でもありません。

## ファイルの入出力の統合

Server SDK の `@univerjs-pro/exchange-node` が Office ファイルと Univer データを相互変換します。アプリケーションがモジュールを組み込み、アップロード・変換・ダウンロード API を提供します。Web SDK はブラウザー操作を担当し、CLI は Node.js で変換を呼べます。ブラウザー設定は各製品の Web SDK 文書で説明します。

* **共同編集なし：** ファイルをスナップショットに変換し、ブラウザーで開いて編集します。出力は最新スナップショットを変換モジュールへ渡します。サーバー変換は必要ですが共同編集サービスは不要です。
* **共同編集あり：** 取り込んだデータを共同編集ドキュメントとして保存します。Web と AI SDK は ID で同じ内容を操作します。出力前に現在の編集を同期し、最新データを読み取って変換します。

変換だけなら Exchange をローカル Node.js またはリモートサービスで利用でき、AI SDK と共同編集は不要です。手順は[ファイル交換の統合](https://docs.univer.ai/ja-JP/server/import-export.md)、モジュールの使い方は [Office ファイルの入出力](https://docs.univer.ai/ja-JP/server/import-export/node.md)を参照してください。

## 配置構成

| 構成           | Web                 | CLI                  | Server      | 用途                           |
| ------------ | ------------------- | -------------------- | ----------- | ---------------------------- |
| ローカルアプリ      | ローカルブラウザー／デスクトップ UI | ローカルプロセス             | ローカルプロセス    | デスクトップ Office とローカル AI Agent |
| SaaS         | ブラウザー               | ユーザー端末／クラウド AI Agent | リモートサービス    | 複数ユーザーと集中運用                  |
| Web + Server | ブラウザー               | —                    | ローカルまたはリモート | AI Agent 入口をまだ提供しない          |
| Web のみ       | ブラウザー／デスクトップ UI     | —                    | —           | ローカル、単独、非共同編集                |

同じマシンでもクライアントとクラウドに分けても実行できます。配置は責任を変えません。Server がある場合、Web と CLI はそれを介して共有内容と製品機能にアクセスします。

## 入口を選ぶ

| 目的                           | 最初に読むページ                                               |
| ---------------------------- | ------------------------------------------------------ |
| Web に Office エディターを埋め込む      | [Web SDK](https://docs.univer.ai/ja-JP/guides/sheets.md)                              |
| エディターに Office 入出力を追加         | [ファイル交換の統合](https://docs.univer.ai/ja-JP/server/import-export.md)                     |
| Node.js で Office を変換         | [Office ファイルの入出力](https://docs.univer.ai/ja-JP/server/import-export/node.md)          |
| 自己ホストのリアルタイム共同編集             | [Collaboration SDK 概要](https://docs.univer.ai/ja-JP/server/collaboration/overview.md) |
| AI Agent に Office 内容を読み書きさせる | [AI SDK 概要](https://docs.univer.ai/ja-JP/ai.md)                                       |
| CLI のヘッドレス Runtime を理解       | [Runtime 再利用と Daemon](https://docs.univer.ai/ja-JP/ai/runtime-architecture.md)        |
| AI Agent の変更を人のレビュー用に分離      | [Worktree](https://docs.univer.ai/ja-JP/ai/worktree.md)                               |

迷う場合は[はじめに](https://docs.univer.ai/ja-JP/guides/sheets.md)から読んでください。

[^headless-mode]: Headless は、対話型エディター UI をマウントせずに文書内容を操作することです。共同編集、永続化、ファイル変換サービスが含まれるという意味ではありません。
