imemrul/FixPilot-AI
GitHub: imemrul/FixPilot-AI
FixPilot AI 是一个事件驱动的生产事件响应平台,通过关联遥测与部署数据、生成 AI 根因假设并协调人工审批的修复流程来解决线上故障定位与恢复效率问题。
Stars: 1 | Forks: 0
# FixPilot AI
FixPilot AI 是一个事件驱动的生产事件响应平台,它将遥测数据与部署进行关联,生成基于证据的 AI 根因假设,并协调安全且经人工批准的修复操作。
## 仓库内容
本仓库以面向生产环境的 monorepo 为基础,这是一个围绕 NestJS、Laravel、FastAPI、RabbitMQ、Redis、PostgreSQL、OpenSearch、OpenTelemetry、Docker、Kubernetes 和 AWS 部署模式构建的多语言、事件驱动平台。
当前仓库交付物包括:
- 架构决策记录和威胁模型
- 版本化的事件和 API 契约
- 租户感知的身份领域模型和安全控制
- 共享设计令牌和仪表盘交互规范
- 用于 RabbitMQ、Redis、PostgreSQL、OpenSearch、Prometheus、Grafana 和 Jaeger 的本地基础设施定义
- 用于事件信封、租户隔离规则、审计哈希和 AI 结构化输出验证的可运行 Python 验证切片
- 针对网关、分析器、摄入、通知、修复和仪表盘层的具体入门实现
- 演示数据生成和模拟事件生命周期演练
## 仓库结构
```
FixPilot-AI/
├── apps/
├── contracts/
├── infrastructure/
├── packages/
├── scripts/
├── docs/
├── tests/
├── .github/workflows/
├── docker-compose.yml
├── Makefile
└── README.md
```
## 架构
```
flowchart LR
W[Web Dashboard\nNext.js] --> G[API Gateway\nNestJS]
G --> I[Identity Service\nLaravel API]
G --> C[Incident Service\nLaravel API]
G --> R[Remediation Service\nNode.js]
T[Telemetry Sources] --> N[Ingestion Service\nNode.js]
N --> MQ[(RabbitMQ)]
C --> MQ
R --> MQ
MQ --> A[Analyzer Service\nFastAPI]
MQ --> O[Notification Service\nNode.js]
MQ --> C
I --> PGI[(PostgreSQL\nidentity)]
C --> PGC[(PostgreSQL\nincident)]
R --> PGR[(PostgreSQL\nremediation)]
N --> OS[(OpenSearch)]
A --> REDIS[(Redis)]
OTEL[OpenTelemetry] --> J[Jaeger/Tempo]
OTEL --> PROM[Prometheus]
PROM --> GRAF[Grafana]
```
## 事件生命周期
```
flowchart LR
A[Telemetry received] --> B[Anomaly detected]
B --> C[Incident created]
C --> D[Evidence collection requested]
D --> E[Evidence collected]
E --> F[AI analysis requested]
F --> G[AI analysis completed]
G --> H[Remediation proposed]
H --> I[Notification sent]
I --> J[Human approval requested]
J --> K{Approved?}
K -->|Yes| L[Remediation executed]
K -->|No| M[Remediation rejected]
L --> N[Verification completed]
N --> O[Incident resolved]
O --> P[Post-incident report generated]
```
## 核心原则
- 必须经过人工批准才能执行更改生产的操作。
- 每个服务拥有自己的数据存储。
- 在一致性至关重要的情况下,事件发布使用事务性发件箱。
- 消费者是幂等且可追踪的。
- AI 输出是结构化的、经过验证和脱敏处理的,并且在没有证据的情况下绝不视为事实。
- 租户上下文始终来源于经过验证的身份验证声明。
## 阶段 1 验证
包含基于 Python 的验证是因为当前工作区未安装 Node.js、PHP、Composer 或 Docker。
```
make verify
```
该命令验证:
- 事件信封结构
- AI 分析结构化输出 schema
- 租户感知的缓存键生成
- 审计链防篡改证据
## 安装工具链后的本地命令
```
make bootstrap
make contracts
make verify
docker compose up -d
```
在添加了 [docs/local-setup.md](/home/imemrul/projects/FixPilot-AI/docs/local-setup.md) 中要求的主机文件条目后,请使用 `fixpilot-ai.test` 作为本地仪表盘主机名,并使用 `api.fixpilot-ai.test` 作为本地 API 主机名。
## 文档
- [架构决策记录](docs/adr/0001-platform-foundation.md)
- [威胁模型](docs/threat-model.md)
- [安全架构](docs/security-architecture.md)
- [服务职责矩阵](docs/service-responsibility-matrix.md)
- [事件目录](docs/event-catalog.md)
- [设计系统](docs/design-system.md)
- [RBAC 矩阵](docs/rbac-matrix.md)
- [演示场景](docs/demo-scenario.md)
- [仪表盘运行程序](docs/dashboard-runner.md)
- [运行指南](docs/how-to-run.md)
- [阶段计划](docs/phase-plan.md)
标签:AIOps, MITM代理, NestJS, 事故响应, 子域名突变, 微服务架构, 搜索引擎查询, 测试用例, 漏洞利用检测, 用户代理, 自定义请求头, 请求拦截, 运维监控, 逆向工具