6.6 KiB
6.6 KiB
开发路线图
当前阶段:V2.1 — 服务端持久化第一阶段
业务流程仍保持 V1 的前端 store 形状,但业务数据主存储已切到 NestJS + PostgreSQL app_data 文档表。浏览器只保留登录态,不再保存产品、项目、版本、需求、版本详情、成员、任务类型等业务数据。
已完成(按时间倒序)
2026-06-24
- 新增 NestJS
DataModule+ PrismaAppData,提供GET/PUT /api/v1/data/:key - 产品/项目/版本树、需求池、调研/产品方案/UI、开发任务、测试用例、Bug 改为服务端持久化
- 成员/角色/部门、任务类型、任务工时日志、加班记录改为服务端持久化
- 登录改为读取服务端成员数据;浏览器只保留登录会话
2026-06-16
- 项目模块顶部卡片(总版本数/已开发/需求数/Bug 总数)
- 项目模块版本记录与版本详情数据联动(耗时 + 状态胶囊)
- 4 份核心文档:architecture / decisions / workflow / roadmap
2026-06-15
- 与我相关:产品/项目/版本树筛选 + 红色待办徽标
- 与我相关:点击卡片打开 Drawer(PlanDetailDrawer 新建,DevTask/TestCase/Bug 复用)
- 全局 Drawer 阴影统一 shadow-2xl + 顶部上下文条
- 测试用例提 Bug 流程:drawer 内点击 → BugCreateModal
- DevTask + TestCase 转交功能(人员离职场景)
- 需求池:录入人员自动取当前用户 + 状态列改名(业务状态 / 实际进度)
- 产品页面:去掉规划中、项目名/版本胶囊可点击跳转
2026-06-14
- 需求变更模块:变更人员/原因/概述/详细 + 概览统计(变更人员排名 + 原因占比饼图)
- 计划任务转交(未开始/进行中可转交,从参与人员选)
- 关联需求增强:描述列 hover 完整内容、需求类型/变更原因/添加日期列
- 计划时间精确到分钟(datetime-local)+ 到期自动开始
- 阶段耗时 + 个人耗时排名(涵盖调研/产品/UI/开发/测试 5 类工作)
2026-06-13
- DevTask 状态简化:去掉 done,submitted 是终态
- 实际工时改为精确时间戳计算(精确到 0.5h)
- TestCase 主归属版本,requirement 改为可选标签
- Bug 直接挂版本(versionId 字段)
- linkage-engine(需求 ↔ DevTask 派生)
- workspace-engine(统一 WorkItem 聚合)
2026-06-12 及更早
- 完整模块:需求池/版本管理/计划任务(调研/产品/UI)/开发任务/测试用例/Bug
- 加班记录 + 排名 + 原因占比饼图
- 健康度计算 + 风险标签
- 版本执行态自动推导
进行中
- 项目详情页 VersionCard 状态胶囊数据联动(部分已完成)
V2 — 后端接入
NestJS + Prisma + PostgreSQL 已开始接入。第一阶段先用 app_data JSONB 文档表承接现有 store 数据形状,避免浏览器清站点数据导致业务数据丢失;第二阶段再逐步拆成关系表。
关键任务
- 服务端文档层:
app_data+/api/v1/data/:key(第一阶段已实现) - localStorage → API 切换:业务主数据不再写浏览器(第一阶段已实现)
- 运行 Prisma 同步/迁移:本地和服务器数据库都需要创建
app_data - 关系化拆表:把稳定模块从 JSONB 拆成 Product/Project/Version/Task 等领域表
- 认证:NextAuth.js + JWT
- 权限:RBAC(Owner/Admin/Member/Viewer),按项目/版本级别
- 版本规则引擎收敛:VersionPlan 完成条件、关联需求候选、TaskCategory 语义码、TestCase.categoryId 统一收束到规则层
数据迁移策略
当前不做本地导入导出。清站点数据后浏览器旧数据无法恢复,后续新增数据直接写入 PostgreSQL。若以后需要迁移旧浏览器数据,再单独做管理员导入工具。
V3 — AI Agent 集成
详细 Agent 规范见 agent-spec.md。本节只列规划,不重复 Agent 实现细节。
V3.1 — Prototype Decompose Agent(首个 Agent)
目标:从产品方案的原型 + 关联需求,拆解出开发任务草案 + 测试用例草案。
已完成的数据底座(2026-06):
- DevTask / TestCase 加 references[] + aiDraft + aiDraftAt
- 创建表单加「原型批注」字段
- 列表中 AI 草案视觉区分(紫色边 + 徽章)
- 编辑后自动清除 aiDraft 标记
- agent-spec.md / glossary.md 文档落地
- 约定:原型链接 = 产品方案 (VersionPlan type=product) 已完成计划的 resultUrl,不在 Version 上独立存储
待实现:
- 后端
AiGateway+PrototypeDecomposeService(NestJS module) - 前端「AI 拆解任务和用例」按钮(产品方案 Tab)
- 对账报告组件(弹窗呈现三段:完美对应 / 单边 / 含糊)
- 用户确认后批量创建 DevTask + TestCase 草案
- AiLog 表(调用记录、token 计量、用时)
MVP 范围限制:
- 不自动分配 assignee(留给用户在草案上手填)
- 不做"上一版基准 diff"(按 decisions.md #17 决议)
- 单 Agent 单 Round,不做多 Agent 编排
V3.2 — Risk Watch Agent + Schedule Suggest Agent
Risk Watch Agent:自动识别延期/阻塞集中/工时偏差大的任务,提前预警
Schedule Suggest Agent:基于成员负载和历史耗时,建议下一阶段任务分配
多 Agent 协作设计:到 V3.2 才真正涉及,当前 agent-spec.md 仅占位
V3.3 — 其他场景候选
- 需求智能分类(自动归档到产品 / 项目)
- 健康度智能解读(数据指标 → 自然语言报告)
- 需求转任务(需求采纳后一键生成 DevTask 草稿)
落地约束
- 不直接动数据:所有 Agent 写入必须带
aiDraft: true,用户编辑后才转正 - 必须有引用:所有 AI 产物带 references,用户能追溯到源头
- 必须有对账报告:拆解类 Agent 输出前端展示三段报告,让用户决策
- 可降级:原型不可达 / 输入数据不全 / 模型超时,明确告知用户失败原因,不写入任何数据
不在路线图(明确不做)
- Jira/TAPD 替代品:定位是产品/项目经理视角,不是开发任务管理
- 测试套件/测试计划:测试用例是版本验收手段,不做完整测试管理
- Gantt 甘特图:现有的胶囊状态条 + 阶段耗时已经够用
- 看板视图:DevTask 列表 + 筛选 + 状态流转已够用
- 回归测试:测试用例不做版本间复用
- 客户/合同管理:超出研发管理边界
关键里程碑
| 节点 | 状态 |
|---|---|
| V1 业务流程打磨 | 进行中 |
| V1 朋友试用反馈 | 持续中 |
| V2 后端接入 | 进行中(V2.1 AppData 已实现) |
| V3 AI 集成 | 等 V2 数据沉淀 |
| 公开发布 | TBD |