Скрипты

Иногда возможностей готовых узлов не хватает: нужно заглянуть в вашу CRM, посчитать стоимость заказа, проверить остаток на складе или связаться с 1С. Для этого в сценарий подключается свой скрипт на Python — небольшой программы, написанной руками или ИИ-агентом.

Как это выглядит

Скрипты лежат обычными файлами, разложенными по папкам ботов. Их можно править прямо в интерфейсе, во встроенном редакторе, или на сервере в файловой системе — как удобнее. Файлы принадлежат вам, вынести их на другой сервер так же просто, как и сценарий.

Обмен данными

На вход скрипт получает сведения о боте, клиенте, переменных разговора и текущем сообщении. На выход возвращает ответ клиенту, изменения переменных, следующий узел или признак ошибки. Всё это — в формате JSON, то есть в виде обычного текста с подписанными полями. Если скрипт завершился с ошибкой или вернул не то, разговор спокойно идёт по ветке ошибки, а не обрывается.

Лимиты

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

Секреты

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

Панель запуска

Любой скрипт можно прогнать прямо в разделе «Скрипты», с подготовленными данными: видно, что скрипт вернул, какие были ошибки и сколько заняла работа. Удобно отлаживать по частям, не встраивая скрипт в сценарий и не трогая бота целиком.

Журнал запусков

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

Как подключить скрипт к диалогу — в разделе Узлы сценария. Как настроить модели, с которыми работает скрипт, — в разделе Модели и промпты, а как завести самого бота — в разделе Боты.

← Оглавление документации