# 應用程式架構

> 了解 Web SDK、Server SDK 與 AI SDK 的職責，以及如何組合為應用程式。

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

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

- Requested language: `zh-TW`

- Content language: `zh-TW`

- Documentation version: `1.2.0`

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

---

Univer Office SDK 包含三個 SDK：[Web SDK](https://docs.univer.ai/zh-TW/guides/sheets.md) 提供嵌入式編輯器和無頭[^headless-mode]內容處理能力，[Server SDK](https://docs.univer.ai/zh-TW/server.md) 提供協同與檔案匯入匯出能力，[AI SDK](https://docs.univer.ai/zh-TW/ai.md) 提供 Agent 工作流程能力。

**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、身分、權限、檔案儲存與部署  |

文件分為 [Web SDK](https://docs.univer.ai/zh-TW/guides/sheets.md)、[Server SDK](https://docs.univer.ai/zh-TW/server.md)與 [AI SDK](https://docs.univer.ai/zh-TW/ai.md)，分別涵蓋編輯器、協同及檔案交換服務、AI Agent 內容操作。

AI SDK 重用 Web SDK 的無介面內容能力。這些元件代表主要開發入口與執行位置，不是三套獨立技術堆疊，也不是無需應用程式程式碼就可部署的完整產品。

## 整合檔案匯入匯出

Server SDK 的 `@univerjs-pro/exchange-node` 負責 Office 檔案與 Univer 文件資料互轉。應用程式整合轉換模組並提供上傳、轉換、下載 API。Web SDK 處理瀏覽器互動，CLI 可在 Node.js 呼叫轉換模組。瀏覽器設定仍放在各產品的 Web SDK 文件中。

* **不使用協同編輯：** 將檔案轉為文件快照，在瀏覽器開啟與編輯。匯出時將最新快照交給轉換模組產生檔案。此流程需要伺服器轉換，但不需要協同服務。
* **使用協同編輯：** 將匯入資料保存為協同文件。Web 與 AI SDK 透過文件 ID 操作相同內容。匯出前先同步目前修改，再讀取及轉換最新文件資料。

只需轉換檔案時，可在本機 Node.js 程序或遠端服務使用 Exchange，不需要 AI SDK 或協同編輯。應用程式流程請參閱[檔案交換整合](https://docs.univer.ai/zh-TW/server/import-export.md)，轉換模組請參閱 [Office 檔案匯入匯出](https://docs.univer.ai/zh-TW/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/zh-TW/guides/sheets.md)                           |
| 為編輯器加入 Office 匯入匯出      | [檔案交換整合](https://docs.univer.ai/zh-TW/server/import-export.md)                        |
| 在 Node.js 轉換 Office 檔案  | [Office 檔案匯入匯出](https://docs.univer.ai/zh-TW/server/import-export/node.md)            |
| 加入自行託管的即時協同             | [Collaboration SDK 概覽](https://docs.univer.ai/zh-TW/server/collaboration/overview.md) |
| 讓 AI Agent 讀寫 Office 內容 | [AI SDK 概覽](https://docs.univer.ai/zh-TW/ai.md)                                       |
| 了解 CLI 無介面 Runtime      | [Runtime 重用與 Daemon](https://docs.univer.ai/zh-TW/ai/runtime-architecture.md)         |
| 隔離 AI Agent 修改供人類審閱     | [Worktree](https://docs.univer.ai/zh-TW/ai/worktree.md)                               |

若尚未確定路徑，請先閱讀[開始使用](https://docs.univer.ai/zh-TW/guides/sheets.md)。

[^headless-mode]: 無頭（headless）指不掛載互動式編輯器介面，直接操作文件內容；它不代表已包含協同、持久化儲存或檔案轉換服務。
