Headless и серверные вычисления
Операции с содержимым в Node.js и предварительные расчёты в Rust для приложений и агентов.
Univer разделяет модели содержимого, расчёты и интерфейс. Headless запускает среду содержимого в Node.js, а univer-rs выполняет тяжёлые вычисления и преобразование файлов на сервере. Приложения и агенты используют эти возможности с одними снимками Snapshot.
Node.js без UI-плагинов
Зарегистрируйте необходимые плагины ядра, моделей, расчётов и Facade без меню, панелей и UI-плагинов, зависящих от DOM. Обрабатывайте Sheet, Doc, Slide, Relational Table, Canvases или PDF согласно конфигурации продукта. Для Sheets и Docs есть Node-пресеты; остальные продукты собираются из соответствующих плагинов.
| Возможность | Назначение |
|---|---|
| Загрузка и разбор | Загрузка снимков, чтение и проверка ячеек, абзацев, страниц, объектов, записей и структуры. |
| Расчёты | Формулы, массивы, обновление сводных таблиц и отображаемых числовых значений. |
| Изменения | Правка через Facade API, изменение структуры, сохранение снимков или отправка правок. |
| Файлы | Модули Server SDK для пакетного импорта, обработки и экспорта. |
| Визуальная проверка | Render Runtime для снимков экрана и проверки расположения элементов. |
Операции с содержимым выполняются непосредственно в Node.js. Для изображений и проверки расположения нужен отдельный runtime рендеринга; CLI может управлять headless-браузером и возвращать PNG и результаты проверки.
Быстрый расчёт в браузере и серверный расчёт по ревизиям
И браузер, и сервер располагают движком формул. Браузер отвечает на правки пользователя, а сервер рассчитывает определённую ревизию содержимого при создании снимка или обработке файла.
- При редактировании браузер локально пересчитывает затронутые формулы и сразу показывает результаты; вычисления можно вынести в Worker. Совместное редактирование записывает и синхронизирует изменения содержимого.
- При создании снимка серверная политика запускает сохранение и фиксирует ревизию содержимого для этой операции. Затем
univer-rsвыполняет расчёты, а содержимое и результаты этой ревизии сохраняются вместе. - При повторном открытии браузер использует актуальные результаты из снимка, применяет последующие изменения и продолжает вычисления, сокращая повторные полные пересчёты.
Изменения синхронизируются постоянно. Серверные вычисления выполняются при создании снимка, а результаты сохраняются вместе с соответствующей ревизией содержимого.
Настройте начальный расчёт с учётом сохранённых результатов:
WHEN_EMPTY: использовать сохранённые значения формул и вычислять только отсутствующие результаты.NO_CALCULATION: пропустить начальный расчёт; результаты предоставляет приложение.FORCED: пересчитать все формулы для обновления сохранённых результатов.
Эти параметры управляют начальной загрузкой. Дальнейшие правки рассчитываются в браузере; сервер выполняет расчёт по необходимости при создании снимка ревизии или обработке файлов. См. настройку формул, совместное редактирование и преобразование файлов.
Производительность движка формул
Измерения производительности движка формул Univer на Rust охватывают 10 книг: загрузку входа Rust, этапы, границы форматов и скачивание образцов.
Формулы массивов и развёрнутые результаты
Для поддерживаемых функций и форматов Rust следует правилам Excel для формул массивов и развёртывания. Возвращаются якорь, диапазон и значения ячеек, включая динамические массивы и заданные области старых формул массивов.
Например, =SEQUENCE(3,2) в пустой A1 даёт:
| A | B |
|---|---|
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
Формула остаётся в A1, результаты занимают A1:B3. При уменьшении массива старые значения очищаются; блокировка области даёт #SPILL!. Браузер, агент и экспорт могут использовать рассчитанный снимок.
См. поддержку формул и правила массивов Excel.
Исполнение и проверка для агента
Сохраните модель, диалог и управление инструментами своего агента. AI SDK предоставляет ему операции Office:
- Прочитать структуру и целевое содержимое.
- Выполнить изменения Facade и расчёты в headless-среде.
- Дождаться расчёта и подтверждения отправки, затем прочитать обновлённое состояние.
- Проверить значения и структуру, при необходимости добавить визуальную проверку и расположение.
Объединяйте операции с содержимым и визуальную проверку. Для проверки человеком используйте Worktree, сравнение и слияние. Univer CLI показывает сборку приложения для агентов.
Способы интеграции
| Возможность | Назначение |
|---|---|
| Среда содержимого Node.js | Начните с headless Web SDK и нужных плагинов моделей и расчётов. |
| Фоновая обработка файлов | Сочетайте Rust с преобразованием Node.js, сохраняйте или возвращайте снимок. |
| Совместная работа и агенты | Подключите совместное редактирование и AI SDK для подтверждённого содержимого. |
Насколько полезно это руководство?