# AI Worker 项目管理平台 > 以「项目」为中心、以「AI Worker」为执行单元的项目管理平台。 > 把大模型团队变成一支可指挥、可审计、可控成本的"虚拟团队"。 **当前版本:V3.2**(送达者=用户 / 用户邮箱必填 / 自定义角色 / Worker 权限组 / 交付体系) --- ## 功能总览 ### 📁 项目管理(V1 基础) | 模块 | 能力 | |---|---| | 项目 / Worker / 看板 | CRUD、目标/验收标准/预算上限、虚拟员工档案(供应商+模型+角色提示词+成本上限)、6 列看板、自动路由 | | 执行引擎 | 统一模型网关(doubao/deepseek/openai/qwen/vLLM)、失败重试、超时、成本预检、HITL 审核(通过/打回必填原因) | | 成本记账 | Token/成本按 项目×Worker×模型 核算、预算硬约束、一次通过率 | | DAG 编排 | 任务依赖、依赖校验拦截、完成后自动触发下游、SVG 流程可视化 | | RAG 知识库 | 项目级文档、BM25 检索(jieba)、任务执行时自动注入相关知识 | | 通知集成 | 飞书/企微 Webhook + 邮件 SMTP,订阅事件:待审核/完成/失败/预算告警/Worker 异常 | ### 🤝 多 Agent 协作(V2 新增) | 模式 | 流程 | |---|---| | 👔 主管模式 | 主管 Agent 拆解任务 → 委派多个 Worker 并行执行 → 主管汇总合成最终交付物 | | 🔍 评审模式 | Worker 产出 → Reviewer 打分评审(rubric 标准)→ 未达分数线自动返工(最多 N 轮)→ 终稿 | | ⚖️ 辩论模式 | 多辩手各自立论(可指定立场)→ 互相质询反驳(多轮)→ 首席裁判综合裁决输出共识结论 | - 每个运行完整记录步骤流水(角色/阶段/内容/成本),可回放过程 - 参与 Agent 自由选择(评审模式第 1 个为执行者、辩论模式最后一个为裁判) ### 🎯 自动评估体系(V2 新增) - **eval 数据集**:用例(输入 + 期望输出)+ 评分标准 rubric + 标签,内置 2 个基准集(指令遵循/代码生成) - **LLM-as-Judge**:Worker 逐条作答 → 评委按 rubric 打分(0-100)+ 评语,全程记录延迟/成本 - **自动沉淀**:把已验收通过(done 且无打回)的任务产出一键转为评测用例,数据集越用越厚 - **Worker 排行榜**:按平均分排序,评估模型/提示词/Agent 的回归对比 ### 🧩 模板市场(V2 新增) - 三类模板:**任务模板**(代码审查/技术方案/周报…)、**项目模板**(MVP 启动/数据分析,含任务 DAG)、**团队模板**(标准三 Agent 团队/辩论三人组) - 占位符变量(`{name}`/`{target}`/`{code}`…)一键应用,使用次数统计 - 支持用户自建模板(JSON),内置模板可一键恢复 ### 🏢 企业版(V2 新增) | 能力 | 说明 | |---|---| | 🔐 用户与 RBAC | 本地账号 + 角色(管理员/成员/审计员),默认 admin/admin123;停用/重置密码 | | 🔑 SSO 单点登录 | **OIDC**(飞书/钉钉/企微/Okta,授权码模式 + discovery + 自动开通 + 管理员组)与 **LDAP/AD**(绑定认证,可选 ldap3) | | 📜 审计日志 | 登录/登出、任务派发/审核、协作运行、评估、数据导出等关键操作自动留痕(操作者/动作/目标/IP) | | ⚖️ 合规 | 全量数据导出(JSON)、审计 CSV 导出、数据保留期清理、PII 脱敏(邮箱/手机/身份证)、数据使用同意凭证 | | 🔒 私有化 | 单机 SQLite + 无 CDN 前端,完全离线可用;Docker 一键部署(见下) | ### 📦 交付体系(V3 新增) | 能力 | 说明 | |---|---| | 📬 送达者=用户 | 新建项目必选**送达者用户**(平台用户,含 admin);通知实时发到该用户**最新邮箱**,用户改邮箱自动跟随,项目进行中可随时更换送达者 | | 🗂️ 项目工作目录 | 每个项目独立工作目录 `data/workspace/project_/`,中间产物/交付物分类存放,互不污染;支持网页上传/下载/删除 | | 🌐 网页交付物 | 一键部署到 `data/demo//`,经 `/demo//` **免登录公开访问**,送达者直接打开链接查看 | | 🗜️ 打包交付 | 工作目录一键 zip 打包(`data/packages/`),随邮件附件发送给送达者 | | ✉️ 手动通知 | 难关说明/进展可随时手动邮件通知送达者;交付全流程留痕(交付记录) | ### 👥 用户体系(V3.2) | 能力 | 说明 | |---|---| | 📧 邮箱必填 | 所有用户(含 admin)必须有邮箱,新建/编辑用户强制校验;创建项目选送达者时列出用户供选择 | | 🔄 邮箱变更跟随 | 用户改邮箱 → 其送达的所有项目通知自动发到新邮箱(实时读取,无需改项目) | | 🔀 送达者可变 | 项目进行中可在编辑项目中更换送达者用户,旧数据按邮箱自动回填迁移 | ### 🔑 精准权限(V3 新增) | 能力 | 说明 | |---|---| | 👥 用户管理 | 管理员增删改用户,管理用户的项目所属与 Worker 权限(企业版 → 用户与权限 → 🔑 授权) | | 📁 项目授权 | view 查看 / manage 管理(建任务/执行/上传交付物/发送)/ admin 管理员;创建者自动成为项目管理员 | | 🤖 Worker 授权 | view 查看档案 / use 使用(可指派任务)/ manage 管理;Worker 的注册/删除仍仅管理员 | | 🎭 角色体系 | 管理员=全部;审计员=全量**只读**;成员=仅可见被授权内容,仪表盘/报表/日志/协作/评估全部按权限过滤 | | 🗺️ 授权总览 | 一键查看所有用户的 项目×Worker 授权矩阵,杜绝越权 | ### 🎭 自定义角色 + 🤖 Worker 权限组(V3.1 新增) | 能力 | 说明 | |---|---| | 🎭 角色管理 | 18 个权限功能点按模块分组勾选(仪表盘/项目/Worker/协作/评估/模板/报表/日志/告警/API/设置/企业版);**内置角色可编辑权限点**、自定义角色任意创建/删除/多用户绑定,权限自动合并即时生效 | | 🤖 Worker 权限组 | 把一批 Worker + 权限(查看/使用/管理)打包成组,整组授权给一个或多个用户;与直接授权并行生效取高值;组内 Worker 自动对绑定用户可见,批量管理不再逐条授权 | | 📱 权限驱动菜单 | 前端侧边栏按用户有效权限点自动显隐;未授权模块 API 返回 403(如无 agent.run 无法发起协作运行) | ## 快速开始 ```bash ./start.sh # 启动(默认 16071) ./start.sh stop # 停止 ./start.sh restart # 重启 ``` - 管理界面:`http://:16071/`,默认账号 `admin` / `admin123` - 首次启动自动注入:内置 eval 数据集、内置模板、admin 用户 - V1 全链路验证:`python3 dag_verify.py <终点任务ID>`;V2 冒烟:启动后直接跑一次「多 Agent 协作」 ### Docker 私有化部署(企业版) ```bash docker build -t ai-worker-platform:v2 . docker run -d --name aiworker -p 16071:16071 \ -v $(pwd)/data:/app/data \ -e AUTH_PASSWORD=your-password \ ai-worker-platform:v2 ``` 数据卷 `data/` 挂出即完成持久化与备份;无外网依赖(模型供应商需可达)。 ## 技术栈 - 后端:Python + Flask + SQLite(WAL),核心依赖仅 flask/requests/jieba(LDAP 可选 ldap3) - 前端:原生 HTML/JS/CSS SPA(无 CDN,离线可用) - 评估:LLM-as-Judge(复用统一模型网关) - 编排:自研轻量线程级引擎,状态全落库;升级路径 = Temporal 持久执行 + LangGraph ## 目录结构 ``` ai-worker-platform/ ├── app.py # Flask 应用 + REST API(V1 + V2 + V3 路由) ├── config.py # 供应商/定价/鉴权/告警阈值/邮件 SMTP ├── db.py # SQLite 数据层 + V2/V3 迁移(users/audit/agent/eval/templates/deliverables/grants) ├── engine.py # V1 执行引擎:DAG/自动触发/RAG 注入/告警/难关通知 ├── agents.py # V2 多 Agent 协作引擎:supervisor/review/debate ├── eval.py # V2 自动评估:数据集/LLM 评委/沉淀/排行榜 ├── templates.py # V2 模板市场:三类模板 + 占位符渲染 + 应用 ├── enterprise.py # V2/V3 企业版:用户/RBAC/SSO/审计/合规 + 项目/Worker 精准授权 + 自定义角色 + Worker 权限组 ├── delivery.py # V3 交付体系:工作目录/Demo 部署/打包/邮件送达/难关通知 ├── llm_gateway.py # 统一模型网关 ├── rag.py # 知识库:分块 + BM25 检索 ├── notify.py # 飞书/企微/邮件通知 ├── dag_verify.py # DAG 全链路验证脚本 ├── seed.py # 演示数据 ├── start.sh # 启停脚本 ├── static/ # 前端 SPA(含 V3 交付页/授权管理) └── data/ # SQLite 库;workspace/ 项目工作目录;demo/ 网页Demo;packages/ 打包件;logs/ 运行日志 ``` ## V2 开放 API 摘要 多 Agent 协作: - `GET /api/agents/modes` 模式说明 | `POST /api/agents/runs` 发起运行 `{mode, topic, params:{workers:[],rounds,pass_score,stances}}` - `GET /api/agents/runs` 列表 | `GET /api/agents/runs/` 详情(含步骤流水与最终产出) 自动评估: - `GET/POST /api/eval/datasets` 数据集 | `GET/PUT/DELETE /api/eval/datasets/` - `POST /api/eval/datasets//cases` 加用例 | `POST /api/eval/datasets//sink` 沉淀任务产出 - `POST /api/eval/runs` 发起评估 `{dataset_id, worker_id}` | `GET /api/eval/runs/` 逐条结果 - `GET /api/eval/leaderboard` Worker 排行榜 模板市场: - `GET/POST /api/templates` | `GET/PUT/DELETE /api/templates/` - `POST /api/templates//apply` 应用模板 `{variables, project_id, worker_id, provider, model}` 企业版: - `GET/POST /api/enterprise/users`(管理员)| `PUT/DELETE /api/enterprise/users/` - `GET/PUT /api/enterprise/users//grants` 精准授权(项目/Worker/角色/权限组)| `GET /api/enterprise/grants/overview` 授权总览 - `GET /api/enterprise/perm_points` 权限点目录 | `GET/POST /api/enterprise/roles` 角色 | `GET/PUT/DELETE /api/enterprise/roles/` - `GET/POST /api/enterprise/worker_groups` Worker 权限组 | `GET/PUT/DELETE /api/enterprise/worker_groups/` - `GET/PUT /api/enterprise/sso` SSO 配置 | `POST /api/enterprise/sso/oidc/login` 发起 OIDC | `GET /api/enterprise/sso/oidc/callback` 回调 - `POST /api/enterprise/sso/ldap/test` LDAP 连通测试 - `GET /api/enterprise/audit` 审计日志 | `GET /api/enterprise/audit/export` CSV 导出 - `GET /api/enterprise/export` 全量数据导出(JSON)| `POST /api/enterprise/compliance` 保留期/脱敏设置 交付体系(V3): - `GET /api/projects//workspace` 工作目录文件列表 | `POST .../workspace/upload` 上传(multipart)| `GET .../workspace/download?path=` 下载 | `DELETE .../workspace?path=` 删除 - `POST /api/projects//deploy` 网页交付物部署 Demo | `POST .../package` zip 打包 | `POST .../deliver` 邮件交付(Demo 链接 + 附件) - `POST /api/projects//complete` 完成项目并交付 | `POST .../notify_deliverer` 手动通知送达者 | `GET /api/projects//deliverables` 交付记录 - `GET /demo//` 公开 Demo 地址(送达者免登录访问) 用户与送达者(V3.2): - `GET /api/users` 轻量用户列表(登录即可,选送达者用)| `GET/POST /api/enterprise/users` 完整用户管理(邮箱必填) - `PUT /api/enterprise/users/` 改邮箱后项目送达自动跟随;项目 `deliver_user_id` 绑定送达者用户 ## 路线图 - **V2.1**:Temporal 持久执行、多 Agent 协作接入项目任务、eval 回归对比视图 - **V3**:多租户 SaaS 化、工作流画布(拖拽编排)、插件市场 ✅ 交付体系 + 精准权限(V3.0)