# OpenFAI
**Repository Path**: openquality/OpenFAI
## Basic Information
- **Project Name**: OpenFAI
- **Description**: OpenFAI-开源首件检验系统,内置PaddleOCR等4大引擎和云端3大视觉模型。支持图纸智能识别、检验计划管理、SOP生成、测量数据采集、CPK统计分析、报告生成、审批工作流等功能。
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-05
- **Last Updated**: 2026-04-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FAI(首件检验)自动化质量评审系统
> 版本: 1.0.0 | 更新日期: 2026年4月
---
## 系统概述
FAI(First Article Inspection,首件检验)自动化质量评审系统是一款专业的质量管理软件,支持:
- **图纸智能识别**:使用AI视觉模型自动识别图纸中的尺寸标注和公差信息
- **检验计划管理**:从CAD文件解析或手动创建检验计划
- **测量数据采集**:支持多种测量设备集成,自动采集测量数据
- **统计分析**:自动计算Cp/Cpk等过程能力指标
- **报告生成**:生成符合AS9102/PPAP标准的检验报告
- **审批工作流**:支持电子签名和多级审批流程
### 支持的标准
- **AS9102**:航空航天首件检验标准
- **PPAP**:生产件批准程序
- **ISO 9001**:质量管理体系
---
## 技术栈
| 组件 | 技术 |
|------|------|
| 后端框架 | Django 5.2 + Django REST Framework 3.15.2 |
| 数据库 | PostgreSQL (生产) / SQLite (开发) |
| 前端 | Bootstrap 5 + Bootstrap Icons |
| 文件存储 | S3兼容对象存储 |
| PDF处理 | PyMuPDF |
| OCR | PaddleOCR (已默认安装) + AI视觉模型 |
---
## 快速开始
### 环境要求
- Python 3.12+
- PostgreSQL 14+ (生产环境)
### 安装部署
```bash
# 安装依赖(包含PaddleOCR,已默认安装)
pip install -r requirements.txt
# 数据库迁移
python manage.py migrate
# 创建管理员
python manage.py createsuperuser
# 启动服务
python manage.py runserver 0.0.0.0:5000
```
### 访问系统
- 系统地址: http://localhost:5000
- 管理后台: http://localhost:5000/admin/
### 默认账号
- 管理员: `admin` / `admin123`
---
## 系统架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 用户层 (Browser) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Nginx (反向代理/负载均衡) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Django Application Server │
│ Gunicorn (端口: 5000) │
└─────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ PostgreSQL │ │ Redis │ │ S3 Storage │
│ (主数据库) │ │ (缓存/队列) │ │ (文件存储) │
└──────────────────┘ └──────────────────┘ └──────────────────┘
```
---
## 功能模块
| 模块 | 功能描述 |
|------|----------|
| 仪表盘 | 系统概览,关键统计数据,快速操作入口 |
| 零件管理 | 零件信息维护、CAD文件上传、图纸管理 |
| 检验计划 | 检验计划创建、特性定义、CAD解析生成 |
| 测量批次 | 测量批次管理、数据录入、统计分析 |
| 检验报告 | 报告生成、PDF导出、AS9102/PPAP标准 |
| 项目管理 | FAI项目跟踪、步骤管理、进度监控 |
| 审批流程 | 多级审批、电子签名、流程管理 |
| 设备集成 | 测量设备接口、数据采集 |
---
## 典型工作流程
```
1. 创建零件 → 2. 上传图纸 → 3. OCR识别 → 4. 创建检验计划
↓
8. 发布报告 ← 7. 审批 ← 6. 生成报告 ← 5. 录入测量数据
```
---
## 界面导航
系统左侧导航栏包含以下主要功能:
| 菜单项 | 功能说明 |
|--------|----------|
| 仪表盘 | 系统概览,显示关键统计数据 |
| 零件管理 | 管理零件信息、上传图纸 |
| 检验计划 | 创建和管理检验计划 |
| 测量批次 | 管理测量数据和统计分析 |
| 检验报告 | 生成和管理检验报告 |
| 审批流程 | 管理审批工作流 |
| 项目管理 | 管理FAI项目 |
| 设备管理 | 管理测量设备 |
| 用户管理 | 用户和角色管理(管理员) |
| 系统设置 | OCR引擎配置等系统设置 |
### 侧边栏折叠功能
- **折叠侧边栏**:点击侧边栏顶部的折叠按钮,侧边栏将收缩为仅显示图标
- **展开侧边栏**:再次点击折叠按钮恢复完整显示
- **状态记忆**:折叠状态自动保存,刷新页面后保持原状态
---
## 权限角色
| 角色 | 权限范围 |
|------|----------|
| 管理员 (ADMIN) | 全部模块 |
| 批准人 (APPROVER) | reports, workflows |
| 审核员 (REVIEWER) | inspections, reports, workflows |
| 检验员 (INSPECTOR) | measurements, inspections(view) |
| 质量工程师 (QUALITY_ENGINEER) | inspections, measurements, reports |
| 质量经理 (QUALITY_MANAGER) | 全部模块(view/edit) |
| 查看者 (VIEWER) | 全部模块(view) |
---
## 技术文档
详细技术文档请参考 `docs/` 目录:
| 文档 | 说明 |
|------|------|
| [docs/DEPLOYMENT_GUIDE.md](docs/DEPLOYMENT_GUIDE.md) | 部署指南 |
| [docs/OPERATIONS_GUIDE.md](docs/OPERATIONS_GUIDE.md) | 运维手册 |
| [docs/API_REFERENCE.md](docs/API_REFERENCE.md) | API接口文档 |
| [docs/DATABASE_SCHEMA.md](docs/DATABASE_SCHEMA.md) | 数据库设计 |
| [docs/CAD_SUPPORT.md](docs/CAD_SUPPORT.md) | CAD文件支持说明 |
---
## 常见问题
### OCR引擎状态不更新
安装完成后按 F5 刷新页面。
### PaddleOCR导入失败
Docker环境重启容器即可;或手动安装系统依赖:
```bash
apt-get install -y libgl1 libglib2.0-0
```
### 数据库连接失败
检查 `DATABASE_URL` 环境变量配置。
---
## 项目结构
```
/workspace/projects/
├── fai_system/ # Django项目配置
├── accounts/ # 用户权限模块
├── core/ # 核心功能
├── parts/ # 零件管理
├── inspections/ # 检验计划
├── measurements/ # 测量数据
├── reports/ # 报告生成
├── workflows/ # 工作流管理
├── equipment/ # 设备管理
├── templates/ # 模板文件
├── docs/ # 技术文档
├── requirements.txt # Python依赖
└── manage.py # Django管理脚本
```