Skip to main content
В этом руководстве вы узнаете, как создать агента SlackBot. Этот бот позволяет задавать вопросы о данных в ClickHouse прямо из Slack, используя естественный язык. Он использует MCP-сервер ClickHouse и PydanticAI.
Пример проектаКод этого примера можно найти в репозитории examples.

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

  • У вас должен быть установлен uv
  • У вас должен быть доступ к рабочему пространству Slack
  • Вам понадобится API-ключ Anthropic или API-ключ другого провайдера LLM
1

Создайте приложение Slack

  1. Перейдите на slack.com/apps и нажмите Create New App.
  2. Выберите вариант From scratch и укажите имя приложения.
  3. Выберите своё рабочее пространство Slack.
2

Установите приложение в своё рабочее пространство

Затем вам нужно добавить в своё рабочее пространство приложение, созданное на предыдущем шаге. Вы можете воспользоваться инструкциями из “Add apps to your Slack workspace” в документации Slack.
3

Настройте параметры приложения Slack

  • Перейдите в App Home
    • В разделе Show TabsMessages Tab включите Allow users to send Slash commands and messages from the messages tab
    • Перейдите в Socket Mode
      • Включите Socket Mode
      • Сохраните значение Socket Mode Handler для переменной окружения SLACK_APP_TOKEN
    • Перейдите в OAuth & Permissions
      • Добавьте следующие Bot Token Scopes:
        • app_mentions:read
        • assistant:write
        • chat:write
        • im:history
        • im:read
        • im:write
        • channels:history
      • Установите приложение в своё рабочее пространство и сохраните Bot User OAuth Token для переменной окружения SLACK_BOT_TOKEN.
    • Перейдите в Event Subscriptions
      • Включите Events
      • В разделе Subscribe to bot events добавьте:
        • app_mention
        • assistant_thread_started
        • message:im
      • Save Changes
4

Добавьте переменные окружения (.env)

Создайте файл .env в корне проекта со следующими переменными окружения, которые позволят вашему приложению подключиться к Песочнице ClickHouse.
При желании вы можете изменить переменные ClickHouse, чтобы использовать собственный сервер ClickHouse или экземпляр Cloud.
5

Использование бота

  1. Запустите бота:
  2. В Slack:
    • Упомяните бота в канале: @yourbot Who are the top contributors to the ClickHouse git repo?
    • Ответьте в треде с упоминанием: @yourbot how many contributions did these users make last week?
    • Отправьте боту личное сообщение: Show me all tables in the demo database.
Бот ответит в треде, используя все предыдущие сообщения в треде как контекст, если это применимо.Контекст треда: При ответе в треде бот загружает все предыдущие сообщения (кроме текущего) и использует их как контекст для ИИ.Использование инструментов: Бот использует только инструменты, доступные через MCP (например, обнаружение схемы и выполнение SQL), и всегда показывает использованный SQL и краткое описание того, как был получен ответ.
Последнее изменение 23 июля 2026 г.