UjjwalKaushik0609/Api-failure-investigator
GitHub: UjjwalKaushik0609/Api-failure-investigator
基于 LangGraph 多智能体的 AI 驱动 API 故障调查平台,能自动解析日志与错误并生成根本原因分析、修复方案及事件报告。
Stars: 0 | Forks: 0
# API 故障调查器
这是一个面向 AI/LLM 后端岗位的生产级全栈作品集项目。用户可以粘贴 API 日志、HTTP 故障、堆栈跟踪、Docker/Kubernetes 输出或服务错误。一个 LangGraph agent pipeline 会解析证据,识别可能的根本原因,生成修复方案,扫描安全问题,将历史经验存储在 ChromaDB 中,并生成事件报告。






## 架构
```
flowchart LR
U[User] --> FE[React + Vite]
FE -->|Bearer JWT| API[FastAPI]
API --> AUTH[JWT Auth + Redis Blacklist]
API --> PG[(PostgreSQL)]
API --> LG[LangGraph Workflow]
LG --> P[Log Parser]
P --> R[Root Cause Agent]
R --> F[Fix Generator]
F --> S[Security Agent]
S --> I[Incident Report Agent]
API --> C[(ChromaDB Similar Incidents)]
R -.-> Claude[Anthropic Claude Sonnet]
F -.-> Claude
```
## 功能
- JWT 身份验证,支持注册、登录、获取当前用户,以及基于 Redis 的登出黑名单。
- 使用 `Authorization: Bearer ` 保护的 API 路由。
- PostgreSQL 存储用户和事件数据,所有事件查询均通过 `user_id` 进行过滤。
- 包含五个专用 AI agent 的 LangGraph 工作流。
- 通过 `ANTHROPIC_API_KEY` 集成 Claude,并为没有密钥的演示提供确定性回退分析。
- 通过 ChromaDB 历史经验搜索,查找最相似的顶级历史事件。
- 包含 React 身份验证页面、受保护的路由、Axios token 拦截器、导航栏用户显示以及登出功能。
- 仪表盘提供 Recharts 指标、历史搜索、事件详情重新分析、Markdown 导出和 PDF 导出。
- 使用 Docker Compose 编排 backend、frontend、Postgres、Redis 和 ChromaDB。
## 快速开始
```
cp .env.example .env
docker compose up --build
```
访问地址:
- Frontend: http://localhost:5173
- Backend 文档: http://localhost:8000/docs
- 健康检查: http://localhost:8000/health
在 `/register` 创建一个账户,登录,然后粘贴一个示例故障:
```
2026-06-29T10:15:21Z service=auth-service ERROR TokenExpiredError: jwt expired
GET /api/incidents HTTP/1.1 401
Authorization: Bearer eyJhbGciOi...
```
## 环境
```
ANTHROPIC_API_KEY=
DATABASE_URL=postgresql+psycopg://postgres:postgres@localhost:5432/api_failure_investigator
REDIS_URL=redis://localhost:6379/0
CHROMA_HOST=localhost
CHROMA_PORT=8001
SECRET_KEY=your-super-secret-key-here
ACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_DAYS=7
CORS_ORIGINS=http://localhost:5173,http://localhost:3000
```
## API
身份验证:
- `POST /auth/register` `{ email, password, full_name }`
- `POST /auth/login` `{ email, password }`
- `GET /auth/me`
- `POST /auth/logout`
受保护的应用 endpoint:
- `POST /api/investigate` `{ logs, format }`
- `GET /api/incidents`
- `GET /api/incidents/{id}`
- `GET /api/dashboard/stats`
- `POST /api/export/pdf` `{ incident_id }`
## Agent 工作流
1. **Log Parser Agent** 提取时间戳、HTTP 状态码、服务以及高价值错误行。
2. **Root Cause Agent** 将事件归类到已知的故障类别中,并返回置信度、证据、严重程度、影响范围以及受影响的组件。
3. **Fix Generator Agent** 返回紧急处理步骤、生产环境代码补丁、长期修复方案以及预防措施。
4. **Security Agent** 检查日志中是否存在暴露的密钥和不安全的身份验证泄露。
5. **Incident Report Agent** 生成面向管理层的 Markdown 格式报告。
## 部署说明
对于线上部署,请设置强随机性的 `SECRET_KEY`、生产环境的 Postgres URL、Redis URL、Chroma 主机地址、frontend 的 `VITE_API_URL` 以及 `ANTHROPIC_API_KEY`。该 Docker 部署方案适用于 Render、Railway、Fly.io,或装有 Docker Compose 的虚拟机 (VM)。
## 截图
在首次部署后在此处添加截图:
- 登录页面
- 调查页面
- 仪表盘
- 事件报告
标签:AV绕过, Docker, FastAPI, LLM, PostgreSQL, React, Syscalls, Unmanaged PE, 人工智能, 安全防御评估, 搜索引擎查询, 测试用例, 特征库, 用户模式Hook绕过, 自定义脚本, 请求拦截, 逆向工具