Раздел в стадии наполнения. Готовятся описания всех решений.
Обновления версий 0.9.97 - 1.1.16 модуля SenDev: 152-ФЗ Персональные данные не описаны в документации. Информацию уточняйте у разработчика
В течение недели выйдет полная обновленная документация

Диагностика SenDev: AI Core

Страница «Диагностика» предназначена для проверки технической готовности AI Core без ручного просмотра базы данных и системных файлов. Её следует открывать после установки, после обновления и при непонятных ошибках в работе провайдеров или очереди.

Страница безопасна для повторного открытия. При загрузке AI Core выполняет предусмотренную текущей версией проверку и добавочные обновления структуры. В версии 1.1.0 такие обновления не рассчитаны на удаление пользовательских профилей, ключей, промптов, журнала, кэша или очереди.

[Скриншот 1: общий вид страницы «Диагностика»]

Когда использовать диагностику

  • сразу после установки модуля;
  • после обновления через Маркетплейс;
  • если административные страницы работают неполно;
  • если очередь перестала обрабатываться;
  • если не удаётся сохранить или использовать секреты провайдеров;
  • если после обновления появились сообщения о структуре базы;
  • если нужно сообщить разработчику состояние окружения.

Версия модуля и схема данных

В первом блоке отображается установленная версия AI Core и состояние внутренней схемы данных.

Проверяйте:

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

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

Какие данные хранит AI Core

Для работы используются отдельные структуры для:

  • профилей провайдеров;
  • промптов;
  • журнала;
  • кэша;
  • очереди;
  • лимитов;
  • истории изменений промптов.

Диагностика помогает убедиться, что эта структура готова к работе, не заставляя администратора проверять её непосредственно в базе данных.

Состояние очереди

В отдельном блоке показывается текущее распределение заданий:

  • новые/ожидающие;
  • обрабатываемые;
  • завершённые;
  • завершившиеся ошибкой;
  • отменённые.

Также могут отображаться ID последнего задания, его статус и идентификатор запроса.

Что считать нормой

Небольшое количество ожидающих заданий допустимо, если они постепенно переходят в обработку и завершение.

Что требует внимания

  • ожидающие задания постоянно накапливаются;
  • много заданий остаётся в состоянии обработки;
  • быстро растёт количество ошибок;
  • новые задания создаются, но завершённых нет.

В таком случае проверьте фоновые задания и настройки очереди.

Фоновые задания

AI Core устанавливает два регулярных задания:

  • обработку очереди;
  • очистку просроченного кэша.

Диагностика показывает их состояние, дату последнего и следующего запуска.

Если задание неактивно или давно не запускалось, очередь и кэш могут работать не так, как ожидается. Причину должен проверить администратор сайта.

[Скриншот 2: блок очереди и состояния фоновых заданий]

PHP и системные возможности

Страница показывает версию PHP и наличие расширений, необходимых AI Core для отдельных функций.

В частности, проверяются:

  • OpenSSL — используется в механизмах защищённой работы с секретами;
  • JSON — требуется для обмена данными с API;
  • mbstring — используется для корректной обработки текста.

Если обязательное расширение недоступно, исправление выполняется на уровне конфигурации PHP/сервера. В настройках самого AI Core включить отсутствующее расширение нельзя.

Защищённое хранение SecretBox

Один из наиболее важных пунктов диагностики — готовность защищённого хранения секретов.

AI Core не должен хранить API-ключи в открытом виде. Для шифрования требуется мастер-ключ, настроенный вне обычной базы опций модуля.

Если статус показывает, что SecretBox не готов:

  1. не добавляйте новые рабочие API-ключи;
  2. передайте задачу системному администратору;
  3. после настройки повторно откройте диагностику;
  4. только после положительного статуса продолжайте настройку провайдеров.

Для обычного пользователя знать значение мастер-ключа не требуется, и оно не должно публиковаться в документации проекта или журнале.

Количество провайдеров

Диагностика показывает количество зарегистрированных профилей. Это дополнительный контроль после установки или обновления.

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

Активные лимиты

На странице отображается количество активных правил ограничения. Если AI-запрос неожиданно блокируется при исправном провайдере, это значение напоминает проверить раздел «Лимиты».

Последняя ошибка обновления

Если при автоматическом обновлении структуры возникала проблема, диагностика может показывать последнее сообщение.

После успешного прохождения обновления AI Core очищает устаревшую отметку ошибки. Поэтому если сообщение остаётся после повторного открытия страницы, его следует рассмотреть как актуальное.

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

Сразу после установки ориентируйтесь на следующий результат:

  • версия модуля определяется;
  • текущая и ожидаемая схема совпадают;
  • отсутствующих таблиц нет;
  • фоновые задания установлены и активны;
  • основные PHP-расширения доступны;
  • SecretBox настроен;
  • профили провайдеров созданы;
  • нет актуальной ошибки обновления.

Проверка после обновления

  1. Откройте «Диагностику».
  2. Проверьте версию и схему.
  3. Убедитесь, что отсутствующие таблицы не показываются.
  4. Проверьте очередь и фоновые задания.
  5. Откройте «Провайдеры» и убедитесь, что рабочие ключи и активность сохранились.
  6. При необходимости добавьте отсутствующие стандартные профили.
  7. Аналогично проверьте стандартную библиотеку промптов.
  8. Выполните один Dummy-тест и один короткий реальный тест.
  9. Проверьте журнал.

Если пропала таблица

Не пытайтесь восстанавливать структуру вручную через SQL без необходимости. Сначала:

  1. обновите страницу диагностики;
  2. проверьте сообщение последней ошибки;
  3. убедитесь, что обновление модуля завершилось корректно;
  4. проверьте права пользователя базы данных;
  5. только после этого передавайте проблему разработчику или администратору.

Если очередь не двигается

Проверьте:

  • глобально ли включена очередь;
  • активен ли агент обработки;
  • есть ли дата последнего запуска;
  • не остаются ли задания в состоянии обработки дольше допустимого;
  • не исчерпано ли количество повторных попыток;
  • нет ли ошибок провайдера в журнале.

Если провайдеры есть, но запросы не работают

Диагностика подтверждает готовность инфраструктуры, но не проверяет каждый внешний аккаунт полностью. Далее:

  1. откройте «Провайдеры»;
  2. проверьте активность и авторизацию;
  3. запустите короткий тест в «Песочнице»;
  4. посмотрите фактическую ошибку в журнале;
  5. проверьте лимиты.

Какую информацию передать при обращении к разработчику

Для диагностики обычно достаточно сообщить:

  • версию AI Core;
  • текущую/ожидаемую версию схемы;
  • тип базы данных;
  • есть ли отсутствующие таблицы;
  • состояние очереди и агентов;
  • статус необходимых PHP-расширений;
  • готовность SecretBox — без передачи самого ключа;
  • текст последней ошибки обновления, если он есть;
  • ID проблемной записи журнала.

[Скриншот 3: блок окружения, безопасности и конфигурации]

Итог

«Диагностика» отвечает на вопрос, готова ли базовая инфраструктура AI Core. Если здесь всё в порядке, дальнейший поиск проблемы обычно переносится на уровень конкретного провайдера, модели, промпта или лимита. Если здесь есть предупреждение, сначала устраните его и только потом проверяйте внешние AI-сервисы.