# Каталог пакетов

> Выбор пакетов AI SDK по задачам содержимого, совместной работы, компиляции, рендеринга, процессов и приложения.

- Human documentation: [https://docs.univer.ai/ru-RU/ai/packages](https://docs.univer.ai/ru-RU/ai/packages)

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

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

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

---

AI SDK сейчас публикует 25 независимых пакетов. Установите лишь нужные базовые пакеты, затем добавьте пресет команды из той же строки, если его стандартное взаимодействие в терминале подходит продукту.

## Две роли пакетов

| Роль                  | Предоставляет                                                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Базовый пакет         | Структурированные TypeScript API без зависимости от Commander и без определения имён команд, вывода и поведения при завершении |
| Пакет пресета команды | Нативный Commander `Command` на основе базового пакета со стандартными аргументами, справкой и взаимодействием в терминале     |

Имена пресетов команд обычно заканчиваются на `-command`. Не каждому базовому пакету нужен соответствующий пресет.

## Среды содержимого и совместного редактирования

| Задача                                            | Базовый пакет                                                                                                                  | Пакет пресета команды                                                                                            |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| Создание стандартного Univer без интерфейса       | [`@univer-cli/headless-univer`](https://www.npmjs.com/package/@univer-cli/headless-univer)                                     | —                                                                                                                |
| Офлайн-поиск по API Facade Univer                 | [`@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)           | —                                                                                                                |
| Повторное использование совместных сред в workers | [`@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) |
| Размещение Render Page и управление браузером | [`@univer-cli/univer-render-runtime`](https://www.npmjs.com/package/@univer-cli/univer-render-runtime) | —                                                                                                            |
| Композиция и сборка Render Page               | [`@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/ru-RU/ai/content-operations.md), [Визуальной проверке](https://docs.univer.ai/ru-RU/ai/visual-inspection.md) и [Повторном использовании Runtime и Daemon](https://docs.univer.ai/ru-RU/ai/runtime-architecture.md).
