예시 프로젝트이 예시의 코드는 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)
다음 환경 변수를 포함하는 원한다면 ClickHouse 관련 변수를 조정해 자체 ClickHouse 서버나
Cloud 인스턴스를 사용할 수도 있습니다.
.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.
- 채널에서 봇을 멘션합니다: