pritamwankhede9224/ai-chatops-assistant
GitHub: pritamwankhede9224/ai-chatops-assistant
一个集成 Slack 与 OpenAI 的 AI ChatOps 助手,通过 FastAPI 后端自动化处理 DevOps 生产事故的智能分析与 RCA 生成。
Stars: 0 | Forks: 0
# 🚨 AI 驱动的 Incident ChatOps 助手





本项目旨在使用 AI 驱动的 ChatOps 自动化**首次响应运营工作流**。
助手直接从 Slack 接收生产 incident,执行 AI 驱动的 incident 分析,并响应以下内容:
- 严重性评估
- 根本原因分析 (RCA)
- 影响分析
- 推荐修复方案
- 预防策略
所有这一切都在实时进行。
# ⚡ 本项目解决的问题
现代 DevOps 和 Cloud 团队面临以下问题:
- 告警疲劳
- Incident 分拣缓慢
- 重复的运维调试
- 宕机期间沟通分散
本项目作为一个集成到 Slack 工作流中的 **AI 运维助手**,旨在加速 incident 的理解和响应。
无需再手动:
- 检查日志
- 搜索仪表板
- 询问多个团队
- 起草 RCA
工程师只需触发:
```
/analyze Production API returning intermittent 503 errors
```
即可直接在 Slack 内接收 AI 辅助的运维分析。
# 🧠 核心工作流
```
Slack Slash Command
↓
FastAPI Backend
↓
Async Background Processing
↓
OpenAI API Analysis
↓
Slack Incident Response
```
# 🔥 实时工作流示例
## 1️⃣ 工程师在 Slack 中报告问题
```
/analyze EC2 instances failing health checks after deployment
```
## 2️⃣ Bot 立即确认 incident
```
🚨 NEW INCIDENT RECEIVED
👤 Triggered By: pritam9224
📝 Incident Details:
EC2 instances failing health checks after deployment
🤖 AI analysis in progress...
```
## 3️⃣ 自动生成 AI 运维分析
```
🚨 AI INCIDENT ANALYSIS REPORT
Severity: HIGH
Root Cause:
Deployment introduced unhealthy application instances causing failed health checks.
Impact:
Traffic routing instability and intermittent downtime observed.
Recommended Fix:
- Roll back latest deployment
- Verify target group health checks
- Inspect application logs
- Validate environment variables
Prevention Strategy:
- Implement canary deployments
- Add deployment health validation
- Improve monitoring and rollback automation
```
# 🚀 功能
✅ Slack Slash Command 集成
✅ AI 驱动的 Incident 分析
✅ 异步后台处理
✅ 实时 ChatOps 工作流
✅ FastAPI Backend
✅ OpenAI API 集成
✅ Slack Webhook 自动化
✅ 运维 RCA 生成
✅ 严重性评估
✅ Cloud/DevOps Incident 处理
✅ 多步骤 Incident 工作流
✅ 生产级运维设计
# 🛠 技术栈
| 技术 | 用途 |
| ---------------------- | --------------------------- |
| Python | Backend 开发 |
| FastAPI | API 框架 |
| OpenAI API | AI Incident 分析 |
| Slack API | ChatOps 集成 |
| Slack Webhooks | 自动化消息推送 |
| ngrok | 用于本地开发的公共 Tunnel |
| Uvicorn | ASGI 服务器 |
| 异步后台任务 | 非阻塞处理 |
# ⚙️ 项目架构
```
┌──────────────────────┐
│ Slack User │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Slack Slash Command │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ FastAPI Backend │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Async Background Job │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ OpenAI API │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Slack AI RCA Report │
└──────────────────────┘
```
# 📂 项目结构
```
ai-chatops-assistant/
│
├── chatops_bot.py
├── requirements.txt
├── .gitignore
├── README.md
│
├── System Workflow/
├── screenshots/
├── architecture/
└── sample_logs/
```
# 🔐 安全考量
诸如 API key 之类的敏感凭证使用以下方式进行安全存储:
```
.env
```
`.env` 文件已通过以下配置从版本控制中排除:
```
.gitignore
```
# 🧪 本地运行项目
## 1️⃣ 克隆仓库
```
git clone https://github.com/pritamwankhede9224/ai-chatops-assistant.git
```
## 2️⃣ 安装依赖
```
pip install -r requirements.txt
```
## 3️⃣ 配置环境变量
创建一个 `.env` 文件:
```
OPENAI_API_KEY=your_openai_api_key
SLACK_WEBHOOK_URL=your_slack_webhook_url
```
## 4️⃣ 运行 FastAPI 服务器
```
python -m uvicorn chatops_bot:app --reload
```
## 5️⃣ 启动 ngrok Tunnel
```
ngrok http 8000
```
## 6️⃣ 配置 Slack Slash Command
示例:
```
/analyze
```
Request URL:
```
https://your-ngrok-url/slack/analyze
```
# 🧠 实践的工程概念
本项目有助于巩固对以下方面的实际理解:
* API 集成
* Webhook
* ChatOps 工作流
* 异步后台处理
* AI 编排
* Incident 响应自动化
* Slack bot 集成
* 运维工具
* Cloud/DevOps 工作流设计
* 后台任务执行
# 💡 核心要点
构建本项目帮助我更好地理解了:
- 异步运维工作流
- Slack Webhook 集成
- AI 编排模式
- 实时 Incident 自动化
- 后端 API 生命周期处理
- 实用的 ChatOps 架构
# ⚠️ 当前局限性
- 本地开发目前使用 ngrok 隧道
- AI 响应依赖于外部 API 的延迟
- 尚未实现持久的 Incident 存储
- 多用户上下文处理有限
# 🔮 未来增强功能
* AWS CloudWatch 集成
* 创建 ServiceNow/Jira Ticket
* 多云 Incident 支持
* AI 严重性评分引擎
* Incident 记忆与历史上下文
* 实时监控集成
* Kubernetes 告警处理
* PagerDuty 集成
* 多渠道通知
* AI 驱动的自动修复
## 🏗️ 架构概述
AI ChatOps 助手通过基于 Slack 的运维工作流,自动化 Incident 分拣和根本原因分析。
### 高层架构

### 工作流
1. 工程师使用 Slack 的 `/analyze` 命令提交 Incident。
2. Slack 通过安全的 webhook endpoint 将请求发送到 FastAPI backend。
3. FastAPI 验证请求并启动异步后台任务。
4. 使用 OpenAI GPT 模型分析 Incident 详情。
5. AI 生成:
* 严重性评估
* 根本原因分析 (RCA)
* 影响分析
* 修复步骤
* 预防建议
6. 生成的 Incident 报告通过 webhook 传送回 Slack。
7. 工程师直接在 Slack 内接收结构化的运维响应。
### 核心组件
| 组件 | 用途 |
| ---------------- | ------------------------------ |
| Slack | 用户交互与 ChatOps 界面 |
| FastAPI | 后端 API 服务 |
| OpenAI API | AI 驱动的 Incident 分析 |
| 后台任务 | 异步处理 |
| Slack Webhooks | 响应交付 |
| Python | 核心应用逻辑 |
| ngrok | 本地开发隧道 |
# 📸 截图与实时工作流
## 🚨 Incident 触发工作流
工程师使用 `/analyze` slash command 直接从 Slack 触发 Incident 分析。

## 🤖 AI Incident 分析响应
AI 助手自动执行运维分析并生成:
- 严重性评估
- 根本原因分析
- 影响摘要
- 推荐修复方案
- 预防策略
所有内容直接在 Slack 内呈现。

## ⚙️ FastAPI Backend 文档
交互式 FastAPI Swagger 文档,公开了 ChatOps 助手使用的运维 endpoint。

# 🤝 本项目为何重要
本项目无意取代工程师。
它旨在通过以下方式协助运维团队:
* 减少重复的调查工作
* 加速 Incident 分拣
* 提高运维可见性
* 实现更快的首次响应工作流
重点是将 AI 实际集成到真实的运维系统中——而不仅仅是构建另一个聊天机器人。
## 🚀 即将推出的未来增强功能
计划在下一版本中推出的改进:
* [ ] Incident 严重性分类 (P1/P2/P3/P4)
* [ ] 日志文件上传与分析
* [ ] 历史 Incident 数据库
* [ ] Incident 趋势仪表板
* [ ] AWS CloudWatch 集成
* [ ] Azure Monitor 集成
* [ ] 自动创建 Ticket
* [ ] 多 LLM 支持
* [ ] 特定于云的 RCA 模板
* [ ] 基于知识库的 Incident 分析
# 👨💻 作者
### Pritam Wankhede
专注于以下领域的 Cloud / DevOps 工程师:
* AWS
* Azure
* CI/CD
* 基础设施自动化
* AI 集成的运维工作流
标签:AV绕过, ChatOps, FastAPI, OpenAI, Petitpotam, 事故响应, 内存规避, 智能运维, 根因分析, 逆向工具