feat: AI Worker 平台 MVP v1.0.0 - 多租户/项目管理/AI Worker/任务编排/HITL审核/成本治理
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
# AI Worker 项目管理平台
|
||||
|
||||
> 以"项目"为中心、以"AI Worker"为执行单元的项目管理平台。
|
||||
> 管目标、管任务、管人机协作、管质量、管成本。
|
||||
|
||||
## 🎯 MVP 功能
|
||||
|
||||
- **多租户隔离**:行级租户隔离,支持部门级/公司级用户隔离
|
||||
- **项目管理**:项目全生命周期管理(立项→规划→执行→验收→归档)
|
||||
- **AI Worker 管理**:模型注册、角色定义、工具白名单、成本上限
|
||||
- **任务编排**:任务创建、分配给 AI Worker 或人、执行、产出物管理
|
||||
- **HITL 审核门**:人工审核/验收,AI 不可绕过
|
||||
- **成本核算**:Token / 调用次数 / 成本,按项目×任务×Worker×模型多维核算
|
||||
- **RBAC 权限**:5级角色(super_admin → tenant_admin → project_manager → reviewer → worker)
|
||||
- **Dashboard**:项目/任务/Worker/成本/审核 全景看板
|
||||
|
||||
## 🏗️ 技术架构
|
||||
|
||||
```
|
||||
前端:React 18 + TypeScript + Ant Design 5 + Vite
|
||||
后端:FastAPI + SQLAlchemy + Pydantic v2
|
||||
认证:JWT + bcrypt
|
||||
LLM网关:OpenAI兼容协议(支持OpenAI/DeepSeek/vLLM等)
|
||||
数据库:SQLite (开发) / PostgreSQL (生产)
|
||||
```
|
||||
|
||||
## 📁 代码组织
|
||||
|
||||
```
|
||||
ai-worker-platform/
|
||||
├── backend/
|
||||
│ ├── app/
|
||||
│ │ ├── main.py # FastAPI 入口
|
||||
│ │ ├── config.py # 配置管理
|
||||
│ │ ├── database.py # 数据库引擎/会话
|
||||
│ │ ├── core/ # 核心工具层
|
||||
│ │ │ ├── security.py # JWT + 密码哈希
|
||||
│ │ │ ├── tenant.py # 租户上下文
|
||||
│ │ │ ├── exceptions.py # 自定义异常
|
||||
│ │ │ └── permissions.py # RBAC 权限定义
|
||||
│ │ ├── models/ # 数据模型层(每域一个文件)
|
||||
│ │ │ ├── base.py # Base + Mixin
|
||||
│ │ │ ├── tenant.py # 租户
|
||||
│ │ │ ├── user.py # 用户(人+AI)
|
||||
│ │ │ ├── project.py # 项目
|
||||
│ │ │ ├── task.py # 任务
|
||||
│ │ │ ├── worker.py # AI Worker
|
||||
│ │ │ ├── artifact.py # 产出物
|
||||
│ │ │ ├── review.py # 审核门
|
||||
│ │ │ └── cost.py # 成本记录
|
||||
│ │ ├── schemas/ # Pydantic schemas(每域一个文件)
|
||||
│ │ ├── services/ # 业务逻辑层
|
||||
│ │ │ ├── auth_service.py
|
||||
│ │ │ ├── project_service.py
|
||||
│ │ │ ├── task_service.py
|
||||
│ │ │ ├── worker_service.py
|
||||
│ │ │ ├── execution_service.py # 任务执行引擎
|
||||
│ │ │ ├── review_service.py # 审核流程
|
||||
│ │ │ ├── cost_service.py # 成本治理
|
||||
│ │ │ └── llm_service.py # LLM 网关
|
||||
│ │ └── api/v1/ # API路由层(每域一个文件)
|
||||
│ │ ├── deps.py # 认证/租户/权限依赖
|
||||
│ │ ├── auth.py
|
||||
│ │ ├── tenants.py
|
||||
│ │ ├── users.py
|
||||
│ │ ├── projects.py
|
||||
│ │ ├── tasks.py
|
||||
│ │ ├── workers.py
|
||||
│ │ ├── reviews.py
|
||||
│ │ ├── artifacts.py
|
||||
│ │ └── dashboard.py
|
||||
│ ├── requirements.txt
|
||||
│ ├── Dockerfile
|
||||
│ └── run.py
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── api/ # API 客户端
|
||||
│ │ ├── components/ # 共享组件
|
||||
│ │ ├── pages/ # 页面视图
|
||||
│ │ ├── stores/ # 状态管理 (Zustand)
|
||||
│ │ └── types/ # TypeScript 类型
|
||||
│ ├── Dockerfile
|
||||
│ └── nginx.conf
|
||||
├── docker-compose.yml
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 方式一:本地开发
|
||||
|
||||
```bash
|
||||
# 后端
|
||||
cd backend
|
||||
pip install -r requirements.txt
|
||||
cp .env.example .env # 编辑配置
|
||||
python init_db.py # 初始化数据库 + 创建管理员
|
||||
python run.py # 启动后端 (http://localhost:8000)
|
||||
|
||||
# 前端
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev # 启动前端 (http://localhost:5173)
|
||||
```
|
||||
|
||||
默认管理员账号:`admin@test.com` / `admin123`
|
||||
|
||||
### 方式二:Docker 部署
|
||||
|
||||
```bash
|
||||
cp .env.example .env # 配置 LLM API Key
|
||||
docker-compose up -d
|
||||
# 前端: http://localhost:3000
|
||||
# 后端: http://localhost:8000
|
||||
# 数据库: PostgreSQL on localhost:5432
|
||||
```
|
||||
|
||||
## 🔄 核心流程
|
||||
|
||||
```
|
||||
项目经理创建项目 → 拆解任务 → 分配给 AI Worker
|
||||
→ AI 执行任务(LLM 调用)→ 生成产出物
|
||||
→ 自动质检 → 提交审核
|
||||
→ 审核人审批(通过/打回)→ 归档
|
||||
```
|
||||
|
||||
**设计原则:AI 负责干活,人负责定义目标和把关。**
|
||||
|
||||
## 🔐 多租户与权限
|
||||
|
||||
- **租户隔离**:所有业务数据表包含 `tenant_id` 字段,查询自动过滤
|
||||
- **5级角色**:
|
||||
- `super_admin`:平台级,管理所有租户
|
||||
- `tenant_admin`:租户级,管理用户和 Worker
|
||||
- `project_manager`:创建/管理项目,分配任务
|
||||
- `reviewer`:审核 AI 产出
|
||||
- `worker`:执行任务(人或 AI)
|
||||
|
||||
## 📊 API 端点
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| POST | /api/v1/auth/login | 登录 |
|
||||
| POST | /api/v1/auth/register | 注册 |
|
||||
| GET | /api/v1/auth/me | 当前用户 |
|
||||
| GET/POST | /api/v1/projects | 项目列表/创建 |
|
||||
| GET/PUT/DELETE | /api/v1/projects/{id} | 项目详情/更新/删除 |
|
||||
| GET | /api/v1/projects/{id}/stats | 项目统计 |
|
||||
| GET/POST | /api/v1/tasks | 任务列表/创建 |
|
||||
| POST | /api/v1/tasks/{id}/assign | 分配任务 |
|
||||
| POST | /api/v1/tasks/{id}/execute | 执行任务 |
|
||||
| GET/POST | /api/v1/workers | Worker列表/注册 |
|
||||
| POST | /api/v1/workers/{id}/test | 测试Worker连接 |
|
||||
| GET | /api/v1/reviews | 审核列表 |
|
||||
| POST | /api/v1/reviews/{id}/decision | 审核决策 |
|
||||
| GET | /api/v1/dashboard | 全局看板 |
|
||||
|
||||
## 📝 版本
|
||||
|
||||
- v1.0.0 - MVP(2026-08-12)
|
||||
Reference in New Issue
Block a user