示例项目此示例的代码可在 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 - 记下
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 server
或 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? - 给机器人发送私信:
Show me all tables in the demo database.
- 在频道中提及机器人: