Files

161 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 - MVP2026-08-12