seratch/ChatGPT-in-Slack
Swift demonstration of how to build a Slack app that enables end-users to interact with a ChatGPT bot
ChatGPT‑in‑Slack
What it is – 一个开源的 Slack 应用,让你可以直接在 Slack 中与 OpenAI 的 ChatGPT(以及 DALL‑E 3)对话。它支持三种方式:在频道线程中、一对一私信中,或通过主页标签模态框。该机器人会将对话上下文保留在线程内,因此你可以像在 ChatGPT 官网一样不断优化提示词。
Key features
- Threaded conversations – 提及机器人一次即可开启线程;后续消息会自动发送给 ChatGPT,保留上下文。
- Private DM support – 可以私密地向机器人提问,无需提及。
- Home‑tab UI – 快速访问的对话框,支持校对、自由格式提示和图像生成(DALL‑E 3),移动端也可使用。
- Configurable OpenAI settings – 模型、温度、系统提示、语言翻译、Markdown 转换、内容脱敏和图像文件共享等功能可通过环境变量开启或关闭。
- Docker & Socket Mode – 可部署在你自己的防火墙后;使用 Slack 的 Socket Mode,无需公开 URL。
- Azure OpenAI compatibility – 可通过可选的环境变量将应用指向 Azure 的 OpenAI 接口。
- Function‑calling demo – 实验性支持通过测试模块调用 OpenAI 的函数。
How to run it locally
- 使用提供的
manifest-dev.yml创建 Slack 应用,并安装到你的工作区。 - 设置所需的环境变量(
SLACK_APP_TOKEN、SLACK_BOT_TOKEN、OPENAI_API_KEY)。可选变量可用于选择模型、温度等参数。 - 安装依赖项(
pip install -r requirements.txt)并启动机器人(python main.py)。 - (可选)将
.env.example复制为.env并编辑值,以方便本地开发。
Deploying for a company
- 构建提供的
Dockerfile。容器以 Socket Mode 运行,因此只需与 Slack 和 OpenAI 建立出站连接。 - 由于代码采用 MIT 许可证,你可以将其部署在自有基础设施上,确保任何机密数据都在你的控制范围内。
Typical use cases
- 直接在 Slack 中起草或润色邮件、报告或其他文本。
- 无需离开聊天界面即可快速使用 DALL‑E 3 生成图像。
- 在协作过程中即时获取代码片段、解释或头脑风暴想法。
- 提供一个团队成员可在公开线程中引用的共享“AI 助手”。
Related projects
iwamot/collmbo– 一个分支,通过 LiteLLM 增加对其他大语言模型提供商的支持。
License – MIT.
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目