mehmetcamofficial/opspilot-qwen
GitHub: mehmetcamofficial/opspilot-qwen
OpsPilot 是一个基于 Qwen 大模型的多 Agent 系统,旨在帮助 SRE 团队自动化完成生产事故的调查、根因分析、修复方案规划和事后总结。
Stars: 0 | Forks: 0
# OpsPilot:基于 Qwen 的多 Agent 事故指挥官
OpsPilot 是一个基于 Qwen 的多 Agent 事故响应和修复系统,专为使用 Qwen Cloud 参加全球 AI 黑客松而构建。
它可以帮助工程和 SRE 团队调查生产事故、对证据进行推理、规划安全的修复方案、请求人工批准、执行受控操作以及生成事后总结报告。
## 黑客松赛道
主赛道:**Track 4: Autopilot Agent**
次要优势:**Track 3 风格的 Agent Society**,因为 OpsPilot 使用了多个具有独立职责的专用 Agent。
## 在线前端
前端部署地址:
https://opspilot-qwen.vercel.app
注意:Vercel 在线前端已成功部署。在阿里云/Qwen Cloud 黑客松额度激活之前,后端目前仍在本地运行。生产环境的后端 URL 稍后将替换 `NEXT_PUBLIC_API_BASE_URL`。
## 代码仓库
https://github.com/mehmetcamofficial/opspilot-qwen
## 问题背景
生产事故往往伴随着大量噪音、高压环境以及高昂的成本。
在事故发生期间,团队通常需要手动检查告警、日志、指标、部署历史、runbook、过往事故、修复方案、风险策略以及事后总结记录。
这会导致延迟、不确定性以及运维风险。
## 解决方案
OpsPilot 将事故响应转化为结构化的多 Agent 工作流。
它可以:
* 接入事故告警
* 对严重程度和爆炸半径进行分类
* 分析指标、日志和部署历史
* 检索相关的 runbook 和过往事故
* 生成排序后的根因假设
* 提出修复建议
* 应用风险和安全策略
* 对高风险操作请求人工批准
* 模拟受控修复
* 对比操作前后的指标
* 生成事后总结报告
## 核心演示场景
演示事故为:
**缓存配置回退导致的 Checkout API 延迟突增。**
系统检测到:
* checkout 延迟增加
* 缓存命中率骤降
* 数据库延迟增加
* 缓存未命中回退日志
* 近期与缓存相关的配置更改
OpsPilot 得出结论,最可能的根本原因是缓存配置回退,并建议在人工批准的情况下进行回滚操作。
## Agent 工作流
OpsPilot 使用了以下专用 Agent:
1. Triage Agent
2. Observability Agent
3. Runbook Retrieval Agent
4. Hypothesis Agent
5. Remediation Planner Agent
6. Risk & Safety Agent
7. Approval Agent
8. Remediation Executor
9. Execution Review Agent
10. Postmortem Agent
每个 Agent 都会返回结构化的 JSON,并为易于审计的事故时间线提供数据支持。
## Qwen Cloud 使用说明
OpsPilot 包含一个兼容 Qwen 的客户端:
`backend/app/services/qwen_client.py`
Agent 系统旨在通过 OpenAI 兼容的 chat completions 接口调用 Qwen Cloud。
当前安全的演示模式:
`USE_MOCK_LLM=true`
`FALLBACK_TO_MOCK_ON_ERROR=true`
在 Qwen Cloud 黑客松额度激活后:
`USE_MOCK_LLM=false`
`FALLBACK_TO_MOCK_ON_ERROR=true`
`QWEN_API_BASE=https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
`QWEN_API_KEY=`
`QWEN_MODEL=qwen-plus`
特意保留 Mock 回退机制是为了保证演示的稳定性,并避免在额度可用之前产生意外费用。
## 安全性与人工批准
OpsPilot 不是盲目的自动化机器人。
安全原则:
* 生产环境配置更改需要人工批准
* 高风险的数据库操作可以被拦截
* 每一项修复操作都包含回滚计划
* 每一个 Agent 决策都会被记录在时间线中
* 区分证据与不确定性
* 低置信度的情况可以上报
## 架构
### 优化后的工作流架构

### Mermaid 技术架构

架构文档:
- `docs/architecture.md`
- `docs/architecture.mmd`
- `docs/architecture.svg`
核心组件:
* Next.js 仪表盘前端
* FastAPI 后端
* Agent 编排器
* 兼容 Qwen 的模型客户端
* Mock 回退层
* 指标/日志/部署/runbook 工具
* 审批与审计时间线
* 计划中的阿里云 ECS 部署
## 本地开发
### 后端
运行:
`cd backend`
`python3 -m venv .venv`
`source .venv/bin/activate`
`pip install -r requirements.txt`
`uvicorn app.main:app --reload`
后端运行地址:
`http://127.0.0.1:8000`
Swagger 文档地址:
`http://127.0.0.1:8000/docs`
健康检查:
`curl http://127.0.0.1:8000/health`
### 前端
运行:
`cd frontend`
`npm install`
`npm run dev`
前端运行地址:
`http://localhost:3000`
本地前端环境变量:
`NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8000`
## 主要 API Endpoints
* `GET /health`
* `GET /`
* `POST /incidents`
* `GET /incidents`
* `GET /incidents/{incident_id}`
* `POST /incidents/{incident_id}/approve`
## 示例工作流
1. 打开仪表盘。
2. 点击 **Start Demo Incident**。
3. 观察 Agent 时间线完成。
4. 查看证据板和主要假设。
5. 批准修复方案。
6. 查看执行审查和事后总结的生成。
## 阿里云部署计划
部署就绪文件:
* `backend/Dockerfile`
* `infra/alibaba/docker-compose.prod.yml`
* `docs/alibaba-cloud-deployment-proof.md`
在黑客松额度激活之后,后端将部署在阿里云 ECS 上。
在额度可用之前,不会使用任何按量付费的资源。
计划的验证内容:
* 运行中的 ECS 实例
* 通过 Docker 运行的后端
* 公网健康检查 endpoint
* 公网事故工作流 endpoint
* Vercel 前端连接到阿里云后端 URL
## 演示脚本
参见:
`docs/demo-script.md`
## 提交清单
参见:
`docs/submission-checklist.md`
## 当前状态
已完成:
* 公开的 GitHub 仓库
* MIT 许可证
* FastAPI 后端
* 兼容 Qwen 的客户端
* Mock LLM 回退机制
* 多 Agent 编排
* 事故审批工作流
* 事后总结生成
* Next.js 前端
* Vercel 前端部署
* Dockerfile
* 阿里云部署计划
* 架构文档
待办事项:
* Qwen Cloud 额度激活
* 阿里云 ECS 后端部署
* 部署演示视频
* 最终的 3 分钟演示视频
* Devpost 提交文本
## 许可证
MIT
标签:AIOps, OSV, SRE, Vercel, 偏差过滤, 多智能体, 自动化运维, 请求拦截, 逆向工具, 通义千问