diff --git a/README.md b/README.md new file mode 100644 index 0000000..ba6aab7 --- /dev/null +++ b/README.md @@ -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)