Что вы узнаете: Получите полное представление о том, как построить Slack Bot на базе ИИ, способный отвечать на вопросы пользователей прямо в Slack. Если вы ещё не разрабатывали плагины, рекомендуем сначала прочитать Краткое руководство по разработке плагинов.

Предыстория проекта

Экосистема плагинов Интеллос нацелена на то, чтобы сделать интеграции проще и доступнее. В этом руководстве мы возьмём Slack в качестве примера и проведём вас через процесс разработки плагина Slack Bot. Это позволит вашей команде общаться напрямую с LLM внутри Slack, значительно повышая эффективность использования ИИ. Slack — это открытая платформа для общения в реальном времени с мощным API. Среди её возможностей есть система событий на основе вебхуков, на которой довольно просто вести разработку. Мы используем эту систему, чтобы создать плагин Slack Bot, как показано на схеме ниже:
Схема Slack Bot
Чтобы избежать путаницы, поясним следующие понятия:
  • Slack Bot Чат-бот на платформе Slack, выступающий в роли виртуального пользователя, с которым вы можете взаимодействовать в реальном времени.
  • Плагин Slack Bot Плагин в Интеллос Маркетплейс, связывающий приложение Интеллос со Slack. Это руководство посвящено тому, как разработать такой плагин.
Как это работает (краткий обзор):
  1. Отправка сообщения Slack Bot Когда пользователь в Slack отправляет сообщение боту, Slack Bot немедленно отправляет webhook-запрос на платформу Интеллос.
  2. Передача сообщения плагину Slack Bot Платформа Интеллос запускает плагин Slack Bot, который передаёт детали приложению Интеллос, подобно тому как в почтовой системе вы вводите адрес получателя. Настроив webhook-адрес Slack через API Slack и указав его в плагине Slack Bot, вы устанавливаете это соединение. Затем плагин обрабатывает запрос из Slack и передаёт его приложению Интеллос, где LLM анализирует ввод пользователя и формирует ответ.
  3. Возврат ответа в Slack Как только плагин Slack Bot получает ответ от приложения Интеллос, он отправляет ответ LLM обратно по тому же маршруту в Slack Bot. Пользователи в Slack видят более интеллектуальное и интерактивное взаимодействие прямо там, где они общаются.

Предварительные требования

Перейдите на платформу Slack API, создайте приложение Slack с нуля и выберите рабочее пространство, в котором оно будет развёрнуто.
  1. Включите вебхуки:
Включение вебхуков
  1. Установите приложение в свое рабочее пространство Slack:
Установка приложения в рабочее пространство Slack
  1. Получите OAuth-токен для дальнейшей разработки плагина:
Получение OAuth-токена для дальнейшей разработки плагина

1. Разработка плагина

Теперь перейдём к собственно написанию кода. Перед началом убедитесь, что вы прочитали Быстрый старт: разработка плагина-расширения или уже создавали плагин Интеллос ранее.

1.1 Инициализация проекта

Выполните следующую команду, чтобы настроить окружение для разработки плагина:
Следуйте подсказкам и укажите базовую информацию о проекте. Выберите шаблон extension и предоставьте разрешения Apps и Endpoints. Дополнительные сведения об обратном вызове сервисов Интеллос внутри плагина см. в разделе Обратный вызов: App.
Разрешения плагина

1.2 Редактирование формы конфигурации

Этому плагину нужно знать, какое приложение Интеллос должно обрабатывать ответы, а также токен приложения Slack для аутентификации ответов бота. Поэтому вы добавите эти два поля в форму плагина. Измените YAML-файл в каталоге группы (например, group/slack.yaml). Имя файла формы определяется информацией, которую вы указали при создании плагина, поэтому скорректируйте его соответствующим образом. Пример кода: slack.yaml
Пояснение к полям конфигурации:
  • type: установлено в app-selector, что позволяет пользователям пересылать сообщения конкретному приложению Интеллос при использовании этого плагина.
  • scope: установлено в chat, то есть плагин может взаимодействовать только с такими типами приложений, как agent, chatbot или chatflow.
Наконец, в файле endpoints/slack.yaml измените метод запроса на POST, чтобы корректно обрабатывать входящие сообщения Slack. Пример кода: endpoints/slack.yaml

2. Редактирование кода функции

Измените файл endpoints/slack.py и добавьте следующий код:

3. Отладка плагина

Перейдите на платформу Интеллос и получите адрес и ключ для удалённой отладки вашего плагина.
Вернувшись в проект плагина, скопируйте файл .env.example и переименуйте его в .env.
Выполните python -m main, чтобы запустить плагин. Теперь вы должны увидеть свой плагин установленным в рабочем пространстве на странице управления плагинами Интеллос. Другие участники команды также смогут получить к нему доступ.

Настройка эндпоинта плагина

На странице управления плагинами в Интеллос найдите только что установленный тестовый плагин и создайте новый эндпоинт. Укажите имя, Bot token и выберите приложение, которое хотите подключить.
Тестовые плагины
После сохранения генерируется URL-адрес для POST-запроса:
Сгенерированный URL для POST-запроса
Далее завершите настройку приложения Slack:
  1. Включите подписки на события
    Включение подписок на события
    Вставьте URL для POST-запроса, который вы сгенерировали выше.
    Вставка сгенерированного URL для POST-запроса
  2. Предоставьте необходимые разрешения
    Предоставление необходимых разрешений

4. Проверка плагина

В вашем коде self.session.app.chat.invoke используется для вызова приложения Интеллос с передачей таких параметров, как app_id и query. Затем ответ возвращается в Slack Bot. Снова выполните python -m main, чтобы перезапустить плагин для отладки, и проверьте, корректно ли Slack отображает ответ приложения Интеллос:
В вашем коде Self

5. Упаковка плагина (необязательно)

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

6. Публикация плагина (необязательно)

Теперь вы можете загрузить его в репозиторий Интеллос Маркетплейс для публичного выпуска. Перед публикацией убедитесь, что ваш плагин соответствует Рекомендациям по публикации в Интеллос Маркетплейс. После одобрения ваш код вливается в основную ветку, и плагин становится доступным в Интеллос Маркетплейс.

Связанные ресурсы

Дополнительное чтение

Полный пример проекта плагина Интеллос см. в репозитории GitHub. Там вы также найдёте дополнительные плагины с полным исходным кодом и деталями реализации. Если вы хотите узнать больше о разработке плагинов, ознакомьтесь со следующими материалами: Быстрые старты: Документация по интерфейсам плагинов:
Редактировать эту страницу | Сообщить о проблеме