# 套件目錄

> 依內容、協同、編譯、渲染、程序與應用程式任務選擇 AI SDK 套件。

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

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

- Requested language: `zh-TW`

- Content language: `zh-TW`

- Documentation version: `1.2.0`

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

---

AI SDK 目前發布 25 個獨立套件。只安裝應用程式需要的基礎套件；若同一列的命令預設集之預設終端機互動符合產品需求，再加入它。

## 兩種套件角色

| 角色      | 提供內容                                              |
| ------- | ------------------------------------------------- |
| 基礎套件    | 結構化 TypeScript API，不依賴 Commander，也不決定命令名稱、輸出或結束行為 |
| 命令預設集套件 | 由基礎套件支援的原生 Commander `Command`，提供預設參數、說明與終端機互動    |

命令預設集名稱通常以 `-command` 結尾。並非每個基礎套件都需要對應的命令預設集。

## 內容與協同執行環境

| 任務                      | 基礎套件                                                                                                                           | 命令預設集套件                                                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| 建立標準無介面 Univer          | [`@univer-cli/headless-univer`](https://www.npmjs.com/package/@univer-cli/headless-univer)                                     | —                                                                                                                |
| 離線搜尋 Univer Facade API  | [`@univer-cli/api-reference`](https://www.npmjs.com/package/@univer-cli/api-reference)                                         | [`@univer-cli/api-reference-command`](https://www.npmjs.com/package/@univer-cli/api-reference-command)           |
| 準備並繫結 Facade 執行         | [`@univer-cli/content-execution`](https://www.npmjs.com/package/@univer-cli/content-execution)                                 | —                                                                                                                |
| 讀取 Sheet、Doc 或 Slide 內容 | [`@univer-cli/content-inspection`](https://www.npmjs.com/package/@univer-cli/content-inspection)                               | [`@univer-cli/content-inspection-command`](https://www.npmjs.com/package/@univer-cli/content-inspection-command) |
| 執行單一協同 Unit             | [`@univer-cli/univer-collaboration-runtime`](https://www.npmjs.com/package/@univer-cli/univer-collaboration-runtime)           | —                                                                                                                |
| 在 Worker 中重用協同執行環境      | [`@univer-cli/univer-collaboration-runtime-pool`](https://www.npmjs.com/package/@univer-cli/univer-collaboration-runtime-pool) | —                                                                                                                |

## 內容編譯

| 任務                           | 基礎套件                                                                                         | 命令預設集套件                                                                                                      |
| ---------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| 將 SVG 轉為 Slide Facade 程式碼    | [`@univer-cli/svg-facade`](https://www.npmjs.com/package/@univer-cli/svg-facade)             | [`@univer-cli/svg-facade-command`](https://www.npmjs.com/package/@univer-cli/svg-facade-command)             |
| 將 Typst 套件組轉為 Doc Facade 程式碼 | [`@univer-cli/doc-typst-facade`](https://www.npmjs.com/package/@univer-cli/doc-typst-facade) | [`@univer-cli/doc-typst-facade-command`](https://www.npmjs.com/package/@univer-cli/doc-typst-facade-command) |

## 渲染與診斷

| 任務               | 基礎套件                                                                                                   | 命令預設集套件                                                                                                      |
| ---------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| 擷取 Unit 的 PNG 圖片 | [`@univer-cli/unit-screenshot`](https://www.npmjs.com/package/@univer-cli/unit-screenshot)             | [`@univer-cli/unit-screenshot-command`](https://www.npmjs.com/package/@univer-cli/unit-screenshot-command)   |
| 檢查 Slide 版面      | [`@univer-cli/unit-layout-lint`](https://www.npmjs.com/package/@univer-cli/unit-layout-lint)           | [`@univer-cli/unit-layout-lint-command`](https://www.npmjs.com/package/@univer-cli/unit-layout-lint-command) |
| 託管渲染頁面並驅動瀏覽器     | [`@univer-cli/univer-render-runtime`](https://www.npmjs.com/package/@univer-cli/univer-render-runtime) | —                                                                                                            |
| 組合並建置渲染頁面        | [`@univer-cli/univer-render-page`](https://www.npmjs.com/package/@univer-cli/univer-render-page)       | —                                                                                                            |

## 程序與生命週期

| 任務                   | 基礎套件                                                                                                               | 命令預設集套件                                                                                  |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
| 依鍵獨占取得、快取並淘汰有狀態物件    | [`@univer-cli/generic-keyed-instance-pool`](https://www.npmjs.com/package/@univer-cli/generic-keyed-instance-pool) | —                                                                                        |
| 讓多個 CLI 程序存取同一本機常駐程序 | [`@univer-cli/daemon`](https://www.npmjs.com/package/@univer-cli/daemon)                                           | [`@univer-cli/daemon-command`](https://www.npmjs.com/package/@univer-cli/daemon-command) |

## 應用程式輔助工具

| 任務             | 基礎套件                                                                                         | 命令預設集套件                                                                                                      |
| -------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| 宣告、讀取並保存應用程式設定 | [`@univer-cli/config`](https://www.npmjs.com/package/@univer-cli/config)                     | [`@univer-cli/config-command`](https://www.npmjs.com/package/@univer-cli/config-command)                     |
| 查詢、快取並匯出視覺資源   | [`@univer-cli/resource-library`](https://www.npmjs.com/package/@univer-cli/resource-library) | [`@univer-cli/resource-library-command`](https://www.npmjs.com/package/@univer-cli/resource-library-command) |

## 如何選擇

1. 先選擇符合業務任務的基礎套件。
2. 只有預設 Commander 互動符合產品需求時，才加入命令預設集。
3. CLI、Web 與 Server 共用 Unit 時，請使用協同執行環境，不要直接存取協同資料庫。
4. 只有需要重用、跨程序存取或瀏覽器渲染時，才加入集區、Daemon 或 Render Runtime。
5. 閱讀目標套件 README，了解公開 API、所有權與釋放行為。

概念與核心用法請參閱[文件載入與內容操作](https://docs.univer.ai/zh-TW/ai/content-operations.md)、[視覺檢查](https://docs.univer.ai/zh-TW/ai/visual-inspection.md)及[執行環境重用與 Daemon](https://docs.univer.ai/zh-TW/ai/runtime-architecture.md)。
