# Архитектура приложения

> Ответственность Web SDK, Server SDK и AI SDK и их объединение в приложении.

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

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

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

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

---

Univer Office SDK включает [Web SDK](https://docs.univer.ai/ru-RU/guides/sheets.md) для встроенных редакторов и обработки контента без интерфейса[^headless-mode], [Server SDK](https://docs.univer.ai/ru-RU/server.md) для совместной работы и импорта и экспорта файлов, а также [AI SDK](https://docs.univer.ai/ru-RU/ai.md) для рабочих процессов агентов.

**Univer** — набор инструментов для Office-приложений, в которых люди и AI Agents работают с одним содержимым. Приложение может предоставить Web для людей, CLI для AI Agents и общий 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/ru-RU/guides/sheets.md), [Server SDK](https://docs.univer.ai/ru-RU/server.md) и [AI SDK](https://docs.univer.ai/ru-RU/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. До экспорта синхронизируйте изменения, затем прочитайте и преобразуйте актуальные данные.

Для одной конвертации используйте Exchange в локальном Node.js или удалённом сервисе без AI SDK и совместного редактирования. Процесс описан в [Интеграции обмена файлами](https://docs.univer.ai/ru-RU/server/import-export.md), модуль — в [Импорте и экспорте Office](https://docs.univer.ai/ru-RU/server/import-export/node.md).

## Варианты развёртывания

| Вариант              | Web                             | CLI                                       | Server                  | Назначение                                              |
| -------------------- | ------------------------------- | ----------------------------------------- | ----------------------- | ------------------------------------------------------- |
| Локальное приложение | Локальный браузер/настольный UI | Локальный процесс                         | Локальный процесс       | Настольный Office и локальный AI Agent                  |
| SaaS                 | Браузер                         | Устройство пользователя/облачный AI Agent | Удалённый сервис        | Несколько пользователей и централизованная эксплуатация |
| Web + Server         | Браузер                         | —                                         | Локальный или удалённый | Пока без входа AI Agent                                 |
| Только Web           | Браузер/настольный UI           | —                                         | —                       | Локальное одиночное редактирование                      |

Компоненты могут работать на одной машине или распределяться между клиентами и облаком. Размещение не меняет ответственность. Если есть Server, Web и CLI обращаются через него к общему содержимому и функциям.

## Выбор входа

| Цель                                     | Начните здесь                                                        |
| ---------------------------------------- | -------------------------------------------------------------------- |
| Встроить Office-редактор в Web           | [Документация Web SDK](https://docs.univer.ai/ru-RU/guides/sheets.md)                               |
| Добавить обмен Office в редактор         | [Интеграция обмена файлами](https://docs.univer.ai/ru-RU/server/import-export.md)                   |
| Преобразовывать Office в Node.js         | [Импорт и экспорт Office](https://docs.univer.ai/ru-RU/server/import-export/node.md)                |
| Добавить свою realtime-коллаборацию      | [Обзор Collaboration SDK](https://docs.univer.ai/ru-RU/server/collaboration/overview.md)            |
| Дать AI Agent чтение и правки Office     | [Обзор AI SDK](https://docs.univer.ai/ru-RU/ai.md)                                                  |
| Понять CLI Runtime без интерфейса        | [Повторное использование Runtime и Daemon](https://docs.univer.ai/ru-RU/ai/runtime-architecture.md) |
| Изолировать правки AI Agent для человека | [Worktree](https://docs.univer.ai/ru-RU/ai/worktree.md)                                             |

Если выбор неясен, начните с [Начала работы](https://docs.univer.ai/ru-RU/guides/sheets.md).

[^headless-mode]: Headless означает работу с содержимым без интерактивного интерфейса редактора. Это не подразумевает наличие сервисов совместной работы, хранения или конвертации файлов.
