Files
ai-worker-platform/README.md
T
hz4th_coder 9a95b71631 V2 开发:多 Agent 协作(主管/评审/辩论) + 自动评估体系 + 模板市场 + 企业版(SSO/RBAC/审计/合规)
- agents.py: supervisor/review/debate 三模式编排引擎,步骤流水全记录
- eval.py: eval 数据集 + LLM-as-Judge 评分 + 任务产出自动沉淀 + Worker 排行榜
- templates.py: 任务/项目/团队三类模板,占位符渲染(JSON安全转义),一键应用
- enterprise.py: 用户体系/RBAC、OIDC+LDAP SSO、审计日志、数据导出/保留期/PII脱敏
- db.py: V2 表结构 + 迁移 + 启动恢复(stale running→failed)
- app.py: V2 API 路由 + 登录升级(账号体系)+ 审计钩子
- 前端: 新增多Agent协作/自动评估/模板市场/企业版 4 页面
- Dockerfile: 企业版私有化部署
2026-08-12 12:21:17 +08:00

132 lines
7.1 KiB
Markdown
Raw 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」为执行单元的项目管理平台。
> 把大模型团队变成一支可指挥、可审计、可控成本的"虚拟团队"。
**当前版本:V2.0**(多 Agent 协作 / 自动评估 / 模板市场 / 企业版)
---
## 功能总览
### 📁 项目管理(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 一键部署(见下) |
## 快速开始
```bash
./start.sh # 启动(默认 16071
./start.sh stop # 停止
./start.sh restart # 重启
```
- 管理界面:`http://<IP>: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 + SQLiteWAL),核心依赖仅 flask/requests/jiebaLDAP 可选 ldap3
- 前端:原生 HTML/JS/CSS SPA(无 CDN,离线可用)
- 评估:LLM-as-Judge(复用统一模型网关)
- 编排:自研轻量线程级引擎,状态全落库;升级路径 = Temporal 持久执行 + LangGraph
## 目录结构
```
ai-worker-platform/
├── app.py # Flask 应用 + REST APIV1 + V2 路由)
├── config.py # 供应商/定价/鉴权/告警阈值/邮件 SMTP
├── db.py # SQLite 数据层 + V2 迁移(users/audit/agent/eval/templates
├── engine.py # V1 执行引擎:DAG/自动触发/RAG 注入/告警
├── agents.py # V2 多 Agent 协作引擎:supervisor/review/debate
├── eval.py # V2 自动评估:数据集/LLM 评委/沉淀/排行榜
├── templates.py # V2 模板市场:三类模板 + 占位符渲染 + 应用
├── enterprise.py # V2 企业版:用户/RBAC/OIDC/LDAP/审计/合规
├── llm_gateway.py # 统一模型网关
├── rag.py # 知识库:分块 + BM25 检索
├── notify.py # 飞书/企微/邮件通知
├── dag_verify.py # DAG 全链路验证脚本
├── seed.py # 演示数据
├── start.sh # 启停脚本
├── static/ # 前端 SPA(含 V2 四页)
└── data/ # SQLite 库;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/<id>` 详情(含步骤流水与最终产出)
自动评估:
- `GET/POST /api/eval/datasets` 数据集 `GET/PUT/DELETE /api/eval/datasets/<id>`
- `POST /api/eval/datasets/<id>/cases` 加用例 `POST /api/eval/datasets/<id>/sink` 沉淀任务产出
- `POST /api/eval/runs` 发起评估 `{dataset_id, worker_id}` `GET /api/eval/runs/<id>` 逐条结果
- `GET /api/eval/leaderboard` Worker 排行榜
模板市场:
- `GET/POST /api/templates` `GET/PUT/DELETE /api/templates/<id>`
- `POST /api/templates/<id>/apply` 应用模板 `{variables, project_id, worker_id, provider, model}`
企业版:
- `GET/POST /api/enterprise/users`(管理员)| `PUT/DELETE /api/enterprise/users/<id>`
- `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` 保留期/脱敏设置
## 路线图
- **V2.1**Temporal 持久执行、多 Agent 协作接入项目任务、eval 回归对比视图
- **V3**:多租户 SaaS 化、工作流画布(拖拽编排)、插件市场