← К списку версий
v0.78.0
26.09.2026
MINOR
ИИ-агент под управлением: переключатель, шестерёнка и статистика
ТЗ 249 «Спросить у ИИ — настройка показа». ИИ-агент стал управляемым: администратор может одним переключателем показать или скрыть его для всей платформы и отдельно — для любого пользователя, а сам пользователь решает, видеть ли агента в своём кабинете. В заголовке окна агента появилась шестерёнка, которая ведёт прямо в настройки. Каждое открытие агента теперь записывается, и администратор видит статистику: сколько раз открывали окно, за 7 и 30 дней, сколько человек пользуются агентом, сколько у них просмотров страниц, а также самые популярные страницы, с которых открывали агента.
Что сделано
- Общая логика - Создан сервис app/Services/AiAgentService.php — единая точка правды о видимости агента: глобальный флаг в platform_settings (ai_agent_enabled, по умолчанию включён), персональный флаг в clients (ai_agent_enabled), запись каждого изменения в settings_history и адрес страницы настроек для администратора и пользователя. Виджет в resources/views/layouts/app.blade.php подключается только если агент разрешён глобально и лично.
- Переключатели - В админке появилась вкладка «ИИ-агент» (/admin/settings/ai-agent) с общим переключателем «Показывать ИИ-агента на платформе» и таблицей пользователей, где у каждого есть свой переключатель. В кабинете человека появилась страница /settings/ai-agent с переключателем «Показывать мне ИИ-агента» и личной статистикой.
- Шестерёнка в окне агента - В заголовке всплывающего окна ИИ-агента добавлена кнопка-шестерёнка (id=chatSettingsBtn) рядом с крестиком: администратору она ведёт в /admin/settings/ai-agent, пользователю — в /settings/ai-agent. Если агент скрыт, окна нет, а значит нет и кнопки.
- Логирование - Каждое открытие окна агента записывается как действие пользователя с типом ai_agent_open — вместе со страницей, с которой открыли, и её названием; заодно обновляются число открытий и время последнего открытия сессии агента. Само событие открытия больше не засчитывается как просмотр страницы: посещаемость остаётся в существующих счётчиках page_view.
- Статистика - Администратор на вкладке «ИИ-агент» видит: число открытий (всего, за 7 и 30 дней), сколько человек пользуются агентом, просмотры страниц пользователей (всего и за 7 дней), число сессий агента, сообщений и заявок, а также самые популярные страницы, с которых открывали агента. В карточке пользователя в админке — статус агента, число открытий, просмотров и последнее открытие со ссылкой на настройки. Пользователь на своей странице видит свои открытия, просмотры и последнее открытие.
- Миграция и проверка - Миграция 2026_09_26_100000_add_ai_agent_settings_to_clients_table.php добавляет clients.ai_agent_enabled, ai_agent_sessions.client_id, open_count и last_open_at. Новый тест tests/Feature/AiAgentVisibilityTest.php — 9 проверок (видимость по глобальному и личному флагам, переключатели пользователя и администратора, логирование открытия, статистика, порядок истории настроек). Полный прогон тестов, сборка CSS и php artisan view:cache — без ошибок.
- Версия - Текущая версия платформы: v0.78.0 (.env, .env.example, config/app.php, VersionSeeder, README.md, DESIGN_SYSTEM.md).
Результат
- ИИ-агент больше не включён для всех всегда: администратор решает глобально и для каждого пользователя, пользователь — для себя, а по шестерёнке в окне агента можно сразу попасть в нужные настройки. По накопленной статистике видно, кто и с каких страниц пользуется агентом.