Управление пользовательскими графиками¶
Glarus BI позволяет системным администраторам загружать собственные визуализации в виде JS-плагинов. Каждый плагин становится доступен внутри визуализации «Свой график». Данные запроса передаются в загруженный JavaScript-пакет, который отрисовывает диаграмму произвольным способом — средствами SVG, Canvas, WebGL, через сторонние библиотеки (echarts, d3, plotly) или с использованием WebAssembly.
Плагины могут быть как написаны разработчиком на TypeScript/JavaScript, так и генерироваться администраторами с применением средств искусственного интеллекта в интерфейсе Glarus BI (требуется интеграция с ИИ-агентом) или в отдельном приложении для генерации кода с использованием документации разработчика.
Мы предоставляем несколько демонстрационных плагинов:
| Плагин | Описание |
|---|---|
| Hello World | Минимальный плагин: отображает приветствие, число строк и значение первой ячейки первой записи. Нет требований к данным, должен работать с любым запросом. |
| Радар | Визуализация "Радар": запрос должен содержать как минимум один столбец измерений (метку оси) и три или более числовых показателя. Отображается только первая строка (для примера). Запрос должен возвращать минимум одну ось. |
| Сводная таблица | Классическая двухмерная сводная таблица с возможностью подсчёта итогов по строкам, столбцам и линейной тепловой картой ячеек. |
Распакуйте содержимое zip-файла после загрузки.
Загрузка плагина в Glarus BI через графический интерфейс¶
Чтобы плагин отображался в выборе визуализаций, администратор должен загрузить его в подразделе «Пользовательские графики». Потребуются 2 файла:
- файл пакета
pluigin.js; - файл манифеста
manifest.json.
Порядок действий:
- Открыть Управление > Свои графики.
- Загрузить файл пакета
plugin.jsи файл манифестаmanifest.json. - Нажать кнопку «Загрузить плагин».
Плагин должен появиться в реестре – таблице под элементами загрузки, в блоке «Установленные плагины».
Проверка работоспособности плагина¶
Чтобы проверить работоспособность плагина после загрузки:
- Открыть любой сохранённый запрос.
- На правой панели выбрать тип визуализации «Свой график».
- На вкладке «Плагин» убедиться в появлении новой строки.
- Попытаться воспользоваться плагином как обычной визуализацией, изменив запрос, чтобы соответствовать требованиям плагина к данным.
Редактирование плагина¶
Обновление через «Магазин» и настроенная администратором ИИ-доработка заменяют пакет на месте; условия описаны в разделе библиотеки плагинов. Для ручной замены собственного пакета с тем же slug сначала уберите все использования и удалите прежний плагин. Повторная ручная загрузка с существующим slug отклоняется. При таком способе замены потребуется заново выбрать новый плагин в карточках:
- Найдите запросы с текущим плагином и замените визуализацию.
- Удалите плагин из используемых в Управление > Свои графики. Система будет блокировать удаление, если ещё есть запросы с текущим плагином.
- Создайте или загрузите новый плагин, уже исправленный.
- Проверьте работоспособность плагина.
- Поочерёдно выберите запросы, в которых нужна новая визуализация и в настройках "Свой график" выберите плагин из списка (или попросите его выбрать пользователей, которым нужна новая визуализация). Каждый запрос потребуется сохранить.
Удаление плагина¶
Для удаления плагина:
- Открыть Управление > Свои графики.
- В реестре «Установленные плагины» найти плагин по названию.
- Убедиться, что плагин не используется в запросах и на дашбордах. Информация об использовании выводится в реестре плагинов.
- Нажать кнопку «Удалить».
Плагины, которые уже выбраны в запросах, система не позволит удалить. В таких записях кнопка удаления будет неактивна.
Генерация плагинов с использованием ИИ¶
Для работы ИИ-функционала требуется настроить интеграцию с большой языковой моделью DeepSeek.
В разделе администрирования доступна функция «Сгенерировать с ИИ»:
-
Пользователь вводит текстовый запрос («Диаграмма Ганта», «Sankey с настраиваемыми цветами», «Радар с легендой справа» и т. п.).
-
Серверная часть передаёт запрос языковой модели (DeepSeek) через потоковое соединение (SSE).
-
На клиентской стороне отображается интерфейс с постепенным появлением текста по мере генерации.
-
Серверная часть в фоновом режиме проверяет полученный ответ: парсинг JSON, валидацию схемы манифеста, попытку выполнения пакета. При неудаче запрос к модели повторяется (до четырёх попыток).
-
После успешной проверки плагин автоматически сохраняется в реестр и становится доступен в списке.
Аналогичная функция реализована для доработки существующего плагина: команда «измени цвет на синий» или «добавь подсказку с процентами» приводит к повторной генерации с использованием текущего манифеста и пакета.
В таблице приведены настройки генерации плагина с помощью DeepSeek:
| Настройка | Назначение |
|---|---|
| glarus-deepseek-api-key | Ключ API DeepSeek |
| glarus-deepseek-model | Идентификатор модели (по умолчанию deepseek-chat) |
| glarus-deepseek-max-tokens | Ограничение длины ответа модели в токенах |
| glarus-deepseek-max-prompt-chars | Ограничение длины пользовательского запроса в символах |
| glarus-deepseek-max-bundle-chars | Ограничение длины пакета при доработке |
| glarus-deepseek-system-prompt | Системный запрос (по умолчанию загружается из начальных данных) |
Метаданные генерации (исходный запрос, число попыток, время генерации, идентификатор модели) отображаются в списке плагинов.
Библиотека плагинов: версии, обновление, перенос¶
«Установленные плагины» — общая библиотека пользовательских визуализаций экземпляра. Администратор открывает настройки администрирования → «Свои графики» → «Установленные». Установленный плагин выбирается как «Свой график» в вопросах и карточках дашбордов, к которым у пользователя есть доступ.
В реестре видны название, slug, «Версия» из поля version манифеста, пользователь, создавший или установивший текущую сборку («Кто»), время и продолжительность операции генерации или установки, последнее изменение и «Используется в». У загруженного вручную плагина сведения о генерации могут отсутствовать. Список использований включает вопросы, дашборды и рассылки/оповещения. Для каждой категории показывается не больше пяти объектов; счётчик складывается из этих ограниченных списков и не служит полным аудитом большой библиотеки.
Используемый плагин удалить нельзя. Пока на него ссылается хотя бы один объект, удаление отклоняется; сначала нужно убрать ссылки. Это ограничение относится и к ИИ-доработке. ИИ настраивается администратором: для генерации и доработки пользовательских графиков нужен настроенный провайдер DeepSeek.
- Обновление из магазина. Откройте «Магазин». Если версия в каталоге выше установленной, появляется «Обновить». Пакет и манифест заменяются на месте с сохранением идентификатора, на который ссылаются вопросы и дашборды. Для той же или более старой версии показывается статус «Уже установлено», а не кнопка повторной установки. Сохранение идентификатора сохраняет ссылки, но совместимость настроек и данных с новой реализацией виджета нужно проверить.
- ИИ-доработка. Для неиспользуемого плагина настроенная ИИ-доработка также заменяет пакет на месте с сохранением идентификатора. Доработка используемого плагина отклоняется; это отличается от обновления через магазин.
- Перенос файлов. Нажмите «Скачать сборку и манифест». Сохраняются два файла:
<slug>-<version>.bundle.jsи<slug>-<version>.manifest.json. На другом экземпляре откройте «Свои графики» → «Установленные», выберите оба файла и нажмите «Загрузить плагин». Либо установите тот же виджет из каталога.
Формат переноса — JS-пакет и JSON-манифест, а не готовый вопрос или дашборд. После загрузки на другой экземпляр плагин получает собственный идентификатор; при переносе самих карточек нужно заново проверить выбор плагина. Ручная загрузка при уже существующем slug отклоняется с ошибкой 409, она не заменяет установленный плагин.
Истории версий и встроенного отката нет. Для используемого каталожного виджета удаление и повторная загрузка не являются способом обновления: воспользуйтесь магазином. См. «Каталог виджетов Glarus» и ограничения разработки плагинов.
Каталог виджетов Glarus¶
Публичный каталог виджетов Glarus содержит готовые визуализации на Apache ECharts. Для опубликованных пакетов в каталоге указаны лицензия Apache-2.0 и совместимость «Glarus BI 52.2+ / 57.2+». Эти сведения относятся к конкретному пакету; проверяйте его карточку и используемую версию приложения.
Машиночитаемый каталог catalog.json содержит записи с полями slug, name, version, description, compatibility, license, manifestUrl и bundleUrl. Последние два поля указывают на JSON-манифест и автономный JS-пакет.
- Администратор открывает настройки администрирования → «Свои графики» → «Магазин». Текущий путь страницы —
/admin/settings/custom-charts; прежний/admin/glarus/custom-chartsперенаправляет на него. - У нового виджета нажмите «Установить». При более высокой версии в каталоге появится «Обновить»; иначе показан статус «Уже установлено».
- После установки выберите виджет в типе визуализации «Свой график». Правила обновления и переноса описаны в разделе библиотеки плагинов.
Каталог, пакет и манифест для установки получает сервер Glarus BI. Браузер обращается к API своего экземпляра; значки каталога при этом могут загружаться непосредственно с внешнего адреса. Для установки серверу нужен сетевой доступ к каталогу и файлам пакета, а для показа внешних значков браузеру — к их адресам.
Администратор задаёт адрес каталога настройкой glarus-plugin-store-url или переменной окружения MB_GLARUS_PLUGIN_STORE_URL. Можно указать зеркало catalog.json; относительные ссылки на файлы разрешаются относительно его адреса. Для загрузки пакета адреса manifestUrl и bundleUrl должны использовать HTTP(S) и разрешаться в публичные IP-адреса: localhost и частные адреса файлов отклоняются. Одного внутреннего зеркала с такими файлами недостаточно для полностью изолированного контура; в этом случае используйте перенос пары файлов вручную.
Каталог курирует Glarus. Самостоятельная публикация сторонними авторами и интерфейс модерации сообщества не предусмотрены. В блоке «Нужен свой виджет?» на странице каталога ссылка «Напишите нам» ведёт к форме обратной связи для запроса разработки.