Знакомство со Studio
Studio — редактор конкретного бота. Открыв бота из списка в админ-панели, вы увидите рабочий экран из нескольких частей.

- Левая боковая панель — вертикальный ряд иконок разделов Studio (процессы, контент, понимание естественного языка, вопрос-ответ, аналитика, редактор кода, обучение бота, автотесты, настройка), а внутри выбранного раздела — список его элементов (например, список процессов (flows) бота).
- Центральная область — рабочий холст: для конструктора процессов это схема выбранного сценария, для других разделов — соответствующий редактор (список намерений, таблица вопросов-ответов и т. д.).
- Правая панель «Эмулятор» — тестовый чат для проверки бота прямо в Studio, без публикации и без переключения на другой экран. Кнопка «Эмулятор» в правом верхнем углу открывает и закрывает эту панель.
- Нижняя панель («Панель отладки» в верхней панели) — отладчик и журнал платформы, полезны для разбора конкретного диалога шаг за шагом. Подробности ниже.
- Верхняя панель — аватар и название бота, рядом бейдж с его статусом («Опубликован», «Персональный» или «Отключён», см. «Настройки бота»), переключение темы оформления, справка. Рядом с названием появляются инициалы коллег, которые сейчас открыли этого бота в Studio: наведите курсор, чтобы увидеть их адреса. Так видно, что бота кто-то правит одновременно с вами; у процесса, который редактирует коллега, конструктор дополнительно показывает блокировку.
- Плашки состояния сервисов — ряд маленьких индикаторов в верхней панели, рядом с названием бота. Подробности ниже.
На рисунке бот «НашБанк» ответил в эмуляторе меню с кнопками, а звено, которое его показало, подсвечено на схеме.

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

Плашка зелёная, когда служба работает, красная, когда не отвечает, жёлтая, когда работает с ограничением. Наведите курсор, чтобы прочитать, что это значит и что делать. Плашки «БД» и «Сервер» появляются, только когда с ними проблема, а «Redis» и «Duckling» — только если эти службы используются на вашей установке. Плашка «Сервер» жёлтая также первые пять минут после запуска сервера: если она появляется снова и снова без обновления платформы, сервер перезапускается, сообщите администратору.
| Плашка | Что показывает | Если не зелёная |
|---|---|---|
| Сервер | отвечает ли платформа на запрос состояния и давно ли она запущена | красная: платформа не запущена или недоступна по сети; жёлтая: сервер только что запустился, повторяющиеся запуски означают перезапуски процесса |
| БД | доступна ли база данных | проверьте PostgreSQL и строку подключения |
| NLU | работает ли сервер распознавания намерений | без него бот не понимает фразы, а обучение не запускается |
| Языки | загружены ли языки на языковом сервере | красная плашка: языковой сервер не отвечает (частая причина — ему не хватило памяти); жёлтая: языки ещё загружаются; без языков обучение невозможно |
| Duckling | работает ли распознавание дат, чисел и сумм | без него остальное работает, но даты и суммы в фразах не извлекаются |
| Сообщения | работает ли сервис сообщений | без него не работают веб-чат и каналы |
| Redis | доступен ли Redis (только в кластере) | узлы кластера не узнают об изменениях друг друга |
| Сокеты | как Studio связана с сервером в реальном времени | жёлтая: работает через обычные запросы (long polling), потому что WebSocket заблокирован прокси; красная: события Studio, прогресс обучения и эмулятор не доходят |
Плашка «Языки» отражает прямой запрос к языковому серверу, а не только то, что помнит NLU: если языковой сервер остановился, плашка станет красной, пока NLU ещё считает языки доступными.
Нижняя панель: отладчик и журнал
Панель открывается кнопкой «Панель отладки». Во вкладке «Отладчик» видно, как бот разобрал выбранное сообщение в эмуляторе:

- Решение — что бот сделал в ответ, например «Выполнение основного процесса». Причину выбора («Подходящих предложений нет», «Уверенность ниже порога 0.5» и другие) показывает подсказка по значку «i» рядом с решением.
- Понимание языка — «Определённый язык» (на каком языке написана фраза) и «Используемый язык» (на котором бот её разбирал).
- Топ намерений — кандидаты с уверенностью в процентах. Если ни одно намерение не подошло, показано «Нет подходящего намерения». Если фразу распознал вопрос из базы вопросов-ответов, вместо внутреннего идентификатора показан текст самого вопроса.
Вкладка «Журнал» содержит три внутренние вкладки:
- Журнал — записи платформы по мере их появления. Кнопки справа включают прокрутку за новыми записями, скачивают журнал и очищают список.
- Отладка — дерево тем, по которым платформа пишет подробные служебные сообщения: запросы к API, работа диалогового движка, обучение NLU, аудит действий и так далее. Рядом с каждой темой стоит значок «?» с коротким описанием. Отметьте нужные темы и нажмите «Применить»; «Применить и сохранить» оставляет выбор и после перезапуска сервера. Включайте только то, что нужно: полный вывод очень большой.
- Фильтр — какие записи показывать в журнале: по важности (отладка, информация, предупреждение, ошибка, критическая) и по принадлежности (общие записи платформы или записи текущего бота). Запись считается записью бота, если она сделана через
iqbot.logger.forBot(...), остальные записи общие. Настройка фильтра хранится в браузере.
Навигация по разделам
Иконки левой колонки (сверху вниз) открывают разделы Studio:
- Процессы — здесь строится логика диалога (подробно в разделе «Конструктор процессов»).
- Контент — библиотека сообщений бота («Содержимое бота»).
- Понимание естественного языка — намерения и сущности («Понимание языка и QnA»).
- Вопрос-Ответ — база вопросов и ответов.
- Аналитика — показатели по диалогам бота.
- Редактор кода — для нестандартных сценариев (см. предостережение ниже).
- Обучение бота — отчёт о фразах, которые бот не распознал.
- Автотесты — запись и воспроизведение тестовых сценариев («Тестирование и публикация»).
- Настройка — параметры конкретного бота: статус, языки, описание, аватар и режим ответов из базы вопросов-ответов внутри процесса, см. «Настройки бота».
Раздел «Редактор кода» даёт прямой доступ к JavaScript/TypeScript-коду действий (actions) и хуков (hooks) бота, в том числе — при наличии прав — к общим («глобальным») скриптам, которые используют несколько ботов сразу. Правка общих скриптов — например, встроенных действий модуля базовых навыков — затрагивает все боты рабочего пространства, которые их используют, а не только текущий; делайте это только осознанно и предпочтительно с резервной копией (ревизией) бота. Для обычной настройки диалогов использовать этот раздел не требуется — всё типовое строится через конструктор процессов.