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 中,并生成事件报告。 ![Python](https://img.shields.io/badge/Python-3.11-3776AB) ![FastAPI](https://img.shields.io/badge/FastAPI-API-009688) ![React](https://img.shields.io/badge/React-Vite-61DAFB) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-4169E1) ![Redis](https://img.shields.io/badge/Redis-cache-DC382D) ![Docker](https://img.shields.io/badge/Docker-ready-2496ED) ## 架构 ``` 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绕过, 自定义脚本, 请求拦截, 逆向工具