yosef-tadesse123/incidentiq
GitHub: yosef-tadesse123/incidentiq
IncidentIQ 是一款利用 AI 帮助开发和运维团队进行生产事件根因分析与事后报告起草的事件响应工具。
Stars: 0 | Forks: 0
# IncidentIQ
AI 驱动的事件响应与根因分析工具 — 毕业设计
IncidentIQ 帮助开发、DevOps 和 SRE 团队调查生产事件,利用 AI 总结证据、重构时间线、生成根因假设、识别推理风险,并起草事件报告。
**核心原则:** 系统将事实、假设、推论和建议行动区分开来。AI 输出需要人工验证。
## 功能
- **输入接口** — 粘贴或上传日志、警报、部署说明、用户投诉和 API 错误
- **AI 事件总结** — 避免无根据声明的专业总结
- **时间线重构** — 带有证据来源和置信度的事件
- **根因假设** — 多个带有支持/反驳证据的排序假设
- **偏见与谬误检测器** — 标记认知偏见和逻辑谬误
- **建议后续行动** — 与证据关联的调试步骤
- **事后分析草案** — 面向专业团队的结构化事件报告
- **导出为 Markdown** — 将分析结果下载为 `.md` 文件
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 前端 | React + Vite |
| 后端 | Python FastAPI |
| AI | OpenAI API (gpt-4o-mini) |
| 数据 | JSON |
## 快速开始
### 前置条件
- Python 3.10+
- Node.js 18+
- OpenAI API key(可选 — 没有 key 时也可使用 mock 模式)
### 1. 后端
```
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
copy .env.example .env # Windows
# cp .env.example .env # macOS/Linux
```
编辑 `.env` 并设置你的 OpenAI API key:
```
OPENAI_API_KEY=sk-your-key-here
OPENAI_MODEL=gpt-4o-mini
```
启动服务器:
```
uvicorn main:app --reload --port 8000
```
### 2. 前端
```
cd frontend
npm install
npm run dev
```
打开 http://localhost:5173
### 3. 试用
1. 点击 **Load Sample Data** 加载电商结账事件
2. 点击 **Analyze Incident**
3. 查看结构化分析
4. 点击 **Export Markdown** 下载报告
## 项目结构
```
incidentiq/
├── backend/
│ ├── main.py # FastAPI app
│ ├── models.py # Pydantic models
│ ├── services/
│ │ ├── ai_analyzer.py # AI analysis logic + mock fallback
│ │ └── prompt_templates.py # System prompts
│ ├── sample_data/ # Example incident files
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── App.jsx
│ │ ├── components/
│ │ │ ├── InputForm.jsx
│ │ │ └── AnalysisResults.jsx
│ │ └── sampleData.js
│ └── package.json
└── README.md
```
## AI Prompts
系统使用结构化的 prompt 来强制执行:
- 分离事实 / 假设 / 推论 / 行动
- 至少 3 个带有置信度排名的假设
- 为每个时间线事件提供证据引用
- 偏见和谬误检测
- 关于 AI 局限性的明确免责声明
完整的 prompt 请参见 `backend/services/prompt_templates.py`。
## Mock 模式
如果没有 OpenAI API key,IncidentIQ 将使用启发式分析在 **mock 模式** 下运行。这让你能够测试界面和工作流,但输出的内容会有所简化。在 `.env` 中设置 `OPENAI_API_KEY` 即可进行完整的 AI 分析。
## 示例事件场景
部署 v2.4.1 后电商结账流程失败:
- `PAYMENT_TIMEOUT_MS` 从 5000 减少到 3000 后,支付网关超时
- 购物车服务在优惠券验证时出现 502 错误
- 错误率从 0.1% 飙升至 12%
## License
教学项目 — 计算机科学毕业设计
标签:AV绕过, FastAPI, Petitpotam, React, Syscalls, 事故响应, 人工智能, 根因分析, 用户模式Hook绕过, 运维, 逆向工具