内容
# Slackthon 项目
# Slack 智能代理,助力协作
> 一款智能的 Slack 原生 AI 助手,结合 **Slack AI**、**实时搜索** 和 **模型上下文协议(MCP)**,提供实时的信息检索和 AI 驱动的任务管理,直接在 Slack 中进行。

---
# 概述
Slack 智能代理,助力协作,将 Slack 打造为一个统一的生产力和知识中心。
用户无需在多个应用之间切换以查找信息和管理任务,只需在 Slack 中与 AI 助手聊天。
该代理智能理解用户意图,并自动决定:
- 使用 **Tavily 实时搜索 API** 搜索网络
- 通过 **自定义 MCP 服务器** 执行任务管理
- 使用 **Google Gemini** 直接响应
该项目展示了现代 AI 代理如何改善学生、非营利组织、志愿者社区和小型团队的协作。
---
# 功能
## Slack AI 助手
- 原生 Slack 助手面板
- 线程感知的对话
- 建议的提示
- 实时思考指示器
- 上下文感知响应
---
## 实时搜索
- 由 Tavily 搜索 API 提供支持
- 从网络检索当前信息
- 返回可靠的来源
- 无需离开 Slack
示例:
> "今天的 AI 新闻头条是什么?"
---
## MCP 任务管理器
直接从 Slack 进行自然语言任务管理。
支持的操作:
- 添加任务
- 列出任务
- 完成任务
示例:
> 创建任务:明天完成演讲稿
---
## 智能工具路由
Google Gemini 作为编排引擎。
它会自动确定用户的请求是否需要:
- 实时搜索
- MCP 任务管理器
- 直接 AI 响应
无需用户指定工具。
---
# 架构
```
Slack 工作空间
┌─────────────────────────────────────────────────────────┐
│ │
│ 助手面板 /ask 命令 @提及 │
│ │
└───────────────────────┬─────────────────────────────────┘
│
▼
Slack Bolt 应用
(Node.js)
│
▼
Google Gemini AI 代理
(意图和工具编排器)
┌───────────────┐
搜索 │ │ 任务
───────────────►│ │◄──────────────
▼ ▼
Tavily 搜索 API MCP 客户端
│
▼
MCP 任务管理器
(server.js)
│
▼
tasks.json
```
查看 **Architecture.png** 以获取完整的视觉架构。
---
# 技术栈
| 技术 | 目的 |
|------------|---------|
| Slack Bolt (JavaScript) | Slack 应用框架 |
| Slack AI 助手 | 原生 Slack AI 体验 |
| Google Gemini | AI 代理和决策 |
| Tavily 搜索 API | 实时网络搜索 |
| MCP SDK | 工具通信 |
| Node.js | 后端运行时 |
| JavaScript | 应用逻辑 |
---
# 项目结构
```
slack-ai-agent/
│
├── app.js # Slack Bolt 入口点
├── agent.js # AI 代理编排
├── assistant.js # Slack 助手面板
├── mcpClient.js # MCP 客户端
├── package.json
├── package-lock.json
├── README.md
├── .env.example
├── .gitignore
│
├── mcp-server/
│ ├── server.js # MCP 任务服务器
│ ├── package.json
│ ├── tasks.json
│ └── README.md
│
└── screenshots/
├── assistant.png
├── search.png
├── task.png
└── demo.gif
├── Architecture.png
```
---
# 安装
## 1 克隆仓库
```bash
git clone https://github.com/<your-username>/slack-ai-agent.git
cd slack-ai-agent
```
---
## 2 安装依赖项
安装主要应用程序依赖项
```bash
npm install
```
安装 MCP 服务器依赖项
```bash
cd mcp-server
npm install
cd ..
```
---
## 3 配置环境变量
在项目根目录中创建一个 `.env` 文件。
```
SLACK_BOT_TOKEN=
SLACK_SIGNING_SECRET=
SLACK_APP_TOKEN=
GEMINI_API_KEY=
TAVILY_API_KEY=
```
---
## 4 启动应用程序
```bash
npm start
```
您应该看到
```
连接到 MCP 服务器
Slack AI 代理正在运行...
```
---
# MCP 服务器
该项目包括一个自定义的 MCP(模型上下文协议)服务器,位于 **mcp-server/** 目录中。
MCP 服务器公开任务管理工具,包括:
- 添加任务
- 列出任务
- 完成任务
Slack AI 代理使用 MCP 协议与此服务器通信,允许 Gemini 通过自然语言执行与任务相关的操作。
---
# 用法
## 助手面板
打开 Slack AI 助手面板并询问
```
今天的 AI 新闻是什么?
```
---
## 斜杠命令
```
/ask 什么是量子计算?
```
---
## 提及
```
@SlackAgent 总结今天的 AI 新闻。
```
---
## 任务管理
创建任务
```
创建任务:
准备黑客马拉松演讲稿,截止日期为明天
```
列出任务
```
列出我的任务
```
完成任务
```
完成任务 1
```
---
# 截图
### Slack AI 助手

---
### 实时搜索

---
### MCP 任务管理

---
# 工作流程
1. 用户通过 Slack 发送消息。
2. Slack 将请求转发到 Bolt 应用。
3. Google Gemini 分析用户的意图。
4. Gemini 决定:
- 通过 Tavily 搜索网络
- 执行 MCP 工具
- 直接回答
5. 所选服务处理请求。
6. 结果返回给用户,在 Slack 中。
---
# 影响
Slack AI 代理,助力协作,旨在改善:
- 学生组织
- 志愿者社区
- 非营利组织
- 小型团队
- 初创团队
的协作。
用户无需在多个应用之间切换,即可直接在 Slack 中获得智能协助。
这减少了上下文切换,节省了时间,改善了协作,使团队能够专注于有意义的工作。
---
# 未来改进
- Google 日历集成
- GitHub 集成
- Jira 集成
- Notion 集成
- 持久数据库
- 多用户任务同步
- 团队分析仪表盘
---
# 许可证
该项目在 MIT 许可证下获得许可。
---
# 作者
在 **Slack 黑客马拉松 2026** 期间开发。
如果您觉得这个项目有帮助,请考虑 ⭐ 给仓库加星!开源贡献是允许的。