hz4th_coder 339dd89ba6 修复: 分页每页条数下拉框被全局 select 样式撑满整行
- 根因: 全局 input/select/textarea{width:100%} 导致 .psize-sel 独占一行
- 修复: .psize-sel 覆盖 width:auto, 与页码按钮/跳页框同一行居中排列
2026-08-16 19:55:37 +08:00

AI Worker 项目管理平台

以「项目」为中心、以「AI Worker」为执行单元的项目管理平台。 把大模型团队变成一支可指挥、可审计、可控成本的"虚拟团队"。

当前版本:V3.4(负责人验收制 / 邮件通道修复 / 事件记录面板 / 真实网页交付)


🏁 V3.4 负责人验收制 + 交付增强(新增)

能力 说明
🔔 项目级验收 AI 团队全部完工后不自动宣布完成,项目进入「待验收」状态,邮件通知负责人(送达者);负责人验收通过项目才算正式完成
🔗 公开验收链接 验收邮件含免登录链接 /review/<token>,负责人一键「验收通过 / 打回返工」(打回必填原因)
🔁 打回自动返工 打回后自动生成「返工任务」(含负责人意见),AI 主管立即按意见重做,再次提交验收;平台内也可直接验收/打回
🌐 真实网页交付 任务的 HTML 产出自动落盘工作目录(自动剥离代码围栏/前置叙述),Demo 展示真实页面而非占位说明;返工产出自动覆盖入口页
📋 事件记录面板 项目页「事件记录」可展开/收起(记忆状态):合并 AI 主管动态 + 任务日志 + 交付记录,任务事件可点击定位到对应任务
📮 邮件通道修复 修复邮件头缺 Date 导致 amavisd 退信(invalid header section)的问题,打包附件邮件/各类通知恢复正常送达
🔁 规划重试 任务拆解解析失败自动重试 3 次(每次重新调用 LLM),仍失败则邮件通知负责人并中断

🚀 V3.3 AI 主管自动开工(新增)

创建项目 → 自动跑起来,全程不需要人点一下。

能力 说明
👔 必选 AI 主管 新建项目必须指定一个 AI Worker 做管理者(默认「AI主管」),负责拆解任务(WBS)、派活、监控、失败诊断;可随时在编辑项目中换别的主管
👷 多选干活团队 新建项目勾选多个干活 Worker 供 AI 主管支配(默认勾选 AI牛/AI马),任务按轮询分派;可随时换团队
创建即开工 项目创建后立即自动开工:AI 主管读目标/验收标准 → 拆解 4~8 个任务(含依赖)→ 分派团队执行 → 全程监控
🔁 失败诊断重试 任务失败后 AI 主管自动诊断原因并修订执行指令,重试最多 2 次;仍失败则收工并汇总失败项
📡 全程可视 项目页顶部「AI 主管动态」面板实时显示:开工状态/最新动态/主管与团队/动态流水(每 3 秒自动刷新,看板同步跳动)
🚀 手动开工 项目页「🚀 AI 主管开工」按钮:已有任务则跳过规划直接执行存量;换过主管/团队后点它即按新配置生效
自动收尾 全部任务完成后自动汇总(完成数/失败数/总成本),触发交付体系通知送达者;任务默认自动验收(可在创建时勾选「需人工审核」改为 HITL)

功能总览

📁 项目管理(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_<id>/,中间产物/交付物分类存放,互不污染;支持网页上传/下载/删除
🌐 网页交付物 一键部署到 data/demo/<id>/,经 /demo/<id>/ 免登录公开访问,送达者直接打开链接查看
🗜️ 打包交付 工作目录一键 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 无法发起协作运行)

快速开始

./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 私有化部署(企业版)

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 + 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/ 网页Demopackages/ 打包件;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/users/<id>/grants 精准授权(项目/Worker/角色/权限组)| GET /api/enterprise/grants/overview 授权总览
  • GET /api/enterprise/perm_points 权限点目录 GET/POST /api/enterprise/roles 角色 GET/PUT/DELETE /api/enterprise/roles/<id>
  • GET/POST /api/enterprise/worker_groups Worker 权限组 GET/PUT/DELETE /api/enterprise/worker_groups/<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 保留期/脱敏设置

交付体系(V3):

  • GET /api/projects/<pid>/workspace 工作目录文件列表 POST .../workspace/upload 上传(multipart)| GET .../workspace/download?path= 下载 DELETE .../workspace?path= 删除
  • POST /api/projects/<pid>/deploy 网页交付物部署 Demo POST .../package zip 打包 POST .../deliver 邮件交付(Demo 链接 + 附件)
  • POST /api/projects/<pid>/complete 完成项目并交付 POST .../notify_deliverer 手动通知送达者 GET /api/projects/<pid>/deliverables 交付记录
  • GET /demo/<pid>/ 公开 Demo 地址(送达者免登录访问)

用户与送达者(V3.2):

  • GET /api/users 轻量用户列表(登录即可,选送达者用)| GET/POST /api/enterprise/users 完整用户管理(邮箱必填)
  • PUT /api/enterprise/users/<id> 改邮箱后项目送达自动跟随;项目 deliver_user_id 绑定送达者用户

路线图

  • V2.1Temporal 持久执行、多 Agent 协作接入项目任务、eval 回归对比视图
  • V3:多租户 SaaS 化、工作流画布(拖拽编排)、插件市场 交付体系 + 精准权限(V3.0
S
Description
No description provided
Readme
2.1 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 60%
JavaScript 34.9%
CSS 4.3%
HTML 0.5%
Shell 0.2%