Пример проектаКод этого примера можно найти в репозитории examples.
Предварительные требования
- У вас должен быть установлен
uv - У вас должен быть доступ к рабочему пространству Slack
- Вам понадобится API-ключ Anthropic или API-ключ другого провайдера LLM
1
Создайте приложение Slack
- Перейдите на slack.com/apps и нажмите
Create New App. - Выберите вариант
From scratchи укажите имя приложения. - Выберите своё рабочее пространство Slack.
2
Установите приложение в своё рабочее пространство
Затем вам нужно добавить в своё рабочее пространство приложение, созданное на предыдущем шаге.
Вы можете воспользоваться инструкциями из “Add apps to your Slack workspace”
в документации Slack.
3
Настройте параметры приложения Slack
- Перейдите в
App Home- В разделе
Show Tabs→Messages 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:readassistant:writechat:writeim:historyim:readim:writechannels:history
- Установите приложение в своё рабочее пространство и сохраните
Bot User OAuth Tokenдля переменной окруженияSLACK_BOT_TOKEN.
- Добавьте следующие
- Перейдите в
Event Subscriptions- Включите
Events - В разделе
Subscribe to bot eventsдобавьте:app_mentionassistant_thread_startedmessage:im
- Save Changes
- Включите
- В разделе
4
Добавьте переменные окружения (.env)
Создайте файл При желании вы можете изменить переменные ClickHouse,
чтобы использовать собственный сервер ClickHouse
или экземпляр Cloud.
.env в корне проекта со следующими переменными окружения,
которые позволят вашему приложению подключиться к Песочнице ClickHouse.5
Использование бота
-
Запустите бота:
-
В 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.
- Упомяните бота в канале: