项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1333
使用教程
环境要求
- Python 3.7 或更高版本
- 可用的终端/命令行环境
- 已安装的 Slack 应用(需获取 Signing Secret 与 xoxb- Bot Token)
- (Socket Mode 方式)Slack 应用已启用 Socket Mode
安装与启动步骤
-
1检查 Python 版本
README 要求 Python 3.7+,先确认本机版本满足要求,否则后续安装会失败。
python --version -
2创建并激活虚拟环境
在项目目录下创建 .venv 虚拟环境并激活,避免污染系统 Python 环境。
python -m venv .venv source .venv/bin/activate -
3安装 Slack Bolt
先升级 pip,再安装 PyPI 上的 slack_bolt 包(PyPI 项目名为 slack-bolt)。
pip install -U pip pip install slack_bolt -
4配置环境变量
把 Slack 应用后台的 Signing Secret 和 Bot Token 导出为环境变量,供 App() 读取。
export SLACK_SIGNING_SECRET=your-signing-secret export SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxx -
5编写 app.py
调用顶层导出的 App() 构造应用,并加自己的事件/命令逻辑;不改动时即为最小可运行示例。
import logging logging.basicConfig(level=logging.DEBUG) from slack_bolt import App # export SLACK_SIGNING_SECRET=*** # export SLACK_BOT_TOKEN=xoxb-*** app = App() # Add functionality here if __name__ == "__main__": app.start(3000) # POST http://localhost:3000/slack/events -
6运行应用
启动后应用监听 3000 端口,Slack 请求地址为 /slack/events,需要公网可访问。
python app.py -
7改用 Socket Mode
不想暴露公网地址时,用 SocketModeHandler 运行,README 明确说明此方式不需要 ngrok。
import os from slack_bolt import App from slack_bolt.adapter.socket_mode import SocketModeHandler # Install the Slack app and get xoxb- token in advance app = App(token=os.environ["SLACK_BOT_TOKEN"]) # Running ngrok is not required
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
SLACK_SIGNING_SECRET | 是 | Slack 应用签名密钥,用于校验 HTTP 请求来源 | your-signing-secret |
SLACK_BOT_TOKEN | 是 | 机器人 Token,用于调用 Slack API 与建立连接 | xoxb-xxxxxxxxxxxx |
如何确认成功
终端无异常报错,应用成功启动并监听 3000 端口,请求路径为 POST http://localhost:3000/slack/events。
常见问题
Q:对 Python 版本有要求吗?
A:README 标注需要 Python 3.7+,低于该版本无法正常使用 slack_bolt。
Q:必须创建虚拟环境吗?
A:README 的 Setup 步骤使用 venv,建议照做以免依赖冲突;也可用其他隔离方式,但需保证 slack_bolt 可导入。
Q:HTTP 方式和 Socket Mode 该选哪个?
A:常规 App() 加 app.start(3000) 走 HTTP,需要公网地址;Socket Mode 由 SocketModeHandler 处理,README 说明无需 ngrok。
Q:报错找不到 SLACK_BOT_TOKEN 怎么办?
A:说明环境变量未设置或未在同一个终端会话导出,先 export 再执行 python app.py。
注意事项
- 不要将真实 Signing Secret 或 Token 写入代码或提交到仓库,README 示例用环境变量传递。
- app.start(3000) 监听的是本地 3000 端口,部署到线上时需保证 Slack 能访问 /slack/events。
- 此公开仓库地址为 https://github.com/slackapi/bolt-python,更多用法见 getting started 指南与 examples 目录。
核心亮点
- 官方维护,API 与 Slack 平台同步更新,兼容性有保障
- 基于 asyncio,支持高并发,性能优于同步框架
- 支持 Socket Mode,无需公网 IP 即可本地调试,开发体验佳
不足之处
- 文档偏重基础示例,高级用法(如复杂权限流)覆盖不足
- 依赖 Slack 生态,若平台调整 API 需跟随升级
适用场景
- 企业内 Slack 机器人,如自动回复、工单通知
- 集成 ChatOps,实现 CI/CD 命令触发
- 构建交互式应用,如表单提交、按钮点击响应
替代项目
slack-sdk、slackbot、python-slackclient
上一篇:wink-nlp
下一篇:modelfusion
同类项目推荐
streamdown
开源
AI 流式输出 Markdown,边生成边稳定渲染不闪烁
A drop-in replacement for react-markdown, designed for AI-powered streaming.
cookiecutter-fastapi
开源
一条命令生成带 ML、CI/CD 的 FastAPI 项目骨架
Cookiecutter template for FastAPI projects using: Machine Learning, uv, Github Actio···
guardrails
开源
在函数参数上直接写校验规则,调用即验,省掉样板代码
Efficient, hassle-free function call validation with a concise inline syntax for clo···
langchain-nextjs-template
开源
克隆即跑的 AI 聊天应用起步模板
LangChain + Next.js starter template
text-generation-webui-colab
开源
在免费 Colab 上跑大模型,一键启动网页聊天界面
A colab gradio web UI for running Large Language Models
ollama-ex
开源
Elixir 项目几行代码接入本地大模型
A nifty little library for working with Ollama in Elixir.
awesome-microsoft-agent-framewor···
开源
一页找齐微软 Agent Framework 教程与示例
Awesome list of Microsoft Agent Framework resources
flink-agents
开源
让 AI 智能体跑在 Flink 流上,实时数据来了就自动决策
Flink Agents is an Agentic AI framework based on Apache Flink
C2C
开源
让大模型直接交换缓存,省去转文本的中间损耗
[ICLR'26] The official code implementation for "Cache-to-Cache: Direct Semantic Comm···
