Vortholm — документация
Система

Уведомления в консоли

Браузерные уведомления администратора: события, получатели, тексты и требования установки.

Консоль сообщает о завершении длительных операций: сборке типа задачи, работе Советника и тестера, синхронизации внешнего источника, пересборке поиска и проверке исполнителей. Пользовательские события перечислены отдельно в «Уведомлениях».

Переключатель описан на странице «Где какие настройки».

Карточка «Уведомления» на странице «Настройки»
Карточка «Уведомления» на странице «Настройки»

Карточка «Системные модели» ниже относится к выбору исполнителя для встроенных функций и не управляет уведомлениями. Она описана отдельно.

Что приходит

AI Builder

СобытиеЗаголовокСтрока под ним
Анализ готов«AI Builder — анализ готов»название сессии
Нужны ответы«AI Builder — нужны ваши ответы»«Без ответов на вопросы сборка не продолжится»
Тип задачи собран«AI Builder — готово»название сессии
Анализ не удался«AI Builder — анализ не удался»«Откройте сессию и запустите заново»
Вопросы не готовы«AI Builder — вопросы не готовы»«Не удалось подготовить вопросы — откройте сессию»

Нажатие открывает ту самую сессию сборки, а не список сессий. Разбор всей сборки — «AI Builder».

Советник

СобытиеЗаголовокСтрока под ним
Инвентаризация готова«Советник — нужны ваши ответы»«Инвентаризация готова: без ответов анализ стоит»
Отчёт готов«Советник — готово»название сессии
Инвентаризация не удалась«Советник — инвентаризация не удалась»«Откройте сессию и запустите заново»
Исследование не удалось«Советник — исследование не удалось»«Цепочка остановлена — откройте сессию»
Синтез не удался«Советник — синтез не удался»«Цепочка остановлена — откройте сессию»

Два средних шага цепочки — исследование и синтез — уведомляют только об ошибке. Они идут подряд, между ними человеку делать нечего, и об успехе сообщает готовый отчёт. А вот их провал обрывает цепочку: отчёта, который бы отчитался, уже не будет.

Тестер

СобытиеЗаголовокСтрока под ним
Шаг отработал«Тестер — шаг 3 готов»название типа задачи
Шаг упал«Тестер — шаг 3: ошибка»название типа задачи

Нажатие ведёт на страницу тестера этого типа задачи. Номера сессии в адресе нет — если прогонов было несколько, нужный ищется по метке.

Внешний источник документов

СобытиеЗаголовокСтрока под ним
Подключение завершено«Git — репозиторий склонирован»название папки
Подключение не удалось«Git — клонирование не удалось»название папки, затем «— откройте репозиторий»
Ручная синхронизация завершена«Git — синхронизация завершена»название папки
Ручная синхронизация не удалась«Git — синхронизация не удалась»название папки, затем «— откройте репозиторий»

Синхронизация по расписанию не уведомляет никогда. Она идёт каждые пятнадцать минут по каждому подключению; десяток подключений — и это баннер каждые пару минут о работе, которую никто не начинал. Уведомление приходит только на то, что нажали руками.

Пересборка поиска по библиотеке

Одно нажатие «Пересобрать устаревшие» — одно уведомление, сколько бы папок в него ни попало.

Что было в нажатииЗаголовокСтрока под ним
одна папка, одна сборка«Индексация готова — Договоры 2026»«Файлов: 128 · 2 мин»
несколько папок«Индексация библиотеки готова»«Папок: 34»
часть папок с ошибкой«Индексация библиотеки готова»«Папок: 34, из них с ошибкой: 2»
все папки с ошибкой«Индексация не удалась — папок: 34»«Папок: 34, из них с ошибкой: 34»

Уведомление приходит, когда из этого нажатия не осталось ни одной работающей папки, — то есть один раз в конце, а не по мере готовности.

Автоматические пересборки общих папок молчат: они запускаются на каждое изменение библиотеки. А вот личная папка пользователя — исключение: её владелец получает уведомление о любой сборке дольше минуты, в том числе после обычной загрузки файлов.

Перепроверка исполнителей

СобытиеЗаголовокСтрока под ним
Все отвечают«Проверка провайдеров готова»«Все отвечают · провайдеров: 6»
Кто-то не отвечает«Проверка провайдеров — есть недоступные»«Не отвечают: codex, opencode»

Это уведомление добавили последним и по конкретной причине: страница провайдеров перестаёт ждать через две минуты, а сама перепроверка идёт от двух до десяти минут. Без уведомления администратор гарантированно не узнаёт, чем всё кончилось.

Задачи и эксперименты

Обычная задача, запущенная из консоли, уведомляет так же, как в портале: «Задача готова — Отчёт по фонду скважин». Прогон эксперимента — тоже обычная задача, но её всегда ждут в консоли, поэтому уведомление о ней приходит именно сюда.

Кому приходит

СобытиеАдресат
AI Builder, Советник, тестертому, кто запустил
задача, экспериментвладельцу запуска
личная папка библиотекивладельцу папки
подключение и синхронизация внешнего источникавсем подписанным администраторам
ручная пересборка общей библиотекивсем подписанным администраторам
перепроверка исполнителейвсем подписанным администраторам

У последних трёх событий владельца нет — их некому адресовать лично. Рассылка ограничена двадцатью пятью администраторами за раз: если подписанных больше, остальные в этот раз ничего не получат, а в журнал попадёт предупреждение. Выборка не случайная — она смещается от события к событию, так что «обделённые» меняются.

Портал и консоль не дублируют друг друга

Одно событие приходит только в один интерфейс. Портал выбирает тот, где вы подписаны: если подписки в консоли нет, а в портале есть, уведомление о готовом интерактивном туре придёт в портал. Подписаны в обоих — придёт туда, куда событие относится по смыслу.

Часть уведомлений принципиально консольная: сборка типов задач, Советник и тестер в портале не существуют, и адрес из такого уведомления открыл бы пустую страницу. Такое уведомление не отправляется вовсе, а не отправляется «куда-нибудь».

Что нужно включить при установке

Уведомления в браузере работают, только если при установке порталу выдали пару ключей для подписи (PUSH_VAPID_PUBLIC_KEY и PUSH_VAPID_PRIVATE_KEY) и не выключили саму возможность (PUSH_ENABLED). Без ключей выключатель на странице «Настройки» не нажимается, а под ним написано «Функция отключена администратором» — это про портал, а не про конкретного человека.

Ключи генерируются один раз и меняться не должны: смена пары обнуляет все существующие подписки, и каждому придётся включать уведомления заново. Как их задать — в инструкции по установке.

Второе обязательное условие — портал открыт по защищённому адресу (https://, либо localhost при разработке). По обычному http:// браузер уведомления не разрешит, и переключатель будет подписан «Браузер не поддерживает уведомления (нужен HTTPS)».

Чего портал не уведомляет специально

Не приходитПочему
задача по расписаниюночной запуск некому смотреть
отменённая задачаеё отменил человек, он и так знает
синхронизация внешнего источника по расписаниюкаждые пятнадцать минут по каждому подключению
автоматическая пересборка общей папкизапускается на каждое изменение библиотеки
пересборка короче минутыникто не успел отвести взгляд
прерванная пересборкатак помечаются папки при перезапуске портала
расшифровка записей и распознавание скановотдельное решение: не трогать
разбор отдельных файлов библиотекинет «запуска», а по файлу это сотни уведомлений
массовая выдача инструкций из консолинет общей сущности, и администратор в это время не заблокирован
загрузка файлов, улучшение запроса, выгрузка, предпросмотрответ приходит в том же окне
ответы консультанта по запускамони видны только в консоли, ссылка в портале вводила бы в заблуждение

На этой странице