bolt-python

用 Python 快速构建 Slack 应用,省去底层对接烦恼

bolt-python 是 Slack 官方推出的 Python 框架,用于构建 Slack 应用。它解决了开发者从零搭建 Slack 机器人或集成时面临的认证、事件订阅、消息收发等重复性工作。核心能力包括:基于 asyncio 的高性能异步处理,支持 Socket Mode 和 HTTP 两种连接方式,内置丰富的 Slack API 封装,提供简洁的装饰器路由(如 @app.event、@app.command),并集成了常用 Web 框架(Flask、FastAPI、Django)的适配器。通过该框架,开发者可以快速实现消息监听、命令响应、交互组件处理、快捷方式等功能,并轻松部署到云端或本地。项目活跃,文档齐全,是构建生产级 Slack 应用的首选 Python 工具。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1326
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类对话助手
开发团队slackapi
所属国家
定价模式free
价格说明开源框架,MIT许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型aiohttp,aiohttp-client,asyncio,bolt,chatbot,chatops,django,docker,fastapi,flask,pypi-url,python,slack,slack-api,socket-mode,web-api,websocket,websocket-client,websockets
GitHub 星标★ 1326
30天Star增速
HF 下载量
上线时间2020-06-02 00:00:00
最近更新2026-09-12 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数7

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 7 步

环境要求

  • Python 3.7 或更高版本
  • 可用的终端/命令行环境
  • 已安装的 Slack 应用(需获取 Signing Secret 与 xoxb- Bot Token)
  • (Socket Mode 方式)Slack 应用已启用 Socket Mode

安装与启动步骤

  1. 1检查 Python 版本

    README 要求 Python 3.7+,先确认本机版本满足要求,否则后续安装会失败。

    python --version
  2. 2创建并激活虚拟环境

    在项目目录下创建 .venv 虚拟环境并激活,避免污染系统 Python 环境。

    python -m venv .venv
    source .venv/bin/activate
  3. 3安装 Slack Bolt

    先升级 pip,再安装 PyPI 上的 slack_bolt 包(PyPI 项目名为 slack-bolt)。

    pip install -U pip
    pip install slack_bolt
  4. 4配置环境变量

    把 Slack 应用后台的 Signing Secret 和 Bot Token 导出为环境变量,供 App() 读取。

    export SLACK_SIGNING_SECRET=your-signing-secret
    export SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxx
  5. 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. 6运行应用

    启动后应用监听 3000 端口,Slack 请求地址为 /slack/events,需要公网可访问。

    python app.py
  7. 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

项目介绍

bolt-python 是开发框架领域的开源项目,由 slackapi 开发,2020 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,326)位列前 30%,在开发框架分类中处于中上游。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-12。MIT许可证,完全免费,无付费版本。

它主要面向的使用场景是:企业内Slack机器人,如自动回复、工单通知。同类可对比的替代方案包括 slack-sdk、slackbot、python-slackclient。

上一篇:wink-nlp

下一篇:modelfusion

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12