예시 프로젝트이 예시의 코드는 examples 리포지토리에서 확인할 수 있습니다.
사전 요구 사항
uv이 설치되어 있어야 합니다- Slack 워크스페이스에 접근할 수 있어야 합니다
- Anthropic API Key 또는 다른 LLM 제공업체의 API Key가 필요합니다
1
Slack App 만들기
- slack.com/apps로 이동해
Create New App을 클릭합니다. From scratch옵션을 선택한 뒤 앱 이름을 입력합니다.- Slack 워크스페이스를 선택합니다.
2
워크스페이스에 앱 설치하기
다음으로, 이전 단계에서 만든 앱을 워크스페이스에 추가해야 합니다. Slack 문서의 “Add apps to your Slack workspace” 안내를 따르면 됩니다.3
Slack 앱 설정 구성하기
App Home으로 이동합니다Show Tabs→Messages Tab에서Allow users to send Slash commands and messages from the messages tab을 활성화합니다Socket Mode로 이동합니다Socket Mode를 활성화합니다- 환경 변수
SLACK_APP_TOKEN에 사용할Socket Mode Handler를 기록해 둡니다
OAuth & Permissions로 이동합니다- 다음
Bot Token Scopes를 추가합니다:app_mentions:readassistant:writechat:writeim:historyim:readim:writechannels:history
- 앱을 워크스페이스에 설치한 뒤 환경 변수
SLACK_BOT_TOKEN에 사용할Bot User OAuth Token을 기록해 둡니다.
- 다음
Event Subscriptions로 이동합니다Events를 활성화합니다Subscribe to bot events아래에 다음 항목을 추가합니다:app_mentionassistant_thread_startedmessage:im
- Save Changes
4
환경 변수 추가하기 (.env)
다음 환경 변수를 포함하는 .env 파일을 프로젝트 루트에 생성합니다.
이렇게 하면 앱이 ClickHouse의 SQL playground에 연결할 수 있습니다.5
봇 사용하기
-
봇 시작하기:
-
Slack에서:
- 채널에서 봇을 멘션합니다:
@yourbot Who are the top contributors to the ClickHouse git repo? - 스레드에서 멘션으로 답글합니다:
@yourbot how many contributions did these users make last week? - 봇에 DM을 보냅니다:
Show me all tables in the demo database.
- 채널에서 봇을 멘션합니다: