例のプロジェクトこの例のコードは、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.
- チャンネルでボットにメンションします: