chibuchi001/Aegisops
GitHub: chibuchi001/Aegisops
AI驱动的智能事件响应平台,自动化日志调查、根因分析、修复执行并生成RCA报告,显著缩短运维团队的事件响应时间。
Stars: 0 | Forks: 0
# AegisOps — AI驱动的智能事件响应平台
AegisOps 是一个由 AI 驱动的事件响应和运维情报平台,专为现代工程团队构建。它能够检测事件、自主调查日志、识别根本原因、执行修复并生成专业的 RCA 报告 — 所有操作都在安全的认证界面后完成。
## 🛡️ 核心功能
| 功能 | 描述 |
|---------|-------------|
| **安全认证** | JWT 登录、bcrypt 密码加密、httpOnly cookie 会话、基于角色的访问控制(管理员 / 工程师) |
| **路由守卫** | Next.js 中间件 — 未认证用户重定向至 `/login` |
| **实时事件仪表盘** | 实时 KPI、严重程度图表、事件趋势和服务健康网格 |
| **AI 调查引擎** | 跨 10 个故障领域的日志模式分析,带置信度评分 |
| **修复建议引擎** | 上下文感知的修复方案,包含风险评估和可执行命令 |
| **一键修复模拟** | 模拟终端执行修复,逐步输出流 |
| **RCA 报告生成器** | 自动生成的根本原因分析报告,可下载为 `.txt` 格式 |
| **实时日志流** | 跨所有监控服务的 WebSocket 日志推送 |
| **服务健康监控** | 每个服务的正常运行时间和事件跟踪 |
## 🏗️ 系统架构
```
+--------------------------------------+
� Browser �
� Login page � Dashboard � Reports �
+--------------------------------------+
� httpOnly cookie (JWT)
+-------?--------+
� Next.js 14 �
� App Router �
� middleware.ts � ? route guards
� /api/auth/* � ? login / logout / me
+-----------------+
� Authorization: Bearer
+------------?-------------------------+
� FastAPI (Python 3.11) �
� /api/v1/auth/login (public) �
� /api/v1/incidents (protected) �
� /api/v1/analyze (protected) �
� /api/v1/resolve (protected) �
� /api/v1/reports (protected) �
� /api/v1/metrics (protected) �
� ws://�/ws/logs/{id} (WebSocket) �
+--------------------------------------+
�
+------------?------------+
� SQLite (aiosqlite) �
� SQLAlchemy 2 async ORM �
+-------------------------+
```
### 技术栈
| 层级 | 技术 |
|-------|-----------|
| **前端框架** | Next.js 14 (App Router)、TypeScript |
| **样式** | Tailwind CSS |
| **图表** | Recharts |
| **图标** | Lucide React |
| **会话管理** | httpOnly cookie + Next.js 中间件 |
| **后端框架** | FastAPI (Python 3.11)、uvicorn |
| **认证** | JWT (python-jose + HS256) + bcrypt (passlib) |
| **ORM** | SQLAlchemy 2.0 async + aiosqlite |
| **数据库** | SQLite(零配置演示) |
| **实时通信** | WebSockets |
| **AI / LLM** | 内置模式引擎 + OpenAI API(可选)|
## 🚀 快速开始
### 前置条件
- Node.js 18+
- Python 3.11+
- npm
### 1. 安装前端依赖
```
cd aegisops
npm install
```
### 2. 安装后端依赖
```
pip install -r backend/requirements.txt
```
### 3. 启动后端(终端 1)
```
# Windows PowerShell
$env:PYTHONPATH = "C:\path\to\aegisops"
python -m uvicorn backend.main:app --port 8000
# macOS / Linux
PYTHONPATH=. python -m uvicorn backend.main:app --port 8000
```
后端自动完成以下操作:
- 创建 SQLite 数据库(`aegisops.db`)和所有表
- 填充 6 个演示事件 + 两个用户账户
### 4. 启动前端(终端 2)
```
npm run dev
# Opens on http://localhost:3001
```
### 5. 登录
打开 **http://localhost:3001** — 中间件将重定向您到登录页面。
| 角色 | 用户名 | 密码 |
|------|----------|----------|
| 管理员 | `admin` | `aegisops2026` |
| 工程师 | `engineer` | `engineer123` |
### 可选:OpenAI 集成
```
cp .env.example .env.local
# Edit .env.local and add: OPENAI_API_KEY=sk-...
```
## 🔐 认证
AegisOps 实现了生产级认证栈:
- **后端** 通过 `POST /api/v1/auth/login` 发放签名的 JWT(HS256,8 小时过期)
- **Next.js API 路由**(`/api/auth/login`)调用后端,将令牌存储在 **httpOnly cookie** 中(防 XSS)
- **`middleware.ts`** 在每个请求时在服务端运行:
- 访问 `/dashboard/*` 且无 cookie → 重定向至 `/login`
- 访问 `/login` 且有 cookie → 重定向至 `/dashboard`
- 访问 `/api/v1/*` 且有 cookie → 注入 `Authorization: Bearer ` 请求头
- 所有后端路由(除 `/auth/login` 外)都需要 `Depends(get_current_user)`
- 密码使用 **bcrypt** 加密;`sameSite: lax` cookie 防护 CSRF 攻击
## 📖 使用指南
### 1. 登录
访问 `http://localhost:3001`。使用上述演示凭据登录。
### 2. 仪表盘
- **KPI 卡片**:活跃事件、严重事件数、今日已解决、平均修复时间、AI 分析数、自动解决数
- **事件频率图表**:按严重程度显示 12 小时趋势
- **严重程度分布**:环形图
- **服务健康网格**:每个服务的状态及正常运行时间条形图
- **实时日志流**:实时 WebSocket 推送(暂停/恢复)
### 3. 事件调查
1. 从 **事件** 页面打开任意事件
2. 在 AI 面板中点击 **"运行 AI 分析"**
3. AI 将识别根本原因、时间线、业务影响和修复建议
4. 展开修复建议 → 点击 **"执行修复 — 模拟"** 进行终端模拟
### 4. RCA 报告
导航至 **RCA 报告** 预览或下载自动生成的事后分析报告。
### 5. 退出登录
使用侧边栏底部的 **退出登录** 按钮。
## 🤖 AI 引擎
跨 **10 个故障领域** 的模式匹配智能:
| 领域 | 示例 |
|--------|----------|
| 数据库 | 连接池耗尽、慢查询、复制延迟 |
| 内存 | OOM 错误、GC 压力、堆内存耗尽 |
| 认证 | JWT 失败、会话过期、暴力破解峰值 |
| 网络 | 超时、DNS 失败、SSL/TLS 错误 |
| 缓存 | Redis 未命中级联、驱逐风暴 |
| 支付 | Webhook 失败、网关超时 |
| 部署 | 部署后回退、Schema 迁移错误 |
| CPU | 节流、热线程 |
| 网络分区 | 脑裂、共识失败 |
| 通用 | 未分类的错误峰值 |
### 可选:真实 OpenAI 集成
在 `.env.local` 中设置 `OPENAI_API_KEY=sk-...` 以使用 GPT-4o-mini。当密钥缺失或 API 不可用时,模式引擎将作为后备方案。
## 📁 项目结构
```
aegisops/
+-- app/
� +-- layout.tsx # Root layout � wraps AuthProvider
� +-- login/page.tsx # Login page
� +-- dashboard/
� � +-- page.tsx # Main dashboard
� � +-- incidents/
� � � +-- page.tsx # Incident list
� � � +-- [id]/page.tsx # Detail + AI analysis
� � +-- reports/page.tsx
� � +-- activity/page.tsx
� +-- api/
� +-- auth/login/route.ts # Sets httpOnly cookie
� +-- auth/logout/route.ts # Clears cookie
� +-- auth/me/route.ts # Reads cookie, proxies /auth/me
+-- backend/
� +-- main.py # FastAPI app
� +-- config.py # Settings (SECRET_KEY, DB URL, �)
� +-- database.py # Async engine + Base
� +-- models.py # Incident, Analysis, User, RCAReport, �
� +-- security.py # JWT utils, get_current_user
� +-- routes/
� � +-- auth.py # /auth/login + /auth/me
� � +-- incidents.py
� � +-- analyze.py
� � +-- resolve.py
� � +-- reports.py
� � +-- metrics.py
� +-- services/
� � +-- ai_engine.py
� � +-- seeder.py # Demo data + user seeding
� +-- ws/log_stream.py
+-- components/layout/Sidebar.tsx # User info + sign out
+-- contexts/AuthContext.tsx # AuthProvider + useAuth()
+-- middleware.ts # Route guards + token injection
+-- presentation.html # Slide deck (open ? Print ? Save as PDF)
+-- DEMO_SCRIPT.md
```
## 🏆 黑客松提交
**项目**:AegisOps
**赛道**:最佳 AI 创新
**活动**:量子黑客松 2026
### 问题陈述
生产事件平均造成每分钟 5,600 美元损失(Gartner)。73% 的平均修复时间用于手动日志调查。工程师在 Slack 战室中花费数小时,搜索数千行日志以找出问题所在。
### 解决方案
AegisOps 使用 AI 调查引擎自动分析日志、确定根本原因、建议针对性修复方案并生成事后分析报告 — 将平均修复时间从数小时缩短至 10 分钟以内。完整的认证层提供安全的基于角色的访问。
### 创新亮点
- **零配置 AI** — 无需任何 API 密钥即可使用内置模式智能
- **安全设计** — 从第一天起就包含完整的 JWT 认证栈(非后期添加)
- **自动事后分析** — RCA 报告在事件关闭时自动生成
- **实时架构** — WebSocket 日志推送、实时仪表盘指标
- **生产级技术栈** — 异步 FastAPI + SQLAlchemy ORM + httpOnly cookie 认证
## 📜 许可证
MIT 许可证 — 为量子黑客松 2026 构建
*AegisOps:用智能事件响应守护您的系统。*
标签:AI运营平台, AV绕过, FastAPI, JWT认证, Python, RCA报告, React, Streamlit, Syscalls, WebSocket, 依赖分析, 安全运营, 扫描框架, 故障检测, 无后门, 根因分析, 自动化攻击, 自动化运维, 访问控制