灵犀 · 信息流素材生产平台 项目开发计划
文档定位:把 PRD V1.6 与《技术架构》V0.4 翻译成可执行、可并行、可验收的开发计划。
不替代上游:需求口径以 PRD 为准,技术选型与硬约束以技术架构和 AGENTS.md 为准;本文件只回答"先做什么、做到什么程度、前后端怎么并行、怎么验收"。
0 文档信息与使用说明
| 项 |
内容 |
| 文档名称 |
灵犀 · 信息流素材生产平台 项目开发计划 |
| 版本 |
V0.1(初稿,待评审) |
| 日期 |
2026-11-02 |
| 状态 |
执行中:A0 工程骨架与契约基线已完成(2026-11-02);A1 身份认证与用户管理已完成(2026-11-03);A2 角色权限与数据范围已完成(2026-11-03);A3 客户与行业目录已完成(2026-11-04 最终验收);A4 数据字典与系统配置已完成(2026-11-04);下一步 A5 |
| 需求基线 |
PRD V1.6(灵犀-信息流广告素材一站式生产平台PRD.md) |
| 技术基线 |
技术架构 V0.4(灵犀_信息流素材生产平台_技术架构_V0.1.md)+ AGENTS.md V1.0 + docs/工程规范/ V1.0 |
| 覆盖范围 |
M0 任务级;M1–M4 迭代级 + 任务组级;M5 预研边界(不排期) |
| 读者 |
产品 / 技术负责人、Harness 编队、测试、运维 |
| 维护 |
每批结束回写实际工期与偏差;范围变更同步 §5 与 §13 |
0.1 版本记录
| 版本 |
日期 |
修订内容 |
| V0.1 |
2026-11-02 |
初稿:全项目 M0–M4 开发计划(M0 十二批次任务级 WBS;M1–M4 迭代 + 任务组 WBS;M5 预研边界)、七个管理模块专项、前后端并行与联调机制、质量门禁、风险与验收、待确认事项 |
| V0.1(进度回写) |
2026-11-02 |
A0 工程骨架与契约基线完成:批次总览增加状态列、A0 WBS 标注完成、回写执行证据与偏差;不改变原计划范围与验收口径 |
| V0.1(进度回写 A1) |
2026-11-03 |
A1 身份认证与用户管理完成:批次总览更新 A1 状态、A1 WBS 标注完成、回写执行证据与遗留;不改变原计划范围与验收口径 |
| V0.1(路由规范回写) |
2026-11-03 |
「平台」更名「管理中心」,前端路由统一为 /<模块>/<功能>(A1 用户页改为 /system/users);同步附录 C 页面清单与前端目录约定,不改变功能范围与验收口径 |
| V0.1(A1 部门管理补强) |
2026-11-03 |
补 /system/departments 部门管理:WBS 增 A1-BE-05 / A1-FE-04,补页面与接口清单;只停用不删除、有成员/启用子部门禁止停用;不改变其它批次范围 |
| V0.1(进度回写 A4) |
2026-11-04 |
A4 数据字典与系统配置完成:批次总览更新 A4 状态、A4 WBS 标注完成、回写门禁与 e2e;权限按 A2 定稿统一 dict:manage,新增 system_config_versions;不改变原计划范围与验收口径 |
0.2 引用约定
| 记号 |
来源 |
含义 |
R-01 ~ R-30 |
PRD §6 |
跨模块业务规则,实现注释必须带编号 |
P-01 ~ P-18 |
PRD §5.4.10 |
平台管理功能编号 |
S-xx / M-xx / A-xx / E-xx |
PRD §5.1 / §5.2 / §5.3 / §5.5 |
脚本 / 素材 / 资产 / 导出的功能编号 |
Q-01 ~ Q-32 |
PRD §10 |
需求侧待确认问题 |
T0 ~ T3 |
技术架构 §10.2 |
技术交付里程碑(本文按 PRD 的 M0–M4 表述,括号标注对应 T 阶段) |
D-01 ~ D-11 |
技术架构 §8 |
架构决策 |
R-T-xx / QT-xx |
技术架构 §11 |
技术风险 / 技术侧待确认 |
AS-xx |
本文件 §0.3 |
计划假设(已按此排期,推翻需重排) |
DP-xx |
本文件 §13 |
计划侧待确认(需要人类决策) |
A0 ~ B3 |
本文件 §5.2 |
M0 开发批次编号 |
G0 ~ G5 |
本文件 §10.1 |
每批质量门禁;H0 ~ H5 为 §3.4 的人工决策门 |
0.3 计划假设(AS)
| 编号 |
假设 |
依据 / 影响 |
| AS-01 |
开发全程由 DeepSeek Harness 编队执行:1 名 Lead + 最多 3 名并行 Worker + 独立 Verifier;人类负责范围、口径、验收与发布决策 |
用户明确要求;排期以"批次 + 相对周次"表达,不承诺绝对日期 |
| AS-02 |
工量单位用等效人日(EPD),沿用技术架构 §10.2 的"净开发"口径;编队净产能按 3.0 EPD/工作日、缓冲 25% 估算 |
§10.2 的人日口径可直接对齐;产能系数每批校准 |
| AS-03 |
M0 登录先做账号密码 + JWT,SSO 只留适配器接口 |
对应 QT-04;SSO 协议未定(Q-10) |
| AS-04 |
M0 的 AI 只做配置底座 + 调用账本 + Mock Provider,不接真实计费模型 |
供应商、预算未定(QT-05 / Q-09) |
| AS-05 |
M0 只要求本地 Docker Compose + 1 台 staging 可用;云厂商与域名在 M1 前确认 |
QT-01 / QT-03,备案需提前 2–3 周 |
| AS-06 |
"任务管理"= 跨模块异步任务中心:统一任务协议、进度(SSE + 轮询)、失败重试、取消、队列健康;不改变各模块任务语义 |
技术架构 §6.4;media_tasks 同时承载脚本任务 |
| AS-07 |
"日志管理"= 审计日志中心(业务留痕) + 运行日志观测入口;运行日志(Pino/OTel)不入业务库 |
PRD §5.4.6;架构 §2.7 / 工程规范 08 |
| AS-08 |
M0 范围按 PRD §7 的 M0 清单(含行业包、表单设计器、合规规则集、资产最小集、要素卡/脚本模板、导出骨架),不含脚本生成与图片生产 |
PRD §7;这两项属 M1 |
| AS-09 |
UI 以 Semi Design 组件与交互为基线,M0 不单独出视觉稿;页面走查用 staging 演示数据完成 |
减少设计依赖;如要求品牌化视觉需另排 |
| AS-10 |
每批默认前端 Mock 先行 + 后端契约先行,联调固定在批次第 3–4 日;不等待整批后端完成才启动前端 |
前后端同时开发的核心机制 |
| AS-11 |
本计划覆盖全项目 M0–M4:M0 任务级,M1–M4 迭代级 + 任务组级;M5 为预研,不排期,只在 §5.9 给进入条件 |
PRD §7 分期;用户 2026-11-02 确认「补全所有开发计划,从 M0 到完整结束」 |
推翻任一假设的代价:AS-03 / AS-04 / AS-05 只影响对应批次的实现细节;AS-01 / AS-02 影响全部排期;AS-06 / AS-07 影响 §7 两个模块的范围定义;AS-08 影响 M0 的边界与工期(见 §2.5)。
0.4 与既有文档的关系
| 文档 |
关系 |
本文件如何引用 |
| PRD V1.6 |
需求唯一来源 |
功能编号、优先级、业务规则、验收标准(AC-01~AC-04)直接引用,不复制口径 |
| 技术架构 V0.4 |
技术与数据唯一来源 |
模块边界、表清单、接口清单、任务协议、部署与观测直接作为任务卡约束 |
AGENTS.md |
硬约束与索引 |
§3 硬红线、§5 仓库结构、§6 命令契约是每批门禁的判定依据 |
docs/工程规范/ |
落地细则 |
Git、API、数据库、测试、日志、密钥、资产命名的检查项进入 §10 门禁 |
| 立项建议 V0.1 |
背景与商业论证 |
只引用分期周期与人力建议做交叉校验,不约束实现 |
1 计划摘要(一页看懂)
1.1 一句话
先用 6–7 周把"人、角色、客户、字典、日志、任务、AI 配置、行业包"这套地基立住(M0),再用 4–5 周跑通"要素卡 → 脚本 → 图片 → 导出"(M1);接着 5–6 周上视频线、快筛与 AI 治理(M2),4–5 周做资产复用、送审与效果回流(M3),最后 1–2 周把投放数据、爆量判定与脚本反哺收口(M4,项目交付闭环)。M5(AI 素材生产预研)不在本期排期。全程前后端同批并行、契约先行、每批可演示。
1.2 关键结论
| 阶段 |
范围 |
净工量(EPD) |
参考日历 |
退出标准(摘要) |
| M0 地基(T0 + M0 增量) |
工程骨架、身份权限、客户行业、字典配置、审计日志、任务中心、AI 配置、行业包与表单设计器、资产最小集、要素卡/脚本模板、导出骨架 |
65–70 |
6–7 周(30–35 个工作日) |
新客户 10 分钟内完成建档与权限分配;电商行业包 v1 可配置、可发布;空任务可提交并看到进度;审计可查 |
| M1 主链路 |
脚本生成 / 解析 / 校核 / 审核入库 / 编号、图片线(PSD 套版 + 抠图 + 多规格)、预览勾选、导出与归档、金融行业包 v1 试跑 |
48–56 |
4–5 周(20–25 个工作日) |
AC-01:1 个真实客户走通"要素卡 → 脚本 → 图片 → 导出";交付周期与单条成本首次可测 |
| M2 提效 |
视频逐镜生成 / 拼接 / 校验、快筛、变体矩阵、脚本版本与交付包、AI 路由与额度、成本看板、成片入库与复用、第三行业包 |
62–70 |
5–6 周(25–30 个工作日) |
单条视频从脚本到成片跑通;成本可查;任务成功率 ≥ 98% |
| M3 复用 |
资产复用度量、效果标签、混合实拍与口播、成片入库与素材库、送审与效果回流、SSO / 系统配置完善 |
45(40–50) |
4–5 周 |
资产复用率 ≥ 60%;新客户冷启动 ≤ 1 个工作日;素材关联率与日指标可测 |
| M4 交付闭环 |
投放登记完善、日指标、爆量判定与阈值固化、脚本权重反哺、关联率与爆量榜看板 |
12(10–14) |
1–2 周 |
爆量判定口径可配置;榜单可用;反哺进入脚本参考权重 |
- 关键路径:
A0 → A1 → A3 → B0 → B2 → B3 → M1-3(图片线)→ M2-1(视频线)→ M3-2(效果回流)→ M4-1(爆量判定)。占用关键路径的批次不得并行插入范围。
- 全项目工量:M0 68.5 + M1 55 + M2 67 + M3 45 + M4 12 = 247.5 EPD;参考日历 20–25 周(约 5–6 个月,含 25% 缓冲)。
- 最大风险:表单设计器复杂度(
R-T-04)、行业包字段与合规规则未定(Q-15 / Q-16)、图片渲染无先例(R-T-13)、AI 供应商与预算未定(QT-05 / Q-09)、人类验收瓶颈。
- 排期底线:M0 不砍权限、审计、客户隔离、导出留痕;其余均可按 §2.4 顺序后移。
1.3 管理模块优先的落地映射
用户点名的七个管理模块全部落在 A1–A7,且排在行业包与主链路之前:
| 要求的模块 |
批次 |
PRD 编号 |
主要交付物 |
| 用户管理 |
A1 |
P-01 |
部门两级、用户生命周期(停用不删)、登录 / 刷新 / 登出、/me、路由与按钮权限 |
| 角色管理 |
A2 |
P-02 / P-03 |
角色 CRUD / 复制 / 停用、权限点勾选树、六类数据范围、特殊权限、SoD 校验 |
| 客户管理 |
A3 |
P-04 / P-05(P-17 提前到 M0) |
行业目录、客户档案(简称必填)、客户组、客户级字段申请与审批、客户状态机 |
| 数据字典 |
A4 |
P-06 / P-13(部分) |
通用枚举表、行业作用域三层合并、编码不可改、系统配置与命名规则 |
| 日志管理 |
A5 |
P-07 |
审计日志 append-only、检索 / 导出、敏感访问留痕、运行日志观测入口 |
| 任务管理 |
A6 |
架构 §6.4 / M-05 |
统一任务协议、BullMQ 队列骨架、SSE + 轮询、取消 / 重试 / 幂等、任务中心 |
| AI 配置 |
A7 |
P-08 |
供应商 / 模型 / 任务映射 / 提示词四层配置、密钥加密、连通性测试、Mock 调用与账本 |
| (地基组成)行业包与表单 |
B0 |
P-14 ~ P-16 / P-18 |
行业包版本、表单设计器、发布审批、合规规则集、schema 快照 |
这七个模块是横切能力:业务表都挂 customer_id、查询都带 ScopeContext、变更都要进审计、阈值都来自 system_configs、耗时操作都走任务协议。后补成本极高(立项建议 §「M0 三件必做」),因此必须先做。
1.4 交付节奏
周次为相对周(W1 = A0 启动周),不是日历承诺;换算方式见 §4.5。
2 目标、范围与优先级
2.1 分阶段目标与退出标准
| 阶段 |
目标(一句话) |
退出标准 |
判定方式 |
| M0 地基 |
能装人、能装客户、能装资产、能装行业 |
① 能登录;② 超管可创建角色并分配数据范围;③ 可建行业 / 客户 / 客户组;④ 可配置并发布电商行业包 v1;⑤ 可配 AI 供应商(Mock 连通);⑥ 可提交空任务并看到进度;⑦ 关键操作审计可查 |
演示脚本(§12.1)+ 权限三态用例 + 审计抽样 |
| M1 主链路 |
一个真实客户完整走通"要素卡 → 脚本 → 图片 → 导出" |
AC-01 达成;交付周期、一次过审率、单条成本可测 |
业务方现场验收 + 埋点 |
| M2 提效 |
视频线可用、配置可运营、成本可治理 |
单条视频从脚本到成片跑通;成本可查;任务成功率 ≥ 98%;峰值 500 条/日无积压(T3 口径) |
压测 + 成本看板 + 灰度观察 |
| M3 复用 |
资产复用与经验沉淀 |
资产复用率 ≥ 60%;新客户冷启动 ≤ 1 个工作日;效果回流可用 |
看板 + 抽样 |
| M4 交付闭环 |
投放数据可回流、爆量可判定、经验可反哺 |
爆量判定与阈值可配置;关联率 / 复用排行 / 爆量榜可用;脚本参考权重可回写 |
看板 + 判定抽样 + 全量回归 |
2.2 本计划范围
M0 任务级拆解(§6):A0 工程骨架、A1 身份与用户、A2 角色权限、A3 客户行业、A4 字典与配置、A5 审计日志、A6 任务中心、A7 AI 配置、B0 行业包与表单、B1 资产最小集、B2 要素卡与脚本模板、B3 导出骨架。
M1–M4 迭代级 + 任务组级(§5.5–§5.8、§6.13–§6.16):以 PRD §7 的 M1–M4 清单为基线;提前 / 后移项见 §2.5。
M3 / M4 迭代级(§5.7 / §5.8):PRD §7 的 M3、M4 清单;M3 含 A-10/A-11/S-12/S-18/M-10/M-13/E-05/E-06/P-12/P-13/M-21~M-24,M4 含 M-25/M-26 + 阈值固化。
M5 边界(§5.9):M-27 与 AI 素材生产路线属预研,不排期,只给进入条件。
2.3 明确不做(越界即评审驳回)
- 通用视频剪辑器、投放执行、效果归因、客户自助登录、计费结算;
- 图片线 AI 生图 / 图生图(
R-29,M5 前不做);
- 通用低代码 / 审批引擎(表单设计器只解决要素卡字段,见 PRD §5.4.8);
- 模型训练与微调、外部 AI 供应商直连(必须走
platform.ai);
- 跨客户资产复用授权流程(M3 再评估);
- SSO 真实对接(M0 只留适配器,
Q-10 未定);
- 生产级多地域 / 私有化部署(
QT-13)。
2.4 排序原则与砍范围顺序
排序原则(冲突时按序裁决):
- 地基先行:权限、客户隔离、审计、字典、任务协议先于业务功能;
- 管理模块优先:A1–A7 先于行业包与主链路(用户明确要求);
- 契约先行:接口 / 表 / 状态机冻结后才并行写前后端,禁止"先写页面再补接口";
- 每批可演示:任何批次结束必须能演示,不允许"三个批次后一起联调";
- 先确定性后生成式:图片线先于视频线(
D-11、立项建议 §9.2)。
砍范围顺序(工期不足时从下往上砍,砍完必须回写 §13):
| 顺序 |
可砍内容 |
代价 |
| 1 |
M4 全部(爆量判定 / 反哺 / 看板) |
交付闭环缺失,M0–M3 验收不受影响 |
| 2 |
M3 全部 |
不影响 M0–M2 验收 |
| 3 |
M2 的 M-02 规格矩阵、M-11 自动校验、M-18~M-20 成片入库 |
视频线仍可跑通,效率类指标下降 |
| 4 |
M1 的 S-03 卖点库;M2 的 S-10 版本、S-11 引用、S-15 模板库、S-16 审核链接、S-17 Word 交付包 |
主链路仍闭环 |
| 5 |
B0 设计器降级为 JSON 编辑 + 试填预览(不做拖拽与联动 UI) |
行业配置效率下降,第二行业上线变慢 |
| 6 |
B1 资产预览降级为缩略图 + 元数据(不做真实合成预览) |
模板准入质量下降,M1 图片线需补 |
| ✗ 不砍 |
权限、客户隔离、审计、导出留痕、任务幂等、AI 密钥安全 |
触碰 AGENTS §3 红线 |
2.5 与架构 T0 口径的差异说明(必须接受)
技术架构 §10.2 的 T0 估算为 25–30 EPD,只覆盖骨架 + 管理底座 + 行业包 v1;本计划 M0 为 65–70 EPD(细化 68.5),因为按 PRD §7 的 M0 清单额外包含:表单设计器、合规规则集、资产最小集(A-01A-05)、要素卡 / 脚本模板(S-01/S-02/S-04)、导出骨架(E-01E-03);另把客户级字段审批(P-17)提前到 M0,避免客户表结构在 M1 二次变更。
跨里程碑提前项(显式决策,均已在对应表内标注):
| 编号 |
原属 |
本计划位置 |
提前的部分与理由 |
| P-17 客户级字段审批 |
M1 |
M0 A3 |
全量;客户表结构一次到位,避免 M1 二次迁移 |
| P-13 系统配置 |
M3 |
M0 A4 |
仅 system_configs 与阈值读取;R-26 要求阈值单一来源,先建底座 |
| M-05 任务进度与重试 |
M1 |
M0 A6 |
仅协议 / 队列 / SSE / 幂等骨架;业务验收在 M1-3 |
| S-10 脚本版本 |
M2 |
M1-2 |
仅「入库即版本」基础;完整版本链 / diff 在 M2-4 |
| S-11 脚本引用 |
M2 |
M1-2 |
仅引用写入;引用查询与展示在 M2-4 |
| E-05 成片自动归档 |
M3 |
M1-4 |
仅归档骨架;策略与批量归档在 M3 完善 |
| M-18~M-20 成片入库 |
M3(§7) |
M2-3 |
PRD 功能表标注 P1(M2),按功能表放 M2;M3 只做完善 |
| 口径 |
范围 |
EPD |
参考日历 |
架构 T0 |
骨架 + 管理底座 + 行业包 v1 |
25–30 |
3–4 周 |
| 本计划 M0 |
T0 + PRD M0 增量(设计器 / 资产 / 要素卡 / 导出 / P-17 提前) |
65–70 |
6–7 周 |
建议:维持完整 M0。若必须先出"能登录能建客户"的可用版本,可把 B1–B3 后移到 M1 之前并行,M0 缩到 4–5 周,但 M1 会因要素卡与资产缺失而返工——这与 PRD「多行业的代价」的结论一致(PRD §7 注)。该取舍需人类确认(DP-03)。
3 开发模式与协作机制(DeepSeek Harness 全程驱动)
3.1 编队与角色
| 角色 |
承担者 |
职责 |
介入频率 |
| 人类决策者(产品 / 技术负责人) |
项目负责人 |
范围裁决、口径确认(§13)、权限点与 SoD 审批、AI 供应商与预算、UI 走查、批次验收、发布签字 |
每批 1 次验收 + 按需 |
| Lead(Harness) |
主会话 |
拆任务卡、冻结契约、分派与集成、跑门禁、维护计划文档、对人类的唯一汇报口 |
全程 |
| 后端 Worker(Harness) |
并行成员 |
模块 / 接口 / 迁移 / 守卫 / 队列 / AI 适配 |
每批 1–2 名 |
| 前端 Worker(Harness) |
并行成员 |
页面 / 表单渲染 / 权限渲染 / 任务进度 / 联调 |
每批 1–2 名 |
| 基础设施 / 测试 Worker(Harness) |
并行成员 |
Monorepo、CI、Compose、观测、测试与压测 |
每批 0.5–1 名 |
| Verifier(Harness,独立上下文) |
并行成员 |
用 PRD / 架构 / 本计划独立复核产出,专抓"越权、跨模块、静默交付、类型逃逸" |
每批末 1 次 |
并行度约束:同一时刻活跃 Worker ≤ 3(不含 Lead);每批任务卡 6–12 张(多数 8–10);每张卡写范围不得重叠;prisma/schema.prisma、packages/shared、pnpm-lock.yaml、turbo.json 为单写者文件,由 Lead 或指定 owner 统一改。
3.2 批次工作流(每批 4–7 个工作日)
| 步骤 |
时点 |
动作 |
产出 |
| ① 开卡 |
D1 上午 |
Lead 在共享任务板建卡(§3.3),标注依赖 / 写范围 / 验收 / 工量;人类确认范围(H0) |
任务卡 + 写范围清单 |
| ② 冻结契约 |
D1 下午 |
后端产出 Zod schema / OpenAPI 草稿 / 迁移草案;前端产出 mock 与页面骨架;Lead 冻结 v0 契约 |
契约快照 + Mock |
| ③ 并行开发 |
D2–D3 |
前后端同时实现;前端只依赖契约与 Mock,不等待后端合并 |
功能分支 + 单测 |
| ④ 集成联调 |
D3–D4 |
按 §8.2 检查单联调;修契约偏差;跑冒烟 |
联调记录 + 修复清单 |
| ⑤ 门禁 |
D4 |
lint / typecheck / test / 契约 diff / 权限三态 / 迁移可回滚(§10) |
门禁报告 |
| ⑥ 演示验收 |
D4–D5 |
人类按演示脚本走查(§12.2),Verifier 独立复核 |
验收结论 + 缺陷单 |
| ⑦ 回写复盘 |
D5 |
回写实际 EPD、偏差原因、决策到本文档 / ADR;更新 §13 |
计划增量 |
不允许跳步:②未冻结不得进 ③;⑤未全绿不得进 ⑥;⑥未通过不得开下一批(可并行开不依赖的批次)。
3.3 任务卡规范
每张卡必须包含以下字段,缺一不得开工(DoR):
| 字段 |
要求 |
| 编号 / 标题 |
A1-BE-02 认证与 JWT,编号与 §6 一致 |
| 模块 / 端 |
identity / BE;禁止跨模块 |
| 背景与目标 |
一句话说明对应 PRD 编号(如 P-01)与不做的边界 |
| 接口与数据 |
路由、方法、权限点、请求 / 响应 schema、涉及表与迁移 |
| 验收标准 |
可执行的断言(HTTP 状态、返回码、页面行为、审计记录),不写"体验良好" |
| 依赖 |
前置任务卡编号;未满足即阻塞 |
| 写范围 |
目录 / 文件前缀,用于并行冲突检查 |
| 工量 |
EPD(0.5 / 1 / 1.5 / 2) |
| 风险 |
外部依赖、待确认项、可能的返工点 |
完成定义(DoD):代码合入 + 单测覆盖关键规则 + 接口在 OpenAPI 中可见 + 权限点已注册 + 审计已埋点 + 前端空态 / 加载态 / 错误态齐全 + 演示脚本可走通 + 文档(含迁移说明)同 PR。
3.4 人类决策门
| 门 |
时机 |
需要确认什么 |
不确认的后果 |
| H0 范围门 |
每批开卡 |
本批范围、砍 / 加项、验收口径 |
返工或范围蔓延 |
| H1 权限门 |
A2 开卡前 |
权限点目录、六类数据范围、SoD 互斥对、特殊权限授予规则 |
权限模型返工,影响全部页面 |
| H2 AI 门 |
A7 开卡前 |
供应商清单、密钥保管方式、Mock 范围、预算阈值 |
AI 配置返工,成本不可控 |
| H3 UI 门 |
每批演示前 |
页面布局、关键交互(表格 / 表单 / 空态)、是否需要视觉稿 |
前端返工 |
| H4 验收门 |
每批第 4–5 日 |
是否接受本批产出、遗留缺陷是否带病进入下一批 |
缺陷累积 |
| H5 发布门 |
M0 末 / M1 灰度 |
是否可内测、灰度范围、回滚方式 |
线上事故 |
H 门是人的决策,不替代 §10.1 的 G0–G5 质量门禁;两者对应关系见 §10.1 表后注。
3.5 上下文与知识治理
- 唯一事实源:
AGENTS.md → 工程规范 → 技术架构 → PRD。禁止凭记忆写版本号、包名、表名、路由(AGENTS §11)。
- 每批必须回写:实际工期 / 偏差(本文档 §5)、新决策(
docs/adr/ADR-xxx)、接口(OpenAPI)、权限点(packages/shared)、迁移说明。
- Verifier 独立复核:复核者不继承 Lead 会话上下文,只拿任务卡 + 代码 + 验收标准,避免"自己验自己"。
- 会话压缩不等于文档:任何影响后续批次的结论必须落盘到本文件或 ADR,不能只存在于对话里。
3.6 并行度、写范围与冲突控制
| 规则 |
做法 |
| 写范围隔离 |
每张卡声明目录前缀;同一文件同一时刻只允许一个 owner |
| 单写者文件 |
prisma/schema.prisma、prisma/migrations/*、packages/shared/*、pnpm-lock.yaml、turbo.json、package.json(根)由 Lead / 指定 owner 统一改 |
| 迁移编号 |
按批次预分配前缀,禁止两个 Worker 同批改同一迁移;遵循 expand → migrate → contract(AGENTS §3) |
| 合并顺序 |
契约 → 后端 → 前端 → 文档;Lead 负责最终 rebase 与冲突裁决 |
| 冲突升级 |
同一文件被两人修改 → 停止并重排任务,不靠机械 rebase 硬解 |
| 演示数据 |
种子脚本由 Lead 统一维护,避免各批各造一套数据 |
4 总体开发策略
4.1 契约先行(前后端并行的前提)
| 规则 |
说明 |
| 单一真源 |
DTO 以 packages/shared 的 Zod schema 为准;后端不另写一套类型,前端不手写接口类型 |
| 破坏性变更 |
pnpm openapi:diff 报 breaking 必须升版本并通知前端(工程规范 04 / 06) |
| 字段命名 |
JSON body 用 camelCase,query 用 snake_case(C-01) |
| 列表信封 |
列表 { items, next_cursor },单资源不套 data(C-02) |
| Mock 边界 |
Mock 只模拟传输层与状态码,不模拟业务规则;业务规则必须等真接口验证 |
4.2 前后端并行配对
| 批次 |
后端主线 |
前端主线 |
共享契约 |
联调点(D3–D4) |
| A0 |
API / worker 骨架、Prisma 基线、健康检查 |
Web 骨架、布局、登录壳、UI 包 |
错误码、分页、OpenAPI 管线 |
登录页可打开;/health 200 |
| A1 |
部门 / 用户 / 认证 / 守卫 / /me |
登录、用户管理、路由守卫、权限上下文 |
User / Me / Login schema |
登录 → 用户 CRUD → 停用即时失效 |
| A2 |
角色 / 权限点 / 数据范围 / SoD |
角色编辑器、权限树、范围选择 |
Role / Permission / Scope |
新角色授权后页面即时变化 |
| A3 |
行业 / 客户 / 客户组 / 字段审批 |
行业页、客户页、客户组、审批页 |
Industry / Customer / CustomerField |
建客户 → 分配范围 → 越权 403 |
| A4 |
字典 / 系统配置 / 命名规则 |
字典双视图、配置页 |
DictType / DictItem / SystemConfig |
字典三层合并、阈值读取一致 |
| A5 |
审计写入 / 检索 / 导出 / 分区 |
审计列表 / 详情 diff / 导出 |
AuditLog |
操作后审计可查、导出本身留痕 |
| A6 |
任务协议 / 队列 / SSE / 幂等 |
任务中心、进度组件、角标 |
Task / TaskEvent |
提交 → SSE 进度 → 取消 / 重试 |
| A7 |
AI 四层配置 / 密钥 / Mock / 账本 |
供应商、模型、映射、提示词页 |
AiProvider / AiModel / AiMapping |
保存 → 测试连通 → Mock 调用记账 |
| B0 |
行业包 / schema / 校验 / 发布 / 合规 |
行业包、设计器、试填预览、规则集 |
IndustryPack / FormSchema / Rule |
schema 保存 → 校验 → 发布 → 客户绑定 |
| B1 |
资产 / 版本 / 引用 / 上传 / 模板校验 |
资产库、上传、引用、预览 |
Asset / Presign |
上传 → 引用保护 → 模板解析结果 |
| B2 |
要素卡 / 物化索引 / 参考物料 / 脚本模板 |
form-engine、要素卡填写、模板管理 |
BriefCard / ScriptTemplate |
行业包 schema → 表单渲染 → 检索 |
| B3 |
导出 / 命名 / zip / 签名 URL |
导出弹窗、进度、交付清单 |
Export / Manifest |
勾选 → 导出 → 下载 → 审计 |
4.3 管理模块为什么必须先做
- 横切依赖:
ScopeContext、权限守卫、审计埋点、任务协议、字典、系统配置会被后续每个模块调用;后补等于全量返工。
- 数据归属:所有业务表挂
customer_id,客户与行业目录是资产和生产任务的根节点(PRD §4 / R-20)。
- 红线承接:客户隔离(
R-04)、审计(R-05)、阈值同源(R-26)、低质量标记(R-30)都依赖这层底座。
- 成本最低:立项建议明确指出 M0 三件必做是数据权限、审计日志、客户资产包,后补成本极高。
4.4 每批交付物与可演示性
| 类型 |
最低交付 |
| 后端 |
可启动的 API / worker、OpenAPI 快照、迁移与种子、接口冒烟脚本、审计样例 |
| 前端 |
可打开的页面、空 / 加载 / 错误三态、权限渲染、Mock 数据、走查录屏 |
| 数据 |
迁移文件、种子数据(超管 / 示例角色 / 字典 / 电商行业包) |
| 文档 |
本批任务卡回写、接口说明、已知问题与临时开关 |
没有 UI 的批次用 curl / OpenAPI 演示;没有后端的批次用 Mock 演示。不允许"等集成后再演示"。
4.5 排期口径与产能校准
| 项 |
口径 |
| EPD |
净开发工作量,不含评审等待、外部 API 等待、部署等待(沿用技术架构 §10.2) |
| 编队 |
1 Lead + 3 Worker(前端 / 后端 / 基础设施与测试),效率系数 0.75 |
| 净产能 |
3.0 EPD / 工作日(已含自检与集成,不含人类评审) |
| 缓冲 |
25%(评审、联调、返工、外部依赖) |
| 换算 |
日历工作日 = EPD ÷ 3.0 × 1.25;如编队缩为 1 Lead + 2 Worker,按 2.0 EPD/工作日重算 |
| 校准 |
每批回写"计划 vs 实际";连续两批偏差 > 20% 触发重排并在 §5 标注 |
| 不承诺 |
不写绝对交付日期;里程碑以"W 周次 + 退出标准"表达;如需对外承诺,由人类按实际起点换算(DP-03) |
5 里程碑与批次计划
5.1 里程碑总表
| 里程碑 |
对应架构阶段 |
范围 |
净工量(EPD) |
参考日历 |
退出标准 |
| M0 地基 |
T0 + M0 增量 |
A0–B3(§6) |
65–70 |
6–7 周 |
§12.1 全部通过;电商行业包 v1 发布;审计可查 |
| M1 主链路 |
T1 |
脚本生成 / 校核 / 审核入库 / 编号;图片线;预览勾选;导出归档;金融行业包试跑 |
48–56 |
4–5 周 |
AC-01;指标可测 |
| M2 提效 |
T2 |
视频逐镜 / 拼接 / 校验;快筛;变体矩阵;脚本版本与交付包;AI 路由 / 额度;成本看板;成片入库 |
62–70 |
5–6 周 |
视频闭环;成本可查;任务成功率 ≥ 98% |
| M3 复用 |
T3 |
资产复用度量、效果标签、混合实拍与口播、成片入库与素材库、送审与效果回流、SSO / 配置完善 |
40–50(细化 45) |
4–5 周 |
复用率 ≥ 60%;冷启动 ≤ 1 工作日;关联率与日指标可测 |
| M4 交付闭环 |
T3 收尾 |
投放登记完善、日指标、爆量判定与阈值固化、脚本权重反哺、关联率 / 爆量榜看板 |
10–14(细化 12) |
1–2 周 |
爆量口径可配置;反哺生效;M0–M4 回归通过 |
交叉校验:技术架构 T0–T2 净开发 120–145 EPD;本计划 M0–M2 为 175–196 EPD(按各里程碑区间相加;按当前 WBS 实际合计 190.5);M0–M4 合计 225–260(细化 247.5),差额来自 M0 增量(设计器 / 资产 / 要素卡 / 导出)、M3 并入成片入库与效果回流、M4 新增交付闭环与更细的验收口径。若采用架构原口径,可把 B1–B3 后移(见 §2.5)。
5.2 M0 批次总览
| 批次 |
状态 |
主题 |
依赖 |
EPD |
参考工期 |
并行波次 |
退出条件(摘要) |
| A0 |
✅ 已完成 |
工程骨架与契约基线 |
— |
6 |
4–5 日 |
W0 |
lint / typecheck / test / CI 全绿;三依赖可起;api / web / worker 可启动;OpenAPI 可导出 |
| A1 |
✅ 已完成 |
身份认证与用户管理 |
A0 |
6 |
4–5 日 |
W1 |
登录 / 刷新 / 登出;用户生命周期;路由权限;权限三态用例 |
| A2 |
✅ 已完成 |
角色权限与数据范围 |
A1 |
5.5 |
4–5 日 |
W2 |
角色可配;SoD 命中拒绝;特殊权限默认关闭;范围过滤生效 |
| A3 |
✅ 已完成 |
客户与行业目录 |
A1 / A2 |
7 |
4–5 日 |
W2 |
行业 / 客户 / 客户组可用;唯一性;状态只读;字段审批 |
| A4 |
✅ 已完成 |
数据字典与系统配置 |
A3 |
4 |
3–4 日 |
W3 |
三层合并;编码不可改;阈值同源;配置版本 + 审计 |
| A5 |
未开始 |
审计与日志 |
A1 / A4 |
4 |
3–4 日 |
W2–W3 |
关键操作全留痕;不可篡改;导出自身审计 |
| A6 |
未开始 |
任务中心与队列骨架 |
A0 / A1 |
6 |
4–5 日 |
W2–W3 |
提交 → SSE → 完成 / 失败;幂等;取消 / 重试 |
| A7 |
未开始 |
AI 配置与调用底座 |
A0 / A1 / A5 |
6 |
4–5 日 |
W3 |
四层配置;Mock 调用;密钥不泄露;账本可查 |
| B0 |
未开始 |
行业包与表单设计器 |
A3 / A4 |
8 |
6–7 日 |
W4 |
电商行业包 v1;七项校验;双人发布;快照 |
| B1 |
未开始 |
资产与模板最小集 |
A3 / A5 |
6.5 |
5–6 日 |
W4 |
15 类资产;引用保护;PSD 图层校验 |
| B2 |
未开始 |
要素卡与脚本模板 |
B0 |
4.5 |
4–5 日 |
W5 |
动态表单渲染;要素卡检索;模板版本 |
| B3 |
未开始 |
导出骨架与归档 |
B1 / B2 |
5 |
4–5 日 |
W6 |
E-01~E-03;命名规则;审计;签名 URL |
合计:12 个批次,68.5 EPD,6–7 周(含 25% 缓冲与 M0 末集成缓冲)。
A0 进度(2026-11-02):✅ 已完成。10/10 项 WBS 通过;本批门禁 format:check / lint / typecheck / test / build / test:int / openapi:export / openapi:diff / e2e 与本地 CI pnpm ci:local 全绿;/health、/api/docs、web 布局与登录壳、worker 启动均实测通过。实现记录与偏差见 A0 实施报告。环境适配:本地 PG/Redis 复用已有 Docker、对象存储使用公网 RustFS、种子仅 system_configs(Q-A0-01)、Gitea 暂无 runner 时以 pnpm ci:local 为准。
A1 进度(2026-11-03):✅ 已完成。10/10 项 WBS 通过;format:check / lint / typecheck / test 全绿(shared 121 / api 90 / web 120),test:int 33 项(真实 PG / Redis),A1-QA-01 浏览器 e2e 6/6;登录 → 首次登录强改 → 用户列表 / 新建 / 详情 / 停用启用 / 角色调整 / 客户转交占位全链路实测。补强:/system/departments 部门管理(两级组织树、负责人/排序、只停用不删除、停用拦截)已落地并联调。实现记录、口径与遗留见 A1 实施报告。已知遗留:客户转交真实接口(A3)、审计落库(A5)。
A2 进度(2026-11-03):✅ 已完成。8/8 项 WBS 通过;H1 权限门已确认并记录 ADR-001;UI 门三套原型独立评审 A 8 / B 8 / C 7,用户选定 B 主从分栏。最终验收(2026-11-03):format:check / lint / typecheck / test 全绿(shared 121 / api 90 / web 120,共 331),test:int 33 项(真实 PG / Redis),A2-QA-01 浏览器 e2e 1/1(22.1s,最终版 UI 下复跑通过);角色可配、SoD 40304、特殊权限默认关闭、六类范围解析与 ScopeContext 全链路、系统角色保护、变更审计与 outbox 均实测。收口项:侧栏/页面统一为「角色管理」、列表页头主操作右对齐、角色详情「编辑角色」移入页头、移除重复的权限点目录抽屉。实现记录、口径与遗留见 A2 实施报告。已知遗留:A3 前客户目录为空集、A5 审计落库、DP-14 两项特殊权限、导航模块级权限口径。
5.3 批次依赖图
5.4 并行波次
| 波次 |
并行批次 |
说明 |
关键路径 |
| W0 |
A0 |
全员先建骨架,避免各写各的 |
✓ |
| W1 |
A1 |
身份是全部页面的前置 |
✓ |
| W2 |
A2 / A3 / A5 / A6 |
4 个批次争 3 个 Worker:优先 A2 + A3 + A6,A5 从 W2 后段插入 |
✓(A3) |
| W3 |
A4 / A7 / A5 收尾 |
A4 依赖 A3;A7 依赖 A5 |
— |
| W4 |
B0 / B1 |
两条独立线:配置线与资产线 |
✓(B0) |
| W5 |
B2 / B3 前段 |
B3 的导出记录可先用 Mock 数据 |
✓(B2) |
| W6 |
B3 收尾 + M0 集成 |
全链路演示 + 审计抽样 + 性能冒烟 |
✓ |
争用说明:W2 的 A5 可拆成"审计写入骨架(A1 后即可)"与"检索 / 导出(A4 后)"两段,前者随 A2/A3 并行,后者在 W3 完成。任务卡已按此拆分(A5-BE-01/02 与 A5-BE-03)。
5.5 M1 迭代级计划(T1)
| 迭代 |
主题 |
范围(PRD 编号) |
前后端要点 |
净工量 |
退出标准 |
| M1-1 |
脚本生成与解析 |
S-05、S-03、S-07(基础四类)、S-14(基础) |
BE:生成任务、提示词组装、JSON 解析、校核规则、失败重试;卖点库标签与使用计数;FE:生成向导、结果列表、失败明细 |
14 |
批量生成可提交,逐条结果可见,解析失败留原文 |
| M1-2 |
审核入库与编号 |
S-08、S-09、S-13、S-10(基础:入库即版本)、S-11(基础:引用写入) |
BE:审核状态机、批量审核、原子取号、版本;FE:审核工作台、入库、编号展示 |
12 |
过审入库分配唯一编号;修改产生新版本 |
| M1-3 |
图片生产线 |
M-01、M-03、M-04(安全区 / 警示语)、M-05、M-14 |
BE:render 包(PSD 解析 / 抠图 / 合成 / 编码)、image 队列、批次快照、低质量标记;FE:批次提交、网格预览、失败重试 |
15 |
单模板端到端出图;批次可重试;低质量有标记 |
| M1-4 |
预览勾选、导出与收口 |
M-03 完整、E-04、E-05(归档骨架)、金融行业包 v1 试跑 |
BE:勾选持久化、导出打包、归档、命名;FE:快筛网格、勾选恢复、导出记录、交付清单 |
14 |
AC-01 达成;1 个金融客户试跑 1 个批次 |
M1 合计 48–56 EPD(细化 55);任务组见 §6.13。关键路径为 M1-3(图片渲染是唯一无先例链路,R-T-13),建议从 M1-2 起并行做 PSD 解析 spike(2–3 日,不计入批次正式工量,算风险预备)。注:S-10 / S-11 在 M1 只做基础、E-05 只做归档骨架,完整能力分别在 M2-4 / M3 点亮。
5.6 M2 迭代级计划(T2)
| 迭代 |
主题 |
范围(PRD 编号) |
前后端要点 |
净工量 |
退出标准 |
| M2-1 |
视频逐镜生成 |
M-06、M-15、M-16 |
BE:分镜拆解、关键帧、图生视频、镜头并行、超时控制;FE:视频方向选择、任务进度、在线预览 |
15 |
单条视频从脚本到分镜成片跑通 |
| M2-2 |
拼接、校验与单镜替换 |
M-07、M-11、M-17 |
BE:ffmpeg 拼接、音量归一、自动校验、命名;FE:单镜重生成、成片下载 / 导出 |
13 |
成片可下载;校验报告可见;单镜可替换 |
| M2-3 |
快筛、变体与成片入库 |
S-06、M-08、M-09、M-12、M-18~M-20 |
BE:变体矩阵、成本预估、分片直传 / 秒传、版本链;FE:分组并排快筛、快捷键、素材库双视图 |
15 |
快筛效率达标;外部成片可入库并转码 |
| M2-4 |
脚本增强与交付包 |
S-10、S-11、S-15~S-17、E-07 |
BE:脚本版本链与 diff、引用记录、结构模板库审核、客户在线审核链接、Word 交付包;FE:版本对比 / 回滚入口、模板库、审核链接、交付记录 |
10 |
脚本可版本化与追溯;审核链接与交付包可用且留痕 |
| M2-5 |
AI 治理、资产增强与第三行业 |
P-09、P-10、P-11、A-06~A-09、M-02、第三行业包 |
BE:路由 / 降级 / 额度 / 预算闸门 / 成本聚合、资产版本与人物场景池、规格矩阵补齐;FE:AI 路由与额度页、成本看板、资产增强 |
14 |
成本可查可分摊;预算 100% 阻断;第三行业包可配置 |
M2 合计 62–70 EPD(细化 67);任务组见 §6.14。视频质量不确定性最高(R-T-02),必须先做"单镜质量基线"再上批量。注:M-18~M-20 在 PRD 功能表标注 P1(M2)、在 §7 归入 M3,本计划按功能表放在 M2,M3 只做完善;其余提前项见 §2.5。
5.7 M3 迭代级计划(T3)
| 迭代 |
主题 |
范围(PRD 编号) |
前后端要点 |
净工量 |
退出标准 |
| M3-1 |
资产复用与口播增强 |
A-10、A-11、S-12、S-18、M-10、M-13 |
BE:复用率统计、复审任务与降权、脚本效果标签、版本 diff / 回滚、TTS + lip sync、相似度提示与来源标签;FE:复用看板、复审工作台、版本对比、口播配置 |
15 |
复用率与排行可统计;复审可执行;口播成片可预览并留痕 |
| M3-2 |
成片运营与效果回流 |
M-21 ~ M-24、E-05(完善)、E-06 |
BE:脚本-素材关联与血缘、分享链接、送审登记、投放登记与日指标、批量重导 / 按组导出;FE:关联视图与待办、送审台、投放登记、指标视图 |
16 |
关联率可测;日指标可导入;分享与送审全留痕 |
| M3-3 |
外部访问与系统完善 |
P-12、P-13、M-18 ~ M-20(M2 遗留收口)、检索与性能收口 |
BE:SSO / 手机号适配、系统配置、检索与标签、性能收口;FE:登录方式、配置页、全局搜索 |
14 |
SSO 或手机号至少一种可用;配置项生效;P95 达标 |
M3 合计 40–50 EPD(细化 45);任务组见 §6.15。M-22 分享链接受 R-28 开关约束(默认关闭,DP-18);P-12 的 SSO 协议未定(Q-10 / DP-04),M3 先做手机号 + 适配器,SSO 可替换。
5.8 M4 迭代级计划(交付闭环)
| 迭代 |
主题 |
范围(PRD 编号) |
前后端要点 |
净工量 |
退出标准 |
| M4-1 |
爆量判定与脚本反哺 |
M-25、M-26(查询部分) |
BE:爆量判定任务、阈值配置、评级 → 权重映射与反哺、关联率 / 复用排行查询;FE:爆量榜、关联率与排行视图 |
7 |
阈值只读 system_configs;判定可重跑且幂等;反哺生效可在脚本参考权重中查到 |
| M4-2 |
度量看板与项目验收 |
M-26(看板)、成本 / 质量 / 资产总览、告警 |
BE:指标汇总与导出、告警规则;FE:总看板;QA:M0–M4 全量回归 |
5 |
四类看板可用;告警可触发;全量回归通过 |
M4 合计 10–14 EPD(细化 12),1–2 周(含验收与全量回归);任务组见 §6.16。M4 不新增业务表,复用投放登记 / 日指标 / 脚本权重字段;爆量阈值口径见 DP-16。
5.9 M5 预研边界(不排期)
PRD §7 把 M-27(素材元素级拆解) 与「自动字幕 → TTS 配音 → FFmpeg 时间线剪辑 → 一键成片 → 数字人 / 生成式画面」列为 M5 预研,不进入本计划排期。进入条件(满足后单独立项,不在本文件加任务卡):
- M4 验收通过,M0–M4 的资产 / 效果数据已积累 ≥ 1 个季度;
Q-32 明确是否做 AI 生图 / 生视频,以及覆盖哪些非电商行业;
- 预算、版权(肖像 / 音乐 / 模型许可)与算力方案获批。
5.10 关键路径与缓冲
- 关键路径:
A0 → A1 → A3 → B0 → B2 → B3 → M1-3(图片线)→ M2-1(视频线)→ M3-2(效果回流)→ M4-1(爆量判定);
- 有浮动的批次:A2(可后 1 日)、A5(可拆两段)、A6 / A7(W2–W3 内可调)、B1(与 B0 并行);
- 缓冲安排:每波次末留 1 日技术债 / 联调缓冲;M0 末额外 3 日集成缓冲(全链路演示 + 审计抽样 + 性能冒烟);M1–M3 各留 2 日;M4 留 1 日做全量回归;
- 全项目参考日历:M0 6–7 周 + M1 4–5 周 + M2 5–6 周 + M3 4–5 周 + M4 1–2 周 = 20–25 周(约 5–6 个月);
- 关键路径纪律:关键路径上的批次不接受插入新范围;如必须插入,先砍等量范围或顺延里程碑。
6 任务级工作分解(WBS)
编号规则:A1-BE-02 = 批次 A1 / 端别 / 序号。端别:INF 基础设施、SH 共享包、BE 后端、FE 前端、QA 测试。
工量:EPD(等效人日),已含自检与单测,不含人类评审与联调等待。
门禁:每批末尾的门禁是进入下一批的必要条件;验收要点写可执行断言,不写主观描述。
开卡时展开:本表是计划级摘要;批次开卡按 §3.3 补齐接口、鉴权、写范围、风险后执行。
6.1 A0 工程骨架与契约基线
执行状态:✅ 已完成(2026-11-02)。以下 10 项 WBS 全部交付并实测;验收证据、环境差异与待确认项见 A0 实施报告。
目标:一次建对仓库、工具链、CI 与契约管线,避免后续每个批次各修一遍。
对应:技术架构 §10.1;AGENTS.md §3 / §5 / §6;工程规范 01–03 / 06 / 09。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
状态 |
| A0-INF-01 |
Monorepo 与工具链 |
INF |
pnpm workspace + Turborepo;TS strict;ESLint 9 flat + Prettier + commitlint + lint-staged;.nvmrc 24.15.0、engines、packageManager、only-allow pnpm;apps/api、apps/worker、apps/web、packages/*、prisma/、infra/ 目录骨架 |
— |
pnpm install 成功;pnpm lint / pnpm typecheck 可执行;目录与 AGENTS §5 一致;npm / yarn 被拒绝 |
1.0 ✅ |
|
| A0-INF-02 |
本地依赖与迁移种子 |
INF |
docker-compose.dev.yaml(PG18 / Redis7.4 / MinIO)、健康检查;.env.example;Prisma 初始化、首版迁移、种子脚本(超管、示例角色、核心字典、电商行业包占位) |
A0-INF-01 |
pnpm compose:up 三依赖健康;pnpm db:migrate 正向成功;种子可重复执行不重复插入 |
0.5 ✅ |
|
| A0-INF-03 |
CI 与质量门禁 |
INF |
流水线:install --frozen-lockfile → lint → typecheck → test → build → OpenAPI 产物;依赖缓存;失败阻断合并 |
A0-INF-01 |
首条 PR 全绿;故意写 any / 类型错误 / 未格式化能被拦截 |
0.5 ✅ |
|
| A0-BE-01 |
API 骨架 |
BE |
NestJS 11 + Fastify;Pino + trace_id;统一错误过滤器({code,message,details,trace_id});/health;Swagger / OpenAPI 生成;Zod 管道;CORS 与安全头 |
A0-INF-01 |
GET /health 返回 200;错误结构统一;OpenAPI 可导出且含错误码 |
1.0 ✅ |
|
| A0-BE-02 |
Prisma 基线 |
BE |
Prisma client 封装;迁移基线;outbox_events / idempotency_keys / system_configs 骨架;ULID 主键、软删、时间字段约定 |
A0-INF-02 |
迁移可升可回滚;字段命名与工程规范 05 一致;无跨模块表 |
0.5 ✅ |
|
| A0-SH-01 |
shared 包基线 |
SH |
错误码枚举(400xx–500xx)、权限点常量骨架与命名规范(模块:动作)、ULID、游标分页、时间与命名工具、通用 Zod schema |
A0-INF-01 |
前后端同时引用成功;shared 不依赖任何业务包 |
0.5 ✅ |
|
| A0-FE-01 |
Web 骨架 |
FE |
Vite 6 + React 19 + Router 7 + TanStack Query 5 + Zustand 5;@douyinfe/semi-ui-19 + react19-adapter;路径别名;请求层(token 注入、401 刷新、统一错误提示) |
A0-INF-01 |
页面可启动;路由可切换;请求层有单测 |
0.5 ✅ |
|
| A0-FE-02 |
UI 包基线 |
FE |
Semi 二次封装(表格 / 查询表单 / 弹窗 / 空态 / 错误态 / 加载骨架);icons.ts 统一出口(Remix Icon 语义名);locale;主题 token |
A0-FE-01 |
业务代码不直接引图标库、不内联 SVG;ESLint 可拦截违规引用 |
0.5 ✅ |
|
| A0-FE-03 |
布局与登录壳 |
FE |
侧边导航(按模块分组)、顶栏(用户 / 任务角标占位)、面包屑、401 / 403 / 404 页、登录页静态壳 |
A0-FE-01 |
布局可打开;403 页可演示;导航配置集中管理、可按权限过滤 |
0.5 ✅ |
|
| A0-QA-01 |
冒烟与报告 |
QA |
健康检查 / 登录页 / OpenAPI 冒烟用例;覆盖率报告;CI 产物归档 |
A0-INF-03 |
CI 产出测试报告;3 条冒烟通过 |
0.5 ✅ |
|
本批门禁:pnpm format:check && pnpm lint && pnpm typecheck && pnpm test 全绿;pnpm ci:local 全绿(含 build、test:int、openapi:export / diff、e2e);api / web / worker 可启动;OpenAPI 快照入库;CI 流程已配置,Gitea 暂无 runner 时以本地 CI 为准。
环境与范围偏差:本地 PG / Redis 复用已有 docker-postgres-1 / docker-redis-1;S3 使用公网 RustFS(单桶 lingxi-dev);超管 / 角色 / 字典 / 电商行业包种子依赖 A1–A4 的表,A0 仅种子 system_configs,已登记为 Q-A0-01 并在 A0 报告中说明。
6.2 A1 身份认证与用户管理
执行状态:✅ 已完成(2026-11-03)。以下 8 项 WBS 全部交付并实测;验收证据、口径与遗留见 A1 实施报告。
目标:能登录、能装人、能按权限渲染页面。对应:P-01、PRD §5.4.1;架构 §6.2 / §7.1;R-16 / R-17 前置。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
状态 |
| A1-BE-01 |
部门与用户 |
BE |
departments(两级,父级最多两级校验)、users(手机号唯一、离职停用不删、一人多角色);用户 CRUD、停用 / 启用、角色绑定、客户转交接口占位 |
A0-BE-02 |
建部门超两级被拒;停用后登录被拒;删除用户被拒、只能停用 |
1.0 |
✅ |
| A1-BE-02 |
认证与会话 |
BE |
账号密码登录(Argon2)、JWT access + refresh 旋转、jti 吊销、登出、失败次数限制、密码策略;SSO 适配器接口(不实现) |
A0-BE-02 |
登录 → 刷新 → 登出全链路;旧 refresh 立即失效;错误码 40101 / 40102 正确 |
1.0 |
✅ |
| A1-BE-03 |
守卫链与审计拦截 |
BE |
JwtGuard → PermissionGuard → SpecialPermissionGuard → ScopeGuard 骨架 → 业务校验;@Audit() 装饰器与请求上下文(用户、客户、trace_id) |
A1-BE-02、A0-SH-01 |
无 token 401;无权限点 40301;守卫顺序可单测 |
1.0 |
✅ |
| A1-BE-04 |
/me 与权限上下文 |
BE |
当前用户、角色、权限点集合、数据范围、可见客户集合;权限变更即时生效(不缓存旧权限) |
A1-BE-03 |
/me 与登录返回一致;角色变更后下一次请求生效 |
0.5 |
✅ |
| A1-BE-05 |
部门管理补强 |
BE |
GET /departments/tree?include_disabled、POST/PATCH /departments、`POST /departments/{id}/disable |
enable`;负责人/排序;只停用不删除;有在职成员或启用子部门禁止停用 |
A1-BE-01 |
两级/超两级/重名/负责人校验;停用三类拦截;无 DELETE |
0.5 |
| A1-FE-01 |
登录与会话 |
FE |
登录页、token 存储与刷新、登出、会话过期跳转、路由回跳 |
A0-FE-03 |
登录 → 刷新页面仍在线;token 过期自动刷新一次;刷新失败回登录 |
0.5 |
✅ |
| A1-FE-02 |
用户管理页 |
FE |
用户列表(游标分页 / 筛选)、新建 / 编辑、停用确认、部门筛选、角色多选、客户转交入口 |
A0-FE-02 |
列表可分页筛选;停用需二次确认;页面按 user:manage 隐藏写操作 |
1.0 |
✅ |
| A1-FE-03 |
权限上下文与路由守卫 |
FE |
/me 全局缓存、权限点 Hook(usePermission)、路由级与按钮级控制、403 页 |
A1-FE-01 |
无权限路由被拦截;按钮级无权限不渲染(非 removeChild 式隐藏) |
0.5 |
✅ |
| A1-FE-04 |
部门管理页 |
FE |
/system/departments 两级组织树 + 详情/内联编辑 + 新建部门/小组 + 停用/启用二次确认;显示已停用、?id= 选中可恢复 |
A1-FE-01、A1-FE-03 |
无 user:manage 只读;停用被拒有明确提示;刷新恢复选中 |
0.5 |
✅ |
| A1-QA-01 |
账号生命周期用例 |
QA |
登录 / 刷新 / 登出 / 停用 / 角色变更 / 越权 6 类用例 |
A1-BE-04 |
用例全部通过并进 CI |
0.5 |
✅ |
本批门禁:登录闭环;用户生命周期可演示;权限有 / 无用例通过(范围外 ScopeContext 随 A2 补齐);审计已记录登录与用户变更(当前为结构化日志,落库随 A5)。
6.3 A2 角色权限与数据范围
目标:角色可配置、范围可解析、互斥可校验。对应:P-02 / P-03、PRD §5.4.3;R-16 / R-17 / R-18;架构 §6.2 / §7.1;D-07。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| A2-BE-01 |
角色 CRUD / 复制 / 停用 |
BE |
roles、role_permissions;新建 / 复制 / 停用;超管 is_system=true 不可改;删除前校验无绑定用户;示例模板 5–7 个可改可删 |
A1-BE-01 |
超管不可删改停用(仅显示名可改);有用户绑定的角色只能停用;复制生成独立角色 |
0.5 |
| A2-BE-02 |
权限点注册与同步 |
BE |
代码注册的权限点目录 → 启动时同步 permissions 表;code 唯一;前端可拉取权限树 |
A0-SH-01 |
新增权限点无需手写迁移;/permissions 返回树形结构 |
0.5 |
| A2-BE-03 |
角色权限与特殊权限 |
BE |
角色 → 权限点绑定;M0 特殊权限五项(导出 / AI 配置 / 审计查看导出 / 行业包发布 / 字段审批)默认关闭、单独授予;跨客户复用、批量删除待架构给编码后补入(DP-14) |
A2-BE-01 |
新角色默认全空;特殊权限不随角色复制带入;二次确认记录审计 |
0.5 |
| A2-BE-04 |
数据范围与 ScopeContext |
BE |
六类范围(全部 / 本部门及下级 / 本部门 / 指定客户组 / 负责客户 / 本人创建);data_scopes 解析为可见客户集合;Repository 强制注入 customer_id |
A1-BE-03、A2-BE-01 |
范围外写操作 40302、列表裁剪为空、单条 404;SQL 必带客户维度;禁止"先查全量再过滤" |
1.0 |
| A2-BE-05 |
SoD 与变更审计 |
BE |
三对互斥校验(生成 / 审核、行业包编辑 / 发布、字段申请 / 审批);保存即校验;变更审计含前后值、影响用户数;受影响用户通知占位 |
A2-BE-03 |
命中互斥返回 40304;审计可查"谁改了哪些权限点、影响多少人" |
0.5 |
| A2-FE-01 |
角色编辑器 |
FE |
角色列表、权限点勾选树(按模块 / 操作)、六类数据范围选择、特殊权限单独区域、保存前影响面提示 |
A1-FE-03 |
权限树与后端目录一致;保存失败展示 40304 与冲突对 |
1.0 |
| A2-FE-02 |
复制 / 模板 / 停用 |
FE |
从角色或示例模板复制;停用倒计时与在线用户提示;角色详情展示绑定用户 |
A2-FE-01 |
复制后可独立编辑;停用后在线用户下次请求失效 |
1.0 |
| A2-QA-01 |
权限三态与 SoD 用例 |
QA |
每个角色相关端点 3 类用例(有 / 无 / 范围外)+ 3 对 SoD 用例;权限变更即时生效 |
A2-BE-05 |
用例全部通过;越权访问有审计记录 |
0.5 |
A2 完成情况(2026-11-03,最终验收):8/8 项 WBS 完成;A2-BE-01~05、A2-FE-01/02、A2-QA-01 全部验收通过,计划状态置为 ✅ 已完成。H1 权限门确认:30 权限点 / 10 模块(保留 read/write 只补缺)、特殊权限五项 6 编码、SoD 三对、六类数据范围全链路、超管隐式全集、A2 审计先结构化日志;见 ADR-001。UI 三套原型评审 A 8 / B 8 / C 7,用户选定 B 主从分栏。最终门禁:test 331 项全绿(shared 121 / api 90 / web 120),test:int 33 项,A2 e2e 1/1(22.1s);实现与遗留见 A2 实施报告。
本批门禁:角色可配、范围可解析、SoD 可拦截;权限三态用例全绿;特殊权限默认关闭;人类完成 H1 权限门(§3.4)。
6.4 A3 客户与行业目录
执行状态:✅ 已完成(2026-11-03 开发完成,2026-11-04 UI 对齐 / 本地 CI 最终验收)。以下 9 项 WBS 全部交付并实测;实现记录、验收证据与遗留见 A3 实施报告。
目标:行业 / 客户 / 客户组 / 客户字段四件事立住,作为全部资产的根节点。对应:P-04 / P-05 / P-17、PRD §5.4.2 / §5.4.9;R-20 / R-04;架构 §6.3.2。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
状态 |
| A3-BE-01 |
行业目录(两级) |
BE |
industries;一级 → 二级最多两级;一级名称全局唯一、二级同父唯一;客户只挂末级行业;删除前校验无子行业 / 客户 / 资产,否则只能停用;有启用子行业时禁止停用 |
A2-BE-04 |
重名 40902;有子行业 / 客户时删除被拒;有启用子行业停用被拒;停用后新建客户不可选 |
0.5 |
✅ |
| A3-BE-02 |
客户档案与状态机 |
BE |
customers;简称必填、(industry_id, name) 唯一;服务状态(在服务 / 暂停 / 结束);负责人 / 对接人;交付偏好;套用行业资产包入口 |
A3-BE-01 |
简称缺失 42201;暂停只读、不能发起新任务;结束全只读 |
1.0 |
✅ |
| A3-BE-03 |
客户组 |
BE |
customer_groups + customer_group_members;客户组作为授权与数据范围最小单位 |
A3-BE-02 |
成员增删幂等;数据范围引用客户组后可见集合正确 |
0.5 |
✅ |
| A3-BE-04 |
客户级字段申请与审批 |
BE |
customer_fields;申请(定义 + 用途 + 是否进入生成)→ 审批 → 生效;每客户 ≤ 5 个进入生成字段、基础字段 ≤ 10 |
A3-BE-02 |
超限 40001(字段校验失败);未审批字段不进入生成;审批与变更进审计 |
1.0 |
✅ |
| A3-BE-05 |
客户上下文与归属校验 |
BE |
客户上下文中间件;资产 / 任务归属校验函数;跨客户访问统一 404(不暴露存在性) |
A2-BE-04、A3-BE-02 |
跨客户访问返回 40401;所有查询带 customer_id |
0.5 |
✅ |
| A3-FE-01 |
行业管理页 |
FE |
行业列表 / 新建 / 编辑 / 停用;删除前引用提示 |
A0-FE-02 |
重名与有客户时的错误可读;停用状态清晰 |
0.5 |
✅ |
| A3-FE-02 |
客户列表与档案 |
FE |
列表(行业 / 状态 / 负责人筛选)、详情、分步新建(行业 → 基础信息 → 交付偏好 → 资产包)、简称必填校验 |
A3-FE-01 |
分步表单可回退;暂停 / 结束状态只读并提示 |
1.5 |
✅ |
| A3-FE-03 |
客户组管理 |
FE |
客户组列表、成员批量添加 / 移除、按客户组授权提示 |
A3-FE-02 |
批量操作有确认与结果反馈 |
0.5 |
✅ |
| A3-FE-04 |
字段申请与审批 |
FE |
字段定义表单、用途说明、是否进入生成、审批列表、超限提示 |
A3-FE-02 |
申请 / 审批状态可追踪;超限给出明确文案 |
0.5 |
✅ |
| A3-QA-01 |
唯一性 / 状态 / 范围用例 |
QA |
行业与客户唯一性、状态只读、跨客户越权、字段上限 |
A3-BE-05 |
用例全绿;越权访问有审计 |
0.5 |
✅ |
本批门禁:可建行业 → 客户 → 客户组;唯一性与状态机生效;客户字段审批可用;所有查询带客户维度。
A3 完成情况(2026-11-03 开发完成 / 2026-11-04 最终验收):9/9 项 WBS 全部 ✅。两级行业树(ADR-002)、客户档案与状态机、客户组、客户级字段双层与审批、客户转交、真实 CustomerDirectory、客户上下文与跨客户 404 全部落地;前端按用户选定混搭实现(行业 B / 客户列表 A / 客户详情 A / 新建 B / 客户组 B / 字段 A),侧栏更名「客户管理」「行业管理」并新增「客户组」。门禁:format:check / lint / typecheck / test 全绿(shared 131 / api 90 / web 125,共 346),test:int 39 项(5 文件,含 A3 client 6 条),A3 浏览器 e2e 1/1(11.6s),build 8/8;实现记录、截图与遗留见 A3 实施报告。已知遗留:B0 行业资产包套用、A5 审计落库、A4 字段上限配置、客户详情面包屑末级名称。
6.5 A4 数据字典与系统配置
目标:字典与配置成为唯一来源,杜绝前后端硬编码。对应:P-06、P-13(部分)、PRD §5.4.5;R-10 / R-01 / R-26;架构 §5.3 / §5.7。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| A4-BE-01 |
字典模型与三层合并 |
BE |
dict_types / dict_items 通用枚举表;类型 + 编码 + 名称 + 父编码 + 行业 + 排序 + 启用;编码不可改、名称可改;查询按"本行业 + 父行业 + 通用"三层合并 |
A3-BE-01 |
一张表同时表达二级树与词表;编码修改被拒;三层合并结果有单测 |
1.0 |
| A4-BE-02 |
系统配置与版本 |
BE |
system_configs 键值 + 版本 + 变更审计;命名规则、导出设置、通知开关、阈值(爆量 / 超时 / 上限)单一来源;前后端同源读取 |
A0-BE-02 |
配置变更留前后值;阈值只有一处定义;前端上限读取配置接口 |
0.5 |
| A4-BE-03 |
命名规则服务 |
BE |
R-01 占位符解析(行业 / 客户 / 方向 / 日期 / 序号),中文 / 字母 / 数字 / 下划线 / 短横线校验,同名自动加序号,≤ 100 字符 |
A4-BE-02 |
占位符缺失报错;同名序号连续;规则可被导出 / 素材 / 脚本共用 |
0.5 |
| A4-BE-04 |
字典快照 |
BE |
字典项被引用时保存填写时快照;字典变更只影响新数据;历史统计按填写时解释(R-10) |
A4-BE-01 |
改字典名称后历史数据不变;快照查询可复现 |
0.5 |
| A4-FE-01 |
字典管理 |
FE |
字典类型列表、条目树 / 词表双视图、行业作用域、排序、启停;编码只读 |
A4-BE-04 |
编码不可编辑;树与词表可切换;影响范围提示 |
0.5 |
| A4-FE-02 |
系统配置页 |
FE |
命名规则、导出设置、通知、阈值配置;版本与变更记录 |
A4-BE-02 |
保存前展示影响面;阈值修改有二次确认 |
0.5 |
| A4-QA-01 |
合并 / 快照 / 同源用例 |
QA |
三层合并、编码不可改、快照、阈值前后端一致 |
A4-BE-04 |
用例全绿;改字典不影响历史 |
0.5 |
本批门禁:字典三层合并可用;编码不可改;阈值只存一处且前后端一致;配置变更可审计。
A4 完成情况(2026-11-04):7/7 项 WBS 全部 ✅。dict_types / dict_items 通用枚举表(树 / 词表一张表、编码不可改、三层合并、快照契约)、system_configs + system_config_versions(26 项配置、版本 / 乐观锁 / 前后值 / 审计日志)、命名规则服务(R-01)、阈值同源(roles / users / customers / customer-fields 读配置)全部落地;前端按用户选定 方案 A 主从分栏实现 /system/dicts、/system/dicts/:type、/system/settings,侧栏更名「数据字典」。门禁:format:check / lint / typecheck / test 全绿(shared 147 / api 137 / web 154,共 438),test:int 58 项(7 文件,含 A4 catalog 10 + config 9),A4 浏览器 e2e 7/7(约 1.1m),build 8/8,openapi:export + openapi:diff 无破坏性变更;实现记录、截图与遗留见 A4 实施报告。已知遗留:refCount 待 B0/B1、A5 审计落库、详情面包屑末级类型名、字典类型 >100 的分页。
6.6 A5 审计与日志
目标:关键操作全留痕、不可篡改、可检索可导出。对应:P-07、PRD §5.4.6;R-05;架构 §5.4.5 / §9.7;工程规范 08。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| A5-BE-01 |
审计表与 append-only |
BE |
audit_logs 按月分区;应用账号只有 INSERT 权限(DB 层禁 UPDATE / DELETE);字段:主体、动作、对象、前后值、客户、IP / UA、trace_id |
A0-BE-02 |
直接 UPDATE / DELETE 被数据库拒绝;分区可自动创建 |
0.5 |
| A5-BE-02 |
审计采集 |
BE |
@Audit() 装饰器 + 领域事件采集(PRD §5.4.6 七类):登录 / 登出、权限变更、资产增删改、客户与字典等配置变更、导出、任务提交与结果、敏感数据访问 |
A1-BE-03、A4-BE-02 |
关键动作 100% 有记录;失败请求也记录;前后值可 diff |
0.5 |
| A5-BE-03 |
审计检索与导出 |
BE |
按人 / 客户 / 时间 / 动作 / 对象检索(游标分页);导出为异步任务并自身也写审计;只读接口 |
A5-BE-02 |
检索返回稳定排序;导出记录含"谁导出了审计";无修改入口 |
0.5 |
| A5-BE-04 |
敏感访问与保留归档 |
BE |
客户资产包、成本数据、审计日志查看单独留痕;保留 ≥ 12 个月策略与归档任务占位(QT-10) |
A5-BE-03 |
查看成本 / 审计也产生审计;归档任务可配置 |
0.5 |
| A5-FE-01 |
审计列表与详情 |
FE |
多条件筛选、列表、详情(前后值 diff、trace_id、IP)、只读标识 |
A5-BE-03 |
前后值对比可读;无可编辑控件 |
0.5 |
| A5-FE-02 |
审计导出与只读 |
FE |
导出(异步进度 + 下载)、导出历史、权限点控制 |
A5-FE-01 |
无 audit:export 不显示导出;导出后审计列表新增一条 |
0.5 |
| A5-INF-01 |
运行日志与观测 |
INF |
Pino 字段规范、trace_id 贯通、OTel 接入、日志平台入口(后台只放跳转链接,不入库) |
A0-BE-01 |
请求可串 trace;后台"运行日志"入口可跳转;日志无密钥 |
0.5 |
| A5-QA-01 |
不可篡改与留痕用例 |
QA |
登录 / 权限 / 资产 / 配置 / 导出 / 任务 / 敏感访问 7 类留痕 |
A5-BE-04 |
用例全绿;篡改尝试失败 |
0.5 |
本批门禁:关键操作全留痕;审计不可改;导出本身留痕;运行日志与审计分离。
6.7 A6 任务中心与队列骨架
目标:所有耗时操作走统一任务协议,前端有统一进度体验。对应:架构 §6.4 / §3.3;M-05;D-02 / D-08。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| A6-BE-01 |
任务协议与状态机 |
BE |
media_tasks / media_items 基表;状态机对齐架构 §3.6 九态(排队 / 生成中 / 部分失败 / 待预览 / 已勾选 / 已导出 / 已入库 / 失败 / 已取消),M0 先点亮排队 / 生成中 / 部分失败 / 失败 / 已取消,其余状态由 B3 / M1 点亮;提交返回 {taskId, estimatedItems, estimatedCost, estimatedSeconds};Idempotency-Key 24 小时去重 |
A0-BE-02、A0-SH-01 |
重复提交返回同一任务;缺预估字段拒绝提交;状态枚举与架构 §3.6 一致;流转有单测 |
1.0 |
| A6-BE-02 |
队列骨架 |
BE |
BullMQ 队列组(script / image / video / export / verify,共 9 个具体队列);worker 按 QUEUE 启动;重试与退避、死信、并发上限;scheduler 与 Redis 锁 |
A0-BE-02 |
五个队列组可独立启停;单队列积压不影响其他队列 |
1.0 |
| A6-BE-03 |
进度推送 |
BE |
SSE /media-tasks/{id}/events(心跳、断线重连、Last-Event-ID)+ 轮询兜底;进度落库而非只在内存 |
A6-BE-01 |
断网后轮询可恢复;进程重启进度不丢 |
1.0 |
| A6-BE-04 |
任务中心接口 |
BE |
跨类型任务列表 / 详情(按客户、状态、类型、时间筛选)、取消、仅重试失败项、失败明细行号 |
A6-BE-02 |
取消只影响未开始项;重试不重复成功项 |
0.5 |
| A6-BE-05 |
Outbox 事件 |
BE |
outbox_events 写入与投递(至少一次 + 幂等消费);业务写入与事件同事务 |
A0-BE-02 |
事务回滚不产生事件;重复投递不重复处理 |
0.5 |
| A6-INF-01 |
队列监控 |
INF |
队列长度 / 等待时长 / 失败率指标、告警规则、worker 健康检查 |
A6-BE-02 |
积压与失败率可看;阈值告警可触发 |
0.5 |
| A6-FE-01 |
任务中心 |
FE |
列表(类型 / 状态 / 客户 / 时间)、详情(进度条、逐项状态、失败明细、重试 / 取消) |
A0-FE-02 |
任务可筛选;失败项可单独重试;取消有确认 |
0.5 |
| A6-FE-02 |
进度组件与角标 |
FE |
可复用 SSE 进度组件、全局任务角标、断线降级为轮询、完成通知 |
A6-FE-01 |
组件可被后续批次直接复用;断网提示清晰 |
0.5 |
| A6-QA-01 |
幂等 / 取消 / 断线用例 |
QA |
重复提交、取消、重试、断线恢复、进程重启恢复 |
A6-BE-04 |
用例全绿;无重复产物 |
0.5 |
本批门禁:提交 → SSE → 完成 / 失败闭环;幂等与取消生效;队列隔离;进度落库可恢复。
6.8 A7 AI 配置与调用底座
目标:四层配置可管、密钥安全、Mock 可跑通、调用有账本。对应:P-08、PRD §5.4.4;R-23;架构 §2.6 / §7.7;D-10 前置。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| A7-BE-01 |
供应商与模型 |
BE |
ai_providers(Base URL、密钥 AES-256-GCM 密文、状态)、ai_models(上下文、最大输出、默认参数 JSONB、连通性测试);出参只给 hasApiKey |
A0-BE-02、A1-BE-03 |
密钥不出现在响应 / 日志 / 前端 bundle;连通性测试有超时与错误码 |
1.0 |
| A7-BE-02 |
任务映射与提示词 |
BE |
ai_task_mappings(任务类型 → 主 / 备模型 + 任务级参数)、ai_configs / ai_config_versions(提示词、行业指南);保存即快照、可回滚、回滚产生新版本 |
A7-BE-01 |
合并优先级:任务 > 模型 > 供应商;回滚不覆盖历史 |
1.0 |
| A7-BE-03 |
ai-sdk 适配器与 Mock |
BE |
Provider 适配器接口(方言差异:thinking 开关、JSON 模式、联网搜索);platform.ai 唯一出口;Mock Provider(固定延迟与固定产物);路由与降级骨架 |
A7-BE-02 |
业务模块不直接引模型 SDK;Mock 可被 CI / 压测复用 |
1.0 |
| A7-BE-04 |
调用账本 |
BE |
ai_call_logs / ai_usage append-only、按月分区;记录任务、模型、耗时、token / 张 / 秒、估算金额、成败、错误码 |
A7-BE-03 |
每次调用有记录;账本禁改;可按客户 / 模型 / 批次查询 |
0.5 |
| A7-FE-01 |
供应商与模型页 |
FE |
供应商列表 / 新建 / 编辑 / 启停、密钥输入(只回显是否已配置)、模型列表与默认参数、连通性测试 |
A0-FE-02 |
密钥输入后不可回读;测试结果与错误可读 |
0.5 |
| A7-FE-02 |
映射与提示词页 |
FE |
任务映射(主 / 备模型、参数覆盖)、提示词编辑与版本历史、回滚确认 |
A7-FE-01 |
版本可 diff;回滚需二次确认 |
1.0 |
| A7-FE-03 |
调用日志 |
FE |
按任务 / 模型 / 客户 / 时间查询;耗时与费用列;失败原因 |
A7-FE-01 |
列表不返回大字段;金额口径与后端一致 |
0.5 |
| A7-QA-01 |
密钥 / 回滚 / Mock 用例 |
QA |
密钥泄漏扫描、版本回滚、Mock 全链路、权限(ai:configure 特殊权限) |
A7-BE-04 |
日志 / 响应 / bundle 无密钥;无权限不可改配置 |
0.5 |
本批门禁:四层配置闭环;Mock 调用记账;密钥安全通过自查;人类完成 H2 AI 门(§3.4)。
6.9 B0 行业包与表单设计器
目标:行业差异用配置表达,不发版;电商行业包 v1 可发布。对应:P-14 ~ P-16 / P-18、PRD §5.4.7 ~ §5.4.8;R-11 / R-12 / R-13 / R-15。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| B0-BE-01 |
行业包与版本状态机 |
BE |
industry_packs / industry_pack_versions;草稿 / 已发布 / 已弃用;发布后不可变;复制行业包;与行业绑定 |
A3-BE-01 |
已发布版本修改被拒;复制生成新草稿 |
1.0 |
| B0-BE-02 |
Schema 存储与七项校验 |
BE |
form_schemas(JSON Schema + UI 元数据);校验:变量引用完整性、必填满足生成链路、联动成环、枚举来源有效、引用资产存在、key 唯一、字段总数 ≤ 60 |
B0-BE-01 |
七项逐条可测;失败返回 40002 与具体原因 |
1.5 |
| B0-BE-03 |
合规规则集 |
BE |
compliance_rules:禁用词(通用 / 行业 / 客户)、强制提示语、必填资质、审核要点;按行业包版本生效 |
B0-BE-01 |
规则可按行业 / 客户覆盖;命中可被后续校核引用 |
0.5 |
| B0-BE-04 |
发布审批 |
BE |
草稿 → 自动校验 → 双人复核 → 发布;编辑与发布权限分离;SoDGuard;发布审计 |
B0-BE-02、A2-BE-05 |
同一人编辑 + 发布被拒;发布后生成版本快照 |
0.5 |
| B0-BE-05 |
客户绑定与快照 |
BE |
行业包 → 客户绑定;客户级覆盖入口;要素卡保存 form_schema_id 快照引用;历史不回改 |
B0-BE-04 |
换行业包不影响历史要素卡;覆盖项可追溯 |
0.5 |
| B0-FE-01 |
行业包与版本 |
FE |
行业包列表、版本列表、状态、复制、发布审批入口 |
A0-FE-02 |
状态与操作按权限显示;发布前展示校验结果 |
0.5 |
| B0-FE-02 |
表单设计器 |
FE |
14 类字段白名单、字段属性(key / 类型 / 必填 / 进入生成 / 变量优先级 / 参与校核 / 可检索 / 生效范围)、分组与排序、两级联动 |
B0-BE-02 |
类型不可越白名单;联动最多两级且可检测成环;字段计数提示 |
1.5 |
| B0-FE-03 |
试填预览 |
FE |
客户视角预览、真实要素卡试填、变量渲染结果预览 |
B0-FE-02 |
试填缺失必填时禁止提交;渲染结果与后端一致 |
0.5 |
| B0-FE-04 |
合规规则集编辑 |
FE |
禁用词、强制提示语、资质字段、审核要点;行业 / 客户作用域 |
B0-FE-01 |
规则可启用 / 停用;变更进审计 |
0.5 |
| B0-FE-05 |
导入导出 JSON |
FE |
行业包 JSON 导出 / 导入(校验后落为草稿) |
B0-FE-01 |
导入非法结构被拒;导入不直接发布 |
0.5 |
| B0-QA-01 |
校验 / 快照 / 权限分离 |
QA |
七项校验、双人发布、历史快照、字段上限 |
B0-BE-05 |
用例全绿;发布链路有审计 |
0.5 |
本批门禁:电商行业包 v1 可配置、校验、双人发布;客户可绑定;历史快照可复现;发布与编辑权限分离。
6.10 B1 资产与模板最小集
目标:15 类资产可管理、可引用保护、模板可校验准入。对应:A-01 ~ A-05、PRD §5.3;R-02 / R-03;架构 §7.3 / §7.9。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| B1-BE-01 |
资产与引用 |
BE |
assets / asset_versions / asset_refs;15 类 asset_type;客户归属 + 软删;被引用只能停用(R-02);已入库修改产生新版本(R-03) |
A3-BE-05、A5-BE-02 |
被引用删除返回 40901 与引用清单;停用不删数据 |
1.0 |
| B1-BE-02 |
预签名上传 |
BE |
/uploads/presign → 直传 → complete 校验(headObject)→ 写元数据;hash 秒传;大小 / 类型限制 |
A0-BE-01 |
应用服务器不中转大文件;秒传命中不重复存 |
0.5 |
| B1-BE-03 |
模板图层校验 |
BE |
ag-psd 解析 PSD;图层命名约定校验(工程规范 10);缺失 / 重复 / 未知前缀拒绝入库;layer_config 快照与预览图 |
B1-BE-02 |
不合规模板返回明确缺失图层;解析失败不静默跳过 |
2.0 |
| B1-BE-04 |
合成预览骨架 |
BE |
sharp 读取模板 + 素材生成预览图;预览失败降级为模板图 + 标记 |
B1-BE-03 |
预览可生成;失败有降级标记 |
0.5 |
| B1-FE-01 |
资产库 |
FE |
按类型 / 行业 / 客户筛选;上传 / 在线创建;启停 / 排序;批量操作骨架 |
A0-FE-02 |
15 类可筛选;上传进度可见;停用后不可被新任务引用 |
1.0 |
| B1-FE-02 |
引用与删除保护 |
FE |
引用关系查看(双向)、删除失败展示引用清单与替换入口 |
B1-FE-01 |
删除失败文案可操作;引用计数准确 |
0.5 |
| B1-FE-03 |
模板上传与预览 |
FE |
模板上传、图层校验结果(通过 / 缺失清单)、真实合成预览 |
B1-FE-01 |
校验失败不可入库;预览与模板一致 |
0.5 |
| B1-QA-01 |
引用 / 版本 / 解析用例 |
QA |
引用保护、版本新增、PSD 解析失败、秒传 |
B1-BE-04 |
用例全绿;失败模板不入库 |
0.5 |
本批门禁:资产库可用;引用保护生效;模板解析失败明确拒绝;预览可生成。
6.11 B2 要素卡与脚本模板
目标:行业包 schema 能真正渲染成表单并产出可检索要素卡。对应:S-01 / S-02 / S-04、PRD §5.1.1 / §5.1.6;R-11 / R-14。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| B2-BE-01 |
要素卡、参考物料与物化索引 |
BE |
brief_cards / brief_card_index;动态值存 JSONB + 每卡每字段一行索引;参考物料关联与白底图标记(S-02);按客户与品类检索;必填 / 进入生成校验(R-14) |
B0-BE-05 |
索引与 JSONB 一致;缺必填禁止提交生成 |
1.0 |
| B2-BE-02 |
脚本模板 |
BE |
script_templates + 版本;启停;结构化字段(方向 / 钩子 / 段落 / 时长档) |
B0-BE-01 |
修改产生新版本;停用不影响历史引用 |
0.5 |
| B2-FE-01 |
form-engine 包 |
FE |
14 类字段渲染器、分组 / 分栏 / 折叠、两级联动、校验、只读模式;只依赖 schema,不写行业分支 |
B0-FE-02 |
14 类逐类有 story / 用例;新增行业包无需改代码 |
1.5 |
| B2-FE-02 |
要素卡页面 |
FE |
列表 / 详情 / 新建 / 编辑 / 复制 / 停用;按客户与品类筛选;填写完整度提示 |
B2-FE-01 |
缺必填不可保存;复制保留 schema 版本引用 |
1.0 |
| B2-FE-03 |
脚本模板 |
FE |
脚本模板列表 / 版本 / 启停、结构化字段编辑 |
B2-FE-01 |
修改产生新版本;停用不影响历史引用 |
0.5 |
本批门禁:任意行业包 schema 可在前端渲染;要素卡可检索;模板版本化;无行业硬编码分支。
6.12 B3 导出骨架与归档
目标:勾选 → 导出 → 命名 → 审计 → 签名下载的最小闭环。对应:E-01 ~ E-03、PRD §5.5;R-01 / R-05;架构 §7.5 / §6.5。
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| B3-BE-01 |
导出与清单 |
BE |
exports / export_items / delivery_manifests;导出异步任务、状态、逐项结果;清单快照不可变 |
A6-BE-01 |
只导出勾选项;清单含条数 / 规格 / 脚本编号 / 成本 |
1.0 |
| B3-BE-02 |
命名与打包 |
BE |
命名服务接入(R-01);zip 异步打包;产物短时效签名 URL(不进 JSON);临时产物 3 天清理 |
B3-BE-01、A4-BE-03 |
同名自动序号;URL 过期失效;大文件不中转 |
1.0 |
| B3-BE-03 |
导出审计 |
BE |
谁、何时、哪些、导出到哪、包大小、下载次数;导出失败也留痕 |
B3-BE-02、A5-BE-02 |
每次导出有记录;下载也留痕 |
0.5 |
| B3-FE-01 |
导出弹窗与记录 |
FE |
勾选汇总、预估条数 / 成本、导出进度、历史记录、重新下载 |
A6-FE-02 |
未勾选不可导出;进度可恢复;过期提示重导 |
1.0 |
| B3-FE-02 |
交付清单 |
FE |
清单详情、按批次下载、字段与后端一致 |
B3-FE-01 |
清单不可编辑;导出记录可追溯 |
1.0 |
| B3-QA-01 |
E-01 ~ E-03 验收 |
QA |
勾选导出、命名、审计、签名 URL 过期 |
B3-BE-03 |
用例全绿;导出抽样与审计一致 |
0.5 |
本批门禁:导出闭环可演示;命名与审计正确;签名 URL 安全;M0 全链路演示通过。
M0 合计:12 批、68.5 EPD,与 §5.2 一致。
6.13 M1 任务组(脚本与图片线)
M1-1 ~ M1-4 的任务组已到「可直接开工」粒度(1–3 EPD),规则同 M0:开卡时补测试数据与验收证据;组内如需再拆子卡由 Worker 在批次计划里补充。
M1-1 脚本生成与解析(14 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M1-1-BE-01 |
生成任务与提示词组装 |
BE |
批量生成任务(media_tasks type=script);参数 → 模板 → 要素卡 → 上下文槽位;调用 platform.ai;失败重试与逐条结果 |
B2-BE-02、A7-BE-03 |
批量可提交;逐条独立成败;提示词变量缺失即拒绝提交 |
2.0 |
| M1-1-BE-02 |
生成上下文与 RAG 召回 |
BE |
行业指南 / 历史佳作 / 模板三级上下文;召回失败按级降级;召回来源写任务快照 |
A7-BE-02、A7-BE-03 |
三级降级可测;上下文快照可复现;不跨客户召回 |
1.5 |
| M1-1-BE-03 |
JSON 解析与结构化 |
BE |
模型输出 → 分镜 / 标签 / 结构化字段;解析失败保留原文与错误位置,可重试 |
M1-1-BE-01 |
解析失败不丢原文;重试只跑失败项;单测覆盖异常 JSON |
2.0 |
| M1-1-BE-04 |
自动质量校核(基础四类) |
BE |
结构完整、时长、禁用词、必含项四类;拦截 / 警告分级;规则来自行业包合规集 |
M1-1-BE-03、B0-BE-03 |
四类逐条可测;命中可定位到字段;警告不拦截入库 |
2.0 |
| M1-1-BE-05 |
卖点库 |
BE |
行业级 / 客户级卖点、标签、使用次数统计;停用不删 |
A4-BE-01 |
客户级覆盖行业级;计数准确;停用不影响历史引用 |
1.5 |
| M1-1-FE-01 |
生成向导 |
FE |
选客户 / 模板 / 要素卡 / 数量 / 参数;提交前预估条数与成本;Mock 先行 |
M1-1-BE-01 |
缺必填不可提交;预估与实际偏差可解释 |
2.0 |
| M1-1-FE-02 |
结果列表与失败明细 |
FE |
逐条状态、失败原因、原文查看、单条重试;按任务筛选 |
M1-1-BE-03 |
失败项可单条重试;列表刷新不丢筛选 |
1.5 |
| M1-1-QA-01 |
生成链路用例 |
QA |
生成 → 解析 → 校核 → 失败重试;Mock 与真实 Provider 各一轮 |
M1-1-BE-04 |
用例进 CI;成本与耗时记录可查 |
1.5 |
M1-2 审核入库与编号(12 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M1-2-BE-01 |
审核状态机与批量审核 |
BE |
待审核 / 通过 / 驳回 / 局部重写;批量操作;审核人与生成人 SoD |
A6-BE-01、M1-1-BE-04 |
同一人生成 + 审核被拒(40304);批量结果逐条返回 |
2.0 |
| M1-2-BE-02 |
原子取号与编号规则 |
BE |
客户编码-YYMMDD + 序号;Redis 原子取号;唯一、不重用 |
A4-BE-03 |
并发取号不重复;作废号不回收 |
1.5 |
| M1-2-BE-03 |
入库与标签 |
BE |
入库为 scripts;标签化与检索;入库快照 |
M1-2-BE-01 |
未过审不可入库;标签可筛选;快照可复现 |
1.5 |
| M1-2-BE-04 |
版本与引用写入(基础) |
BE |
已入库修改 → 新版本 + 重新审核;引用写入 script_refs |
M1-2-BE-01、B1-BE-01 |
修改不覆盖旧版本;引用关系可反查 |
2.0 |
| M1-2-FE-01 |
审核工作台 |
FE |
待审列表、并排对比、通过 / 驳回 / 局部重写、批量 |
M1-2-BE-01 |
键盘可完成审核;驳回理由必填 |
2.0 |
| M1-2-FE-02 |
入库与编号展示 |
FE |
入库操作、编号展示与复制、版本标记 |
M1-2-BE-02 |
编号格式正确;版本切换不串数据 |
1.5 |
| M1-2-QA-01 |
审核 / 编号 / 版本用例 |
QA |
SoD、并发取号、修改生版本、入库校验 |
M1-2-BE-04 |
用例全绿;审计可查 |
1.5 |
M1-3 图片生产线(15 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M1-3-BE-01 |
render 包与 PSD 解析 |
BE |
packages/render:ag-psd 读图层、按前缀定位可替换层、坐标与字体提取;解析结果快照 |
B1-BE-03、A6-BE-02 |
命名图层缺失拒绝渲染;解析结果可缓存 |
2.5 |
| M1-3-BE-02 |
抠图与缓存 |
BE |
本地 ONNX 抠图(CPU);按内容 hash 缓存;失败退原图并标 low_quality |
M1-3-BE-01 |
抠图不出内网;失败降级有原因码;同图不重复推理 |
2.0 |
| M1-3-BE-03 |
合成与多规格编码 |
BE |
sharp 合成、文字替换、安全区 / Logo / 警示语;JPG / PNG(调色板色数);单张 ≤ 10s |
B1-BE-04、A4-BE-04 |
多规格尺寸正确;超限降质有标记;耗时达标 |
2.5 |
| M1-3-BE-04 |
image 队列与批次快照 |
BE |
按「模板 × 商品图 × 规格」展开;批次号原子取号;参数与命名快照;中断恢复 |
M1-3-BE-03、A6-BE-04 |
100 张中断后可续跑;批次快照可复现 |
2.0 |
| M1-3-BE-05 |
质量校验与低质量标记 |
BE |
安全区、Logo 完整、主体不变形、警示语四项;失败不静默通过 |
M1-3-BE-03 |
低质量条目默认不勾选;原因码来自字典 |
1.5 |
| M1-3-FE-01 |
批次提交与网格预览 |
FE |
物料 / 模板 / 规格选择、预估条数、提交、网格预览与单张放大 |
M1-3-BE-04 |
50 张预览不卡;失败图有占位与原因 |
2.0 |
| M1-3-FE-02 |
失败重试与低质量筛选 |
FE |
失败项重试、低质量筛选、批次历史 |
M1-3-BE-05 |
重试只跑失败项;筛选可组合 |
1.0 |
| M1-3-QA-01 |
图片线端到端 |
QA |
模板准入 → 合成 → 降级 → 批次恢复;性能冒烟 |
M1-3-BE-05 |
端到端通过;低质量可追踪 |
1.5 |
M1-4 预览勾选、导出与收口(14 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M1-4-BE-01 |
勾选持久化与恢复 |
BE |
勾选状态与任务项绑定;刷新 / 换设备恢复;未勾选保留 |
M1-3-BE-04、A6-BE-04 |
并发勾选不丢;取消勾选即时生效 |
1.5 |
| M1-4-BE-02 |
导出打包与命名 |
BE |
按勾选导出;目录结构;命名快照;zip 流式打包(级别 9);签名 URL |
B3-BE-02、M1-4-BE-01 |
未勾选不可导出;同名加序号;URL 短时效 |
2.0 |
| M1-4-BE-03 |
归档骨架 |
BE |
导出成功登记 assets(type=render);可被后续复用 |
B3-BE-01、M1-4-BE-02 |
归档幂等;失败不回滚导出记录 |
1.5 |
| M1-4-BE-04 |
交付清单 |
BE |
清单快照(条数 / 规格 / 编号 / 成本);按批次查询 |
M1-4-BE-02 |
清单不可变;字段与导出包一致 |
1.5 |
| M1-4-FE-01 |
快筛网格与快捷键 |
FE |
网格 / 并排预览、保留 / 淘汰 / 收藏、全选反选、同组收敛 |
M1-4-BE-01 |
50 张操作不卡;快捷键可发现 |
2.0 |
| M1-4-FE-02 |
导出记录与交付清单 |
FE |
导出进度、历史、重下载、清单详情 |
M1-4-BE-02 |
过期提示重导;清单不可编辑 |
1.5 |
| M1-4-INF-01 |
字体自检与性能 |
INF |
镜像内置中文字体启动自检;图片线并发与内存上限;预览性能埋点 |
M1-3-BE-03 |
缺字体启动即失败;并发参数可配 |
1.0 |
| M1-4-QA-01 |
AC-01 端到端与金融试跑 |
QA |
真实客户走通要素卡 → 脚本 → 图片 → 导出;金融行业包 1 个批次 |
M1-4-BE-04、B0-BE-04 |
AC-01 达成;交付周期与单条成本可测 |
3.0 |
6.14 M2 任务组(视频线与提效)
M2-1 视频逐镜生成(15 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M2-1-BE-01 |
分镜拆解 |
BE |
脚本 → N 镜(场景 / 景别 / 时长 / 画面 / 台词);不可解析给原文 |
M1-1-BE-03、B2-BE-02 |
拆解结果可编辑;镜头数与时长校验 |
2.0 |
| M2-1-BE-02 |
关键帧生成 |
BE |
每镜首帧(图生图);参考物料锁定(电商白底图);失败单镜重试 |
M2-1-BE-01、A7-BE-03 |
主体不变形;失败不影响其他镜 |
2.0 |
| M2-1-BE-03 |
逐镜生成与重试 |
BE |
图生视频;单镜独立超时 / 重试 / 换模型;成本按镜记账 |
M2-1-BE-02 |
单镜重来不重跑整条;失败分类可查 |
2.5 |
| M2-1-BE-04 |
镜头并行与拼接前处理 |
BE |
镜头并行度、超时、产物落盘与清单;为拼接准备统一编码 |
M2-1-BE-03 |
并行不串镜;中断可恢复 |
1.5 |
| M2-1-BE-05 |
视频任务预估与预算 |
BE |
转数 / 时长 / 成本预估;单任务预算上限;超限拒绝 |
A6-BE-01、A7-BE-04 |
预估与实际可对账;超限 42902 |
1.0 |
| M2-1-FE-01 |
视频制作向导 |
FE |
脚本、视频方向(必选)、人物 / 场景 / 景别 / 时长 / 数量、口播与 BGM |
M2-1-BE-01 |
缺视频方向不可提交;预估展示清晰 |
2.0 |
| M2-1-FE-02 |
任务详情与镜头状态 |
FE |
逐镜状态、失败原因、单镜重试入口、成本累计 |
M2-1-BE-03 |
镜头级状态准确;重试有确认 |
2.0 |
| M2-1-QA-01 |
单条视频端到端 |
QA |
脚本 → 分镜 → 关键帧 → 逐镜 → 产物;失败与重试用例 |
M2-1-BE-04 |
单条视频跑通;成本可查 |
2.0 |
M2-2 拼接、校验与单镜替换(13 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M2-2-BE-01 |
ffmpeg 拼接与包装 |
BE |
拼接、字幕、Logo、警示语、BGM、音量归一;输出比例 / 时长 |
M2-1-BE-04 |
音画同步;包装元素位置符合安全区 |
2.0 |
| M2-2-BE-02 |
成片自动校验 |
BE |
时长 / 比例 / 黑帧 / 静音 / 字幕错字 / 合规;报告落任务项 |
M2-2-BE-01 |
六项可测;失败原因可定位 |
2.0 |
| M2-2-BE-03 |
单镜替换 |
BE |
指定镜重生成并替换;只失效该镜关联产物 |
M2-1-BE-03 |
替换不重跑整条;版本可追溯 |
2.0 |
| M2-2-BE-04 |
命名与下载 / 导出 |
BE |
通用字符 + 占位符命名;下载与导出双通道;同名加序号 |
M1-4-BE-02、A4-BE-03 |
命名实时校验;未勾选不可下载 |
1.5 |
| M2-2-FE-01 |
在线预览与断点续播 |
FE |
逐条播放 / 暂停 / 重播、断点续播、全选反选、来源脚本 |
M2-2-BE-01 |
50 条预览可用;续播位置准确 |
2.0 |
| M2-2-FE-02 |
单镜替换与下载 |
FE |
镜头时间轴、替换入口、下载 / 导出 |
M2-2-BE-03 |
替换后预览即时更新;命名冲突提示 |
1.5 |
| M2-2-QA-01 |
校验 / 替换 / 命名用例 |
QA |
六项校验、单镜替换、命名与下载 |
M2-2-BE-04 |
用例全绿;失败项可重试 |
2.0 |
M2-3 快筛、变体与成片入库(15 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M2-3-BE-01 |
变体矩阵 |
BE |
脚本 × 人物 × 场景 × 时长;2 轴交叉、单批上限、预估 |
M2-1-BE-03 |
只支持声明的轴;超上限拒绝 |
2.0 |
| M2-3-BE-02 |
快筛 API |
BE |
保留 / 淘汰 / 收藏、理由、同组收敛;筛选与统计 |
M2-2-FE-01 |
操作幂等;理由进字典统计 |
1.5 |
| M2-3-BE-03 |
分片直传与秒传 |
BE |
分片 / 断点续传 / hash 秒传 / 自动元数据;转码任务 |
B1-BE-02 |
大文件不中转;续传可恢复 |
2.0 |
| M2-3-BE-04 |
版本链与采用版本 |
BE |
成片版本链、「采用版本」标记、历史不可变 |
M2-3-BE-03 |
采用版本唯一;回退可追溯 |
1.5 |
| M2-3-BE-05 |
素材库查询与批量操作 |
BE |
双视图数据、批量标签 / 送审 / 打包下载 |
M2-3-BE-04 |
批量操作异步可追踪;空结果不误导 |
2.0 |
| M2-3-FE-01 |
并排快筛与快捷键 |
FE |
分组并排播放、保留 / 淘汰 / 收藏、同组只留最佳 |
M2-3-BE-02 |
3 分钟可筛 50 条;误操作可撤销 |
2.0 |
| M2-3-FE-02 |
素材库双视图与批量 |
FE |
列表 / 网格、筛选、批量操作、版本与采用标记 |
M2-3-BE-05 |
视图切换保留筛选;批量有进度 |
2.0 |
| M2-3-QA-01 |
快筛效率与入库用例 |
QA |
快筛效率、批量、分片 / 秒传、版本链 |
M2-3-BE-05 |
效率基线达标;失败可恢复 |
2.0 |
M2-4 脚本增强与交付包(10 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M2-4-BE-01 |
脚本版本链与 diff |
BE |
完整版本链、字段级 diff、回滚生成新版本 |
M1-2-BE-04 |
回滚不删历史;diff 可读 |
2.0 |
| M2-4-BE-02 |
引用记录 |
BE |
被哪些素材任务 / 成片引用;引用计数 |
M2-4-BE-01 |
计数准确;停用前可查引用 |
1.0 |
| M2-4-BE-03 |
结构模板库 |
BE |
人工创建 + 审核发布、使用计数;未发布不可引用 |
M1-1-BE-04 |
审核分离;计数准确 |
1.5 |
| M2-4-BE-04 |
客户在线审核链接 |
BE |
免登录、短时效、可作废、改稿快照、二维码;开关默认关闭 |
M1-2-BE-03、R-28 |
链接不可枚举;作废即时生效;访问留痕 |
1.5 |
| M2-4-BE-05 |
Word 交付包 |
BE |
编号 + 标题 + 分镜表;交付记录可查;飞书 P2 预留 |
M2-4-BE-01 |
包内容与版本一致;重复导出留痕 |
1.5 |
| M2-4-FE-01 |
版本对比与模板库 |
FE |
版本时间线、字段 diff、回滚;模板库审核与计数 |
M2-4-BE-01 |
回滚需二次确认;模板状态清晰 |
1.5 |
| M2-4-QA-01 |
交付包与审核链接 |
QA |
审核链接安全、Word 包内容、版本回滚 |
M2-4-BE-05 |
用例全绿;安全项(越权 / 过期 / 作废)通过 |
1.0 |
M2-5 AI 治理、资产增强与第三行业(14 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M2-5-BE-01 |
资产版本 |
BE |
asset_versions、版本对比、历史快照 |
B1-BE-01 |
修改生版本;历史可回看 |
1.5 |
| M2-5-BE-02 |
引用关系与失效替换 |
BE |
双向引用查询、失效资产替换向导 |
M2-5-BE-01 |
替换不破坏引用;操作留痕 |
1.5 |
| M2-5-BE-03 |
人物 / 场景 / 光影 / BGM 池 |
BE |
池化管理、行业声明槽位、启停 |
M2-5-BE-01 |
槽位由行业包声明;停用不影响历史 |
2.0 |
| M2-5-BE-04 |
提示词模板 |
BE |
版本、生效范围(行业 / 客户 / 任务)、发布审核 |
A7-BE-02 |
生效范围可叠加;回滚可查 |
1.5 |
| M2-5-BE-05 |
用途路由与降级 |
BE |
任务 → 主 / 备模型;健康探测、超时降级、限流 |
A7-BE-03 |
主模型失败自动降级;降级可观测 |
2.0 |
| M2-5-BE-06 |
预算闸门与成本聚合 |
BE |
预占 / 结算、预算上限、按客户 / 批次 / 模型聚合 |
A7-BE-04 |
超预算 100% 阻断;账本可对账 |
1.5 |
| M2-5-FE-01 |
资产增强页 |
FE |
版本、引用、池管理、失效替换入口 |
M2-5-BE-03 |
版本与引用关系可读 |
1.5 |
| M2-5-FE-02 |
成本看板 |
FE |
成本趋势、模型分布、客户 / 批次下钻 |
M2-5-BE-06 |
口径与后端一致;导出可用 |
1.5 |
| M2-5-QA-01 |
第三行业包配置与试跑 |
QA |
第三个行业包配置 → 校验 → 发布 → 1 个批次试跑 |
M2-5-BE-04、B0-BE-04 |
不写行业代码即可配置;试跑通过 |
1.0 |
6.15 M3 任务组(复用与回流)
M3-1 资产复用与口播增强(15 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M3-1-BE-01 |
复用率与排行统计 |
BE |
按客户 / 资产 / 周统计复用率、排行;口径与看板一致 |
M2-3-BE-05、M2-5-BE-01 |
口径可复算;空数据不误导 |
2.0 |
| M3-1-BE-02 |
复审任务与降权 |
BE |
资产复审任务、过期提醒、降权 / 下线 |
M3-1-BE-01 |
复审留痕;降权即时生效 |
2.0 |
| M3-1-BE-03 |
脚本效果标签 |
BE |
起量 / 一般 / 未起量人工标注;检索 |
M1-2-BE-04、M2-3-BE-04 |
标签可改但留痕;统计可查 |
1.5 |
| M3-1-BE-04 |
版本对比与回滚 |
BE |
任一历史版本 diff、回滚为新版本 |
M2-4-BE-01 |
回滚不覆盖历史;权限受控 |
2.0 |
| M3-1-BE-05 |
口播 TTS 与 lip sync |
BE |
台词 → TTS → 唇形对齐;音色 / 语速配置;失败降级 |
M2-1-BE-04、A7-BE-03 |
音画同步;失败可重试且不计费 |
2.5 |
| M3-1-BE-06 |
相似度提示与来源标签 |
BE |
实拍 / AI / 混合标签;近 30 天相似度提示 |
M3-1-BE-01 |
标签不可缺省;提示阈值可配 |
1.5 |
| M3-1-FE-01 |
复用看板与复审 |
FE |
复用率 / 排行、复审列表、降权操作 |
M3-1-BE-02 |
下钻可用;操作有确认 |
2.0 |
| M3-1-QA-01 |
复用与口播用例 |
QA |
复用口径、复审、口播同步、相似度 |
M3-1-BE-05 |
用例全绿;口径与看板一致 |
1.5 |
M3-2 成片运营与效果回流(16 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M3-2-BE-01 |
脚本-素材关联与血缘 |
BE |
关联 / 解除、血缘视图、未关联待办、关联率统计 |
M2-3-BE-05、M1-2-BE-03 |
关联率可按客户 / 周统计;待办可清理 |
2.0 |
| M3-2-BE-02 |
素材分享链接 |
BE |
短时效、可作废、外部访问留痕、开关默认关闭 |
A5-BE-03、R-28 |
不可枚举;作废即时;访问有审计 |
2.0 |
| M3-2-BE-03 |
送审与外部提审登记 |
BE |
内部送审、外部平台 / 计划 / 时间、驳回原因与截图凭证 |
M3-2-BE-01 |
状态可追踪;附件走对象存储 |
2.0 |
| M3-2-BE-04 |
投放登记与日指标 |
BE |
平台 / 账户 / 素材 ID / 计划 ID;日 × 素材指标(消耗 / 曝光 / CTR / CVR / ROI) |
M2-3-BE-05 |
手工登记幂等;累计口径正确 |
3.0 |
| M3-2-BE-05 |
自动归档完善 |
BE |
导出 / 送审 / 投放后自动归档策略;批量归档 |
B3-BE-01、M2-3-BE-04 |
归档幂等;失败可重跑 |
1.0 |
| M3-2-BE-06 |
按组导出与批量重导 |
BE |
按组 / 清单导出、批量重导、失败项重导 |
B3-BE-02 |
重导不重复归档;清单一致 |
1.5 |
| M3-2-FE-01 |
关联 / 送审工作台 |
FE |
血缘由、未关联待办、送审登记、凭证上传 |
M3-2-BE-03 |
关联操作可撤销;待办可筛选 |
2.0 |
| M3-2-FE-02 |
投放登记与指标 |
FE |
登记表单、日指标录入 / 导入、趋势图 |
M3-2-BE-04 |
导入校验清晰;指标可累计 |
1.0 |
| M3-2-QA-01 |
关联率与回流用例 |
QA |
关联率、分享安全、送审、指标累计 |
M3-2-BE-04 |
用例全绿;审计可查 |
1.5 |
M3-3 外部访问与系统完善(14 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M3-3-BE-01 |
SSO / 手机号登录 |
BE |
手机号验证码登录;SSO 适配器(OIDC / SAML 至少一种可插拔);会话与吊销 |
A1-BE-02 |
未配置 SSO 不影响密码登录;吊销即时生效 |
3.0 |
| M3-3-BE-02 |
系统配置完善 |
BE |
通知、导出、命名、阈值、保留期配置化;版本与回滚 |
A4-BE-02 |
配置项前后端同源;变更留痕 |
1.5 |
| M3-3-BE-03 |
成片入库完善 |
BE |
分片 / 秒传、版本链、素材库批量操作收口 |
M2-3-BE-05 |
大文件与批量稳定;失败可恢复 |
2.0 |
| M3-3-BE-04 |
检索与性能收口 |
BE |
全局检索(脚本 / 素材 / 资产)、索引与慢查询治理 |
M3-2-BE-01 |
P95 ≤ 500ms;索引命中可观测 |
2.0 |
| M3-3-FE-01 |
登录方式与配置页 |
FE |
手机号登录、SSO 入口、系统配置页 |
M3-3-BE-01 |
登录方式可切换;配置影响提示 |
2.0 |
| M3-3-FE-02 |
全局搜索与标签 |
FE |
全局搜索、标签筛选、结果高亮 |
M3-3-BE-04 |
跨类型搜索可用;空态清晰 |
1.5 |
| M3-3-QA-01 |
回归与性能 |
QA |
登录方式、配置、检索、M0–M3 回归 |
M3-3-BE-02 |
回归通过;性能达标 |
2.0 |
6.16 M4 任务组(交付闭环)
M4-1 爆量判定与脚本反哺(7 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M4-1-BE-01 |
爆量判定与阈值配置 |
BE |
判定任务(消耗阈值 + ROI 达标);阈值只读 system_configs;可重跑、幂等 |
M3-2-BE-04、A4-BE-02 |
阈值单源;重跑不重复计;判定结果可追溯 |
2.0 |
| M4-1-BE-02 |
脚本权重反哺 |
BE |
爆量素材 → 脚本评级 → 权重映射 → RAG 召回加权 |
M4-1-BE-01、M1-1-BE-02 |
权重可查可回滚;派生指标不落库 |
1.5 |
| M4-1-BE-03 |
关联率与排行查询 |
BE |
关联率、复用排行、爆量榜查询接口 |
M4-1-BE-01 |
排序稳定;口径与看板一致 |
1.5 |
| M4-1-FE-01 |
爆量榜与关联率视图 |
FE |
爆量榜、关联率、复用排行、下钻 |
M4-1-BE-03 |
榜单可筛选;数字可追溯到明细 |
1.5 |
| M4-1-QA-01 |
判定口径与幂等用例 |
QA |
阈值边界、重跑、反哺、权限 |
M4-1-BE-02 |
用例全绿;越权不可见 |
0.5 |
M4-2 度量看板与项目验收(5 EPD)
| 编号 |
任务 |
端 |
内容与产出 |
依赖 |
验收要点 |
EPD |
| M4-2-BE-01 |
指标汇总与导出 |
BE |
生产 / 质量 / 成本 / 资产四类汇总;导出异步 |
M4-1-BE-03 |
口径统一;导出留痕 |
1.5 |
| M4-2-FE-01 |
总看板 |
FE |
四类指标总览、趋势、对比 |
M4-2-BE-01 |
首屏 ≤ 2s;空态 / 加载态完整 |
1.5 |
| M4-2-INF-01 |
告警与运行报告 |
INF |
任务成功率、成本、队列积压告警;周报模板 |
A6-INF-01 |
告警可触发;报告可导出 |
1.0 |
| M4-2-QA-01 |
M4 验收与全量回归 |
QA |
M4 验收脚本、M0–M4 回归、性能冒烟 |
M4-2-BE-01 |
全量回归通过;验收记录归档 |
1.0 |
7 七个管理模块专项(产品与交互口径)
本章是 A1–A7 的"做什么、页面长什么样、规则是什么"的补充,不重复 WBS 的实现细节。页面路由与权限点见附录 B / C。
7.1 用户管理(A1 / P-01)
| 项 |
内容 |
| 页面 |
/login、/system/users、/system/users/new、/system/users/:id、/system/departments(部门管理) |
| 接口 |
POST /auth/login、/auth/refresh、/auth/logout、GET /me、GET /users、POST /users、PATCH /users/{id}(含角色分配)、POST /users/{id}/transfer-customers;GET /departments/tree、POST/PATCH /departments、POST /departments/{id}/disable、/enable(不提供删除) |
| 关键规则 |
部门最多两级;手机号唯一;一人可多角色;离职停用不删,名下客户必须转交;超管建议 ≤ 2 人、授予二次确认并审计;停用即时生效 |
| 页面状态 |
空态(无用户 / 无搜索结果)、加载骨架、错误重试、无权限 403;停用用户列表默认隐藏、可筛选查看 |
| 验收 |
① 新建用户 → 分配角色 → 登录成功;② 停用后无法登录且在线会话失效;③ 删除按钮不存在,只有停用;④ 部门超两级被拒;⑤ 用户变更进审计 |
7.2 角色管理(A2 / P-02、P-03)
| 项 |
内容 |
| 页面 |
/roles、/roles/:id(编辑器:权限树 / 数据范围 / 特殊权限三区) |
| 接口 |
GET/POST/PATCH /roles、GET /permissions(复制角色 = 读取现有角色后 POST /roles,不加端点) |
| 关键规则 |
仅超管内置且不可改(仅显示名可改);其余角色全部可配;新角色默认全空;特殊权限单独授予、不随复制带入;六类数据范围;三对 SoD 保存即校验;变更即时生效、留痕、通知受影响用户;角色 ≤ 20 个建议值 |
| 交互要点 |
权限点按"模块 × 操作"分组勾选;范围选择展示"可覆盖客户数";SoD 命中时高亮冲突对并禁止保存;保存前展示"影响 N 名用户" |
| 验收 |
① 新建角色 → 勾选权限 → 分配用户 → 页面即时变化;② 复制角色不携带特殊权限;③ 三对 SoD 各 1 条拒绝用例;④ 角色停用后在线用户下次请求失效;⑤ 变更审计含前后值 |
7.3 数据字典与系统配置(A4 / P-06、P-13 部分)
| 项 |
内容 |
| 页面 |
/dicts、/dicts/:type(树 / 词表双视图)、/system/configs |
| 接口 |
GET/POST/PATCH /dicts、/dicts/{type}/items、GET/PUT /system/configs |
| 关键规则 |
一张通用枚举表;编码不可改、名称可改;按行业作用域三层合并(本行业 + 父行业 + 通用);变更只影响新数据、历史保留快照(R-10);阈值 / 上限只存 system_configs(R-26) |
| 交互要点 |
编码字段创建后置灰;停用项在历史引用处显示"已停用"而非消失;配置项展示版本与变更记录;阈值修改二次确认并提示影响范围 |
| 验收 |
① 行业二级树与词表共用一张表;② 三层合并结果正确;③ 改名称后历史数据不变;④ 前端上限与后端 DTO 读同一配置;⑤ 配置变更审计可查 |
7.4 客户管理(A3 / P-04、P-05)
| 项 |
内容 |
| 页面 |
/industries、/customers、/customers/new(分步)、/customers/:id、/customer-groups、/customer-fields/approvals |
| 接口 |
GET/POST/PATCH /industries、GET/POST/PATCH /customers、/customer-groups、/customers/{id}/fields、/customer-fields/{id}/approve、POST /customers/{id}/apply-industry-pack |
| 关键规则 |
行业两级树;一级名称全局唯一、二级同父唯一;客户名称同末级行业唯一;简称必填(用于全部自动命名);客户必须归属末级行业、不可跨行业移动;暂停只读、结束只读归档(R-07);基础字段 ≤ 10 且永不进入生成,进入生成字段 ≤ 5 且必须审批 |
| 交互要点 |
新建客户为分步表单(行业 → 档案 → 交付偏好 → 资产包),可回退;状态为暂停 / 结束时顶部只读横幅;客户组作为授权单位,批量授权入口清晰 |
| 验收 |
① 重名返回 40902;② 简称缺失 42201;③ 暂停客户不能提交新任务;④ 客户组授权后范围正确;⑤ 字段超限 40001、未审批字段不进入生成 |
7.5 日志管理(A5 / P-07)
| 项 |
内容 |
| 页面 |
/audit-logs、/audit-logs/:id、/system/logs(运行日志平台跳转) |
| 接口 |
GET /audit-logs、POST /audit-logs/export |
| 关键规则 |
审计 append-only(DB 层禁 UPDATE / DELETE);保留 ≥ 12 个月(Q-08 待确认最终值);导出本身也审计;敏感数据访问(客户资产包 / 成本 / 审计)单独留痕;只读,无编辑入口 |
| 交互要点 |
筛选:人 / 客户 / 时间 / 动作 / 对象;详情展示前后值 diff、trace_id、IP / UA;导出为异步任务,产物短时效 URL |
| 验收 |
① 关键七类动作全留痕;② 直接改库被拒;③ 导出审计新增一条"导出审计";④ 无 audit:export 看不到导出按钮;⑤ 运行日志与审计分开 |
7.6 任务管理(A6 / 架构 §6.4、M-05)
| 项 |
内容 |
| 页面 |
/tasks(跨类型任务中心)、/tasks/:id(进度 / 逐项 / 失败明细 / 重试 / 取消) |
| 接口 |
POST /media-tasks、GET /media-tasks、/media-tasks/{id}、GET /media-tasks/{id}/events(SSE)、POST /media-tasks/{id}/cancel、POST /media-tasks/{id}/retry |
| 关键规则 |
提交必带 Idempotency-Key;必须返回预估条数 / 成本 / 时长,缺一不可提交;状态机统一;进度落库、进程重启不丢;取消只影响未开始项;重试只重失败项;队列分组隔离,视频积压不拖垮脚本 |
| 交互要点 |
列表默认按创建时间倒序、支持类型 / 状态 / 客户筛选;详情展示逐项状态与失败行号;SSE 断线自动降级轮询并提示;完成 / 失败有全局通知 |
| 验收 |
① 重复提交返回同一任务;② 断网后轮询恢复;③ 取消 / 重试语义正确;④ 单队列积压不影响其他队列;⑤ 任务中心可查到所有类型任务 |
脚本任务复用同一套任务协议(/script-tasks,权限 script:view / script:generate,M1 生效),任务中心按 type 合并展示;权限点最终以 packages/shared 定稿为准(DP-01)。
7.7 AI 配置(A7 / P-08)
| 项 |
内容 |
| 页面 |
/ai/providers(含供应商下的模型列表)、/ai/routes(任务映射)、/ai/prompts、/ai/usage |
| 接口 |
GET/POST/PATCH /ai/providers、/ai/routes、/ai/prompts、GET/PUT /ai/budgets、GET /ai/usage(模型 CRUD 作为供应商下的嵌套资源,架构 §6.3.7 未单列端点,A7 前回写架构,见 DP-15) |
| 关键规则 |
四层配置(Provider → Model → TaskMapping → CallLog);合并优先级:任务 > 模型 > 供应商;提示词保存即快照、可回滚、回滚产生新版本(R-23);密钥 AES-256-GCM、主密钥来自环境变量、出参只给 hasApiKey;platform.ai 是唯一出网入口;内容违规不重试、失败降级到备用模型 |
| 交互要点 |
密钥输入后不可回读、只显示"已配置";连通性测试有超时与错误分类;任务映射展示主 / 备模型与任务级覆盖;调用日志展示耗时 / 用量 / 估算金额 / 成败 |
| 验收 |
① 响应 / 日志 / bundle 无明文密钥;② 保存 → 快照 → 回滚 → 新版本;③ Mock 调用全链路;④ 无 ai:configure 不可改;⑤ 调用账本可按客户 / 模型 / 批次查询 |
共同约束:七个模块的所有列表都使用游标分页与显式白名单筛选;所有写操作进审计;所有查询带 ScopeContext 与 customer_id(平台级配置除外);所有错误返回统一结构 { code, message, details, trace_id }。
8 前后端并行与联调机制
8.1 契约与 Mock
| 环节 |
约定 |
| 契约来源 |
packages/shared 的 Zod schema(DTO / 枚举 / 错误码 / 权限点)为唯一真源 |
| 后端产出 |
NestJS DTO → OpenAPI;每批 D1 产出 openapi.v0.json 快照 |
| 前端消费 |
openapi-typescript 生成类型 + TanStack Query hooks;禁止手写接口类型 |
| Mock |
前端用 MSW(或 Prism)按 OpenAPI 生成 mock;覆盖成功 / 400 / 401 / 403 / 404 / 409 / 422 / 429 / 500 |
| 契约冻结 |
每批 D1 下午冻结 v0;冻结后如需改,必须同时更新 shared / OpenAPI / mock / 前端类型,并在批次记录中登记 |
| 契约校验 |
CI 跑 pnpm openapi:diff;破坏性变更必须升版本并通知前端 |
8.2 联调检查单(每批 D3–D4 逐项打勾)
- 登录态与 401 / 403 表现与契约一致;
- 列表分页 / 筛选 / 排序与游标行为一致;
- 错误码与前端提示文案映射完整(40001 / 40301 / 40302 / 40303 / 40902 / 42201 …);
- 权限点与页面按钮 / 路由一一对应;
- 审计记录在操作后 1 秒内可查;
- 空态 / 加载态 / 错误态三态齐全;
- 关键写操作有二次确认与成功反馈;
- 任务类操作有预估、进度、失败明细与重试入口。
8.3 前端工程约定
| 项 |
约定 |
| 目录 |
apps/web/src/{app,pages,features,components,hooks,lib,stores};页面按 pages/<模块>/<功能>/ 与路由一一对应,详见 11-前端路由与目录规范;禁止在 apps/web 内自建"共享包" |
| 路由 |
统一 /<模块>/<功能>(见 11),路由表集中声明(路径、标题、权限点、菜单分组);守卫读 /me 权限;无权限跳 403 |
| 权限渲染 |
统一 usePermission / <Can permission="...">;禁止 removeChild 式隐藏;无权限按钮不渲染但接口仍要校验 |
| 数据请求 |
TanStack Query:queryKey 规范、失效策略、乐观更新仅用于勾选类;错误统一 toast + 页面级错误态 |
| 表单 |
优先 Semi Form;动态表单走 form-engine;字段校验前后端同源(Zod / schema) |
| 交互 |
危险操作二次确认;批量操作展示影响条数;长任务离开页面有提示 |
| 样式 |
Semi token + 少量局部样式;禁止引入其他组件库 / 图标库;禁止内联 SVG(品牌 Logo 除外) |
8.4 后端工程约定
| 项 |
约定 |
| 模块骨架 |
每个模块 controller / service / repository / dto / events;模块间只走 Service 接口或领域事件,禁止跨模块 prisma.* |
| 鉴权链 |
JwtGuard → PermissionGuard → SpecialPermissionGuard → ScopeGuard → 业务校验;路由默认拒绝,白名单显式放行 |
| 数据访问 |
Repository 方法必须接收 ScopeContext;查询必须带 customer_id;禁止"先查全量再过滤" |
| 事务 |
业务写入 + outbox 同事务;外部调用不在事务内;幂等键表 24 小时 |
| 审计 |
变更类接口必须 @Audit();审计字段含主体、对象、前后值、客户、trace_id |
| 错误 |
统一错误码;404 统一措辞避免探测;不把内部异常直接透出 |
| 配置 |
阈值 / 上限只读 system_configs;密钥只从环境变量读;日志脱敏 |
8.5 演示数据与种子
| 数据 |
内容 |
维护者 |
| 超管 |
1 个,首次启动生成随机密码并强制修改 |
Lead |
| 示例角色 |
运营 / 设计 / 文案 / 审核 / AI 工程 / 行业配置 / 客户负责人(5–7 个可改可删模板) |
A2 |
| 行业与客户 |
电商 1 个行业、2 个客户、1 个客户组 |
A3 |
| 字典 |
平台规格、时长档、钩子类型、景别、警示语类型、失败原因、淘汰理由、脚本方向、行业二级 |
A4 |
| 行业包 |
电商 v1(草稿 → 发布) |
B0 |
| 资产 |
1 个 PSD 模板 + 1 个 Logo + 1 组警示语 |
B1 |
| AI |
1 个 Mock 供应商 + 2 个 Mock 模型 + 1 组任务映射 |
A7 |
9 工程与环境准备
9.1 建仓清单(A0 必须完成)
9.2 CI 流水线
| 阶段 |
内容 |
失败处理 |
| install |
pnpm install --frozen-lockfile |
阻断(锁文件不一致) |
| static |
pnpm lint · pnpm typecheck · pnpm format:check |
阻断 |
| unit |
pnpm test(Vitest) |
阻断 |
| build |
pnpm build(api / worker / web) |
阻断 |
| contract |
pnpm openapi:diff(对上一版快照) |
破坏性变更不得合并 |
| integration |
Testcontainers(PG / Redis / MinIO)主链路 |
阻断(M0 起逐步启用) |
| e2e |
Playwright 冒烟(登录 / 用户 / 客户 / 字典 / 任务) |
阻断(M0 末起) |
| security |
依赖审计、密钥扫描、any / 跨模块 prisma 检查 |
阻断 |
9.3 环境矩阵
| 环境 |
用途 |
依赖 |
数据 |
| local |
开发 |
Docker Compose(PG18 / Redis7.4 / MinIO) |
种子数据 |
| staging |
每批演示 / 联调 |
1 台云主机 + 同 compose |
演示数据,可重置 |
| production |
M1 灰度后启用 |
架构 §4.2 拓扑 |
真实数据,迁移先行 |
9.4 观测与告警(M0 基线)
- Pino 结构化日志 +
trace_id 全链路;
- OTel 指标:请求量 / 延迟 / 错误率、任务队列长度 / 等待时长 / 失败率、AI 调用耗时与成本;
- 告警:5xx 突增、队列积压、审计写入失败、AI 连续失败、对象存储不可用;
- 看板:任务中心健康、AI 调用账本(M2 完善成本看板)。
9.5 安全基线(M0 必须)
- 密钥只在环境变量 / 密钥管理,不入库、不进日志、不进 bundle;
- JWT 签名密钥支持轮换;refresh 旋转 + 吊销;
- 密码 Argon2;登录失败限流;
- 上传类型 / 大小校验;预签名 URL 短时效;
- 依赖审计与许可证检查进 CI;
- 权限三态用例覆盖每个受保护端点;
- 审计 append-only 由数据库权限兜底,不能只靠代码。
10 质量门禁与测试策略
10.1 门禁总表
| 门禁 |
时点 |
通过条件 |
不通过处理 |
| G0 批次准入 |
每批 D0 |
批次卡就绪;依赖批次验收通过;契约版本确认;环境可用;本批待确认项已清零或有明确默认 |
不启动,先补条件 |
| G1 任务卡完成 |
每张卡 |
lint / typecheck / 单测绿;无 any / as 逃逸;无跨模块 prisma;接口有 OpenAPI 描述;关键分支有测试;自查清单勾完 |
打回,不进入集成 |
| G2 后端批次门 |
每批 D2 |
契约 v0 快照产出;权限三态用例通过;迁移可在空库重复执行;审计写入验证;错误码覆盖 |
本批不交付前端联调 |
| G3 联调门 |
每批 D4 |
联调检查单 8 项全勾;页面三态齐全;错误提示映射完整;冒烟 E2E 通过 |
延期,不带病验收 |
| G4 批次验收 |
每批 D5 |
DoD 清单 + 演示脚本通过;openapi:diff 无未登记破坏性变更;批次记录与风险台账更新 |
不计入完成,顺延 |
| G5 里程碑 |
M0–M4 每个里程碑末 |
里程碑 DoD;AC 映射;性能预算;安全基线;文档同步;回滚演练(M1+) |
不进入下一里程碑 |
与人工决策门的关系:§3.4 的 H0–H5 是人的决策点,不替代本节 G0–G5 的质量门禁。对应关系:H0↔G0(范围确认后开卡)、H1/H2/H3 为专题评审(分别在 A2 / A7 / 每批演示前)、H4↔G4(批次验收)、H5↔G5(里程碑发布)。
10.2 测试分层
| 层 |
范围 |
工具 |
何时强制 |
| 单元 |
shared 工具与 schema、权限判定、状态机、命名生成、字典三层合并、AI 路由优先级 |
Vitest |
每张任务卡 |
| 集成 |
登录链路、权限三态、客户隔离、任务幂等 / 重试、审计 append-only、密钥加密、文件预签名 |
Vitest + Testcontainers(PG / Redis / MinIO) |
每批 G2 起 |
| 契约 |
OpenAPI 快照 diff;前端 mock 与 schema 一致性 |
openapi:diff + 契约测试 |
每批 |
| E2E |
登录、用户 / 角色、客户、字典、任务中心、AI 配置(Mock) |
Playwright |
M0 末起,每批冒烟 |
| 性能 |
任务提交 P95、列表 P95、SSE 连接数 |
k6 |
M1 起 |
| 安全 |
依赖审计、密钥扫描、越权用例、上传校验 |
CI + 用例 |
每批 |
覆盖率只升不降;M0 起点行覆盖率 60%,identity / platform 关键模块 70%。
10.3 权限三态矩阵(每个受保护端点必填)
| 端点 |
有权限 |
功能权限缺失 |
特殊权限缺失 |
数据范围外 / 不可见 |
GET /users |
200 列表 |
403 40301 |
N/A |
N/A |
GET /customers |
200 范围内客户 |
403 40301 |
N/A |
空列表 / 详情 404 |
PATCH /customers/{id} |
200 |
403 40301 |
N/A |
404(不泄露存在性) |
POST /media-tasks |
202 任务 |
403 40301 |
N/A |
40302 / 404 |
GET /audit-logs |
200 |
403 40301 |
403 40303 |
按审计范围裁剪 |
POST /audit-logs/export |
202 |
403 40301 |
403 40303 |
同上 |
PATCH /ai/providers/{id} |
200 |
403 40301 |
403 40303 |
N/A |
POST /industry-packs/{id}/versions/{v}/publish |
200 |
403 40301 |
403 40303 |
N/A |
口径(对齐架构 §6.1 错误码表):功能权限缺失 → 403 40301;数据范围外 → 403 40302(写操作)/ 空列表(列表)/ 404(单条,不泄露存在性);特殊权限缺失 → 403 40303;职责互斥 → 403 40304。每个端点必须有对应三态用例,缺用例视为 G2 不通过。
10.4 契约与迁移门禁
| 检查 |
规则 |
| 破坏性变更 |
删字段 / 改类型 / 改必填 / 改枚举值 / 改错误码 → 必须升版本 + 前端同步 + openapi:diff 登记 |
| 迁移 |
一律 expand → migrate → contract;同一发布内禁止"删字段 + 改代码";迁移必须可在空库与存量库各跑一次 |
| 回滚 |
每个迁移附回滚说明;不可逆操作(删列 / 改类型)必须双人 review + 备份确认 |
| 数据修复 |
禁止在迁移里做业务数据修复;修复走独立脚本并留审计 |
10.5 强制双人 Review 清单
权限 / 角色 / 数据范围 · 数据库迁移 · AI 供应商与密钥 · 导出与分享 · 审计与保留期 · 行业包发布 · 跨客户复用。
10.6 缺陷分级与阻断规则
| 级别 |
定义 |
处理 |
| P0 |
数据泄露 / 越权 / 丢数据 / 密钥泄露 / 审计缺失 |
立即停批修复,修复后补回归用例 |
| P1 |
主流程不可用 / 契约破坏 / 权限判定错误 |
本批内必须清零 |
| P2 |
非主流程缺陷 / 体验问题 |
下一批处理,登记台账 |
| P3 |
建议 / 优化 |
backlog |
硬规则:任何 P0 / P1 未清零,不得进入下一批。
11 风险与应对
11.1 项目风险
| 编号 |
风险 |
概率 |
影响 |
应对 |
触发信号 |
| PR-01 |
M0 范围与架构 T0 口径不一致,评审时被压缩 |
高 |
高 |
§2.5 显式说明差异与建议;DP-03 早确认;如压缩优先砍资产 / 导出,不砍权限与字典 |
评审会要求回到 25–30 EPD |
| PR-02 |
表单设计器复杂度超预期(R-T-04) |
中 |
高 |
14 类字段白名单 + 硬上限;先"JSON 编辑 + 渲染"降级路径;form-engine 独立包可单测 |
B2 超期 3 天 |
| PR-03 |
行业包字段 / 合规规则未定(Q-15 / Q-16) |
高 |
中 |
电商包先行;字段清单 B0 开卡前书面确认;上限进配置 |
B0 无法开卡 |
| PR-04 |
图片线渲染无先例(R-T-13) |
中 |
高 |
M1 前 2 周 spike;单模板端到端优先;模板数量收敛 |
PSD 解析失败率 > 10% |
| PR-05 |
AI 供应商 / 预算未定(QT-05 / Q-09) |
高 |
中 |
Mock 先行 + 适配器隔离;预算 P1 再做;切换供应商不改业务代码 |
A7 无法联调真实模型 |
| PR-06 |
权限模型复杂,越权风险(R-16~R-18) |
中 |
高 |
H1 权限门先落地;权限三态用例强制;数据范围统一走 ScopeGuard |
出现"先查全量再过滤" |
| PR-07 |
人工验收成为瓶颈 |
高 |
中 |
固定验收窗口;演示脚本预填;缺陷分级;验收人提前指定 |
验收演示连续两次改期 |
| PR-08 |
前后端契约漂移 |
中 |
中 |
shared Zod 单一真源;契约冻结;openapi:diff;mock 契约测试 |
前端手写接口类型 |
| PR-09 |
迁移 / 种子冲突 |
中 |
中 |
迁移单写者;种子脚本幂等;每批预留迁移窗口 |
两人同改 prisma/ |
| PR-10 |
中文字体 / 编码环境问题(R-T-18) |
中 |
中 |
镜像内置字体;启动自检;M1 前验证 |
渲染缺字 / 方框 |
| PR-11 |
一个人同时改多模块导致回归 |
中 |
中 |
写范围声明;模块 owner;CI 全量跑 |
同一 PR 跨 > 3 模块 |
| PR-12 |
需求在开发中变更 |
高 |
中 |
变更走批次记录 + 影响面评估;未确认项进 §13;不接"顺手加" |
口头新增需求 |
11.2 Harness 协作特有风险
| 编号 |
风险 |
应对 |
| HR-01 |
模型幻觉 API / 字段 / 版本号 |
强制先读上游文档;以 packages/shared 与 OpenAPI 为准;typecheck + 契约测试兜底;Verifier 抽查 |
| HR-02 |
跨模块 prisma 或越权捷径 |
ESLint 自定义规则 + 架构测试 + Review 清单 |
| HR-03 |
any / as 逃逸类型 |
no-explicit-any 与 no-unnecessary-type-assertion 阻断;Review 抽查 |
| HR-04 |
静默失败 / 假成功 |
失败必须显式上报;低质量产出打标(R-30);E2E 断言真实结果 |
| HR-05 |
上下文漂移 / 遗忘约束 |
任务卡自包含;每批重读 AGENTS 与批次卡;关键决策落文档 |
| HR-06 |
过度设计 / 提前抽象 |
只做任务卡范围;YAGNI;抽象需两个以上真实用例 |
| HR-07 |
测试只写 happy path |
权限三态 / 负向 / 边界用例强制;覆盖率只升不降 |
| HR-08 |
并行写冲突 |
写范围声明 + 单写者;冲突走 rebase + 复核 |
| HR-09 |
token / 成本失控 |
每批限定上下文;复用文档摘要;长任务拆卡;避免重复全量读库 |
11.3 风险回顾
每批 D5 更新风险台账(新增 / 关闭 / 概率变化);每个里程碑做一次复盘,输出"下阶段 Top 3 风险"。
12 验收与交付
12.1 M0 完成定义(DoD)
12.2 每批演示脚本模板
| 步骤 |
操作 |
期望 |
证据 |
| 1 |
以不同角色登录 |
菜单 / 按钮按权限差异显示 |
截图 × 2 |
| 2 |
执行本批核心写操作 |
成功反馈 + 审计 1s 内可查 |
截图 + 审计记录 |
| 3 |
越权 / 范围外访问 |
403 / 404 / 空列表符合口径 |
截图 |
| 4 |
触发错误分支 |
错误码与提示文案正确 |
截图 |
| 5 |
刷新 / 重进页面 |
状态持久、无脏数据 |
录屏或截图 |
12.3 里程碑退出标准
| 里程碑 |
退出标准 |
对应 AC |
| M0 |
§12.1 全勾 + 演示通过 + 无 P0/P1 |
支撑 AC-04 |
| M1 |
单客户"要素卡 → 脚本 → 图片素材 → 快筛 → 导出归档"闭环;3 个模板可用;导出留痕 |
AC-01、AC-04 |
| M2 |
提效能力上线;至少 3 项指标可量化;成本看板可用 |
AC-02 |
| M3 |
复用、成片入库、送审与回流、SSO / 系统配置上线;复用率 ≥ 60%;关联率与日指标可测 |
AC-03 |
| M4 |
爆量判定与阈值可配置;脚本反哺生效;四类看板可用;M0–M4 全量回归通过 |
AC-02、AC-04 |
12.4 交付物清单
| 类别 |
内容 |
| 代码 |
apps/api、apps/worker、apps/web、packages/*、prisma/、infra/ |
| 文档 |
本计划、批次记录、接口快照、迁移说明、Runbook(T1 前) |
| 演示 |
每批演示脚本与截图、M0–M4 验收记录 |
| 台账 |
风险台账、待确认清单、缺陷台账、AI 调用账本(M2) |
12.5 发布与灰度
| 阶段 |
策略 |
| M0 |
内测环境部署,仅项目组 + 种子客户使用;每日构建 |
| M1 |
staging 验证 → 生产灰度(1–2 个客户);功能开关控制新能力 |
| M2+ |
按客户 / 行业分批放量;迁移先行、代码后行;保留上一版本镜像 |
回滚:镜像回滚 + 迁移回滚说明 + 功能开关关闭;每次发布前演练一次。
12.6 验收记录
每批 D5 记录:批次号、日期、参与人、演示项、通过 / 不通过项、遗留缺陷、风险变化、下一批准入结论。
12.7 全项目完工定义(M0–M4)
13 待确认清单(需产品 / 技术负责人确认)
| 编号 |
待确认项 |
影响 |
建议默认 |
阻塞批次 |
| DP-01 |
「任务管理」是否即跨模块异步任务中心;是否新增 task:* 权限点 |
权限模型与页面范围 |
按 AS-06 做任务中心,复用 media:view / media:generate,暂不新增权限点 |
A6 / H1 |
| DP-02 |
「日志管理」是否含运行日志查询入口 |
页面与权限 |
审计中心为主,运行日志跳转 Grafana / Loki,不自研 |
A5 |
| DP-03 |
M0 范围与排期是否对外承诺;是否接受 6–7 周 |
项目计划与预期 |
维持完整 M0,按 6–7 周排;对外只承诺里程碑不承诺日期 |
立项 |
| DP-04 |
登录方式与 SSO 时点(Q-10) |
A1 设计与后续改造 |
M0 账号密码 + 刷新令牌;SSO 预留接口 |
A1 |
| DP-05 |
AI 供应商、密钥保管方式、预算阈值(QT-05 / Q-09) |
A7 与 M1 真实调用 |
先 Mock;生产密钥走环境变量 / 密钥管理;预算 P1 |
A7 / M2 |
| DP-06 |
云厂商、域名、备案、对象存储(QT-01 / QT-03) |
部署与环境 |
单云 + 托管 PG / Redis / S3 兼容存储 |
A0 / M1 |
| DP-07 |
行业包首批字段与审批人(Q-14 / Q-15 / Q-16) |
B0 / B2 |
电商包按 PRD 示例字段;审批人=产品负责人 |
B0 / B2 |
| DP-08 |
UI 视觉稿与走查机制 |
前端效率与返工 |
以 Semi 默认为基线,M0 中补关键页视觉稿 |
A0 / M1 |
| DP-09 |
Harness 团队规模与并发 Worker 数 |
排期与冲突 |
1 Lead + 3 Worker;写范围隔离 |
全程 |
| DP-10 |
生产运维责任、值班与告警接收人 |
上线 |
开发兼任,M1 前补 Runbook |
M1 |
| DP-11 |
数据保留期(Q-08) |
审计 / 日志 / 产物 |
审计 ≥ 12 个月,运行日志 30 天,产物按客户配置 |
A5 / M1 |
| DP-12 |
平台清单与尺寸矩阵(Q-03) |
字典与渲染 |
先按 PRD 附录清单,进字典可配 |
B0 / M1 |
| DP-13 |
行业包七项校验中哪些阻断、哪些仅警告(PRD §5.4.8 未区分) |
B0 / B2 |
结构性问题阻断,内容类问题警告 |
B0 / B2 |
| DP-14 |
跨客户复用授权、批量删除两项特殊权限的权限点编码(PRD §5.4.3 要求,架构 §6.3 未给) |
角色编辑器特殊权限区完整性 |
M0 先实现五项;两项在 M2/M3 启用前回写架构并补入 packages/shared |
A2 / M2 |
| DP-15 |
AI 模型管理的端点形态(架构 §6.3.7 只有 providers / routes / prompts,未单列 models) |
A7 接口契约与前端页面 |
模型作为 /ai/providers/{id} 嵌套资源,A7 前回写架构 §6.3.7 |
A7 |
| DP-16 |
M4 爆量判定阈值与 ROI 口径(PRD 未给数值,R-26 要求只存配置) |
M4 判定逻辑、榜单与反哺 |
默认「消耗 ≥ 客户日均消耗 3 倍且 ROI ≥ 1.2」,进 system_configs 可改 |
M4-1 |
| DP-17 |
M5 预研(M-27 / AI 素材生产)是否立项、预算与版权方案(Q-32) |
后续路线与资源 |
M4 验收后单独立项评估,不在本期承诺 |
M5 |
| DP-18 |
公开分享 / 免登录审核链接开关(R-28) |
M2-4 审核链接、M3-2 素材分享 |
默认关闭,按客户白名单开启;链接短时效、可作废、访问留痕 |
M2-4 / M3-2 |
处理规则:任一 DP 在阻塞批次开卡前未确认,按"建议默认"执行并登记;若影响面跨模块,升级为 ADR。
14 附录
A 任务卡模板
B M0 权限点清单(规划,最终以 packages/shared 为准)
| 模块 |
权限点 |
说明 |
| identity |
user:view / user:manage |
用户查看 / 增改停用转交 |
| identity |
role:view / role:manage |
角色查看 / 增改与授权 |
| client |
customer:view / customer:manage |
客户查看 / 增改 |
| client |
customer:transfer |
客户转交 |
| client |
customer_group:manage |
客户组管理 |
| client |
customer_field:apply / customer_field:approve★ |
字段申请 / 审批 |
| industry |
industry_pack:view / industry_pack:edit |
行业包查看 / 编辑 |
| industry |
industry_pack:review / industry_pack:publish★ |
审核 / 发布 |
| catalog |
brief_card:view / brief_card:edit |
要素卡 |
| catalog |
script_template:view / script_template:edit |
脚本模板 |
| catalog |
asset:view / asset:edit / asset:delete |
资产(被引用仅停用) |
| media |
media:view / media:generate |
任务查看 / 提交(任务中心复用) |
| delivery |
export:create★ |
导出 |
| platform |
dict:manage |
字典(A2 定稿目录,单权限点覆盖查看 / 编辑) |
| platform |
ai:view / ai:configure★ |
AI 配置 |
| platform |
audit:view★ / audit:export★ |
审计查看 / 导出(均为特殊权限) |
| platform |
system:configure |
系统配置 |
★ = 特殊权限,默认关闭,不随角色复制带入。PRD §5.4.3 另有「跨客户复用授权」「批量删除」两项特殊权限;架构 §6.3 尚未给出权限点编码,计划在 M2/M3 启用前回写架构并补入(DP-14)。
C M0 页面清单
| 路由 |
页面 |
权限点 |
批次 |
/login |
登录 |
公开 |
A1 |
/system/users、/system/users/new、/system/users/:id |
用户与部门 |
user:view / user:manage |
A1 |
/system/departments |
部门管理(两级组织树、停用/启用) |
user:view / user:manage |
A1 |
/system/roles、/system/roles/:id |
角色管理 |
role:view / role:manage |
A2 |
/system/industries |
行业管理 |
customer:read / customer:manage |
A3 |
/system/customers、/system/customers/new、/system/customers/:id |
客户管理 |
customer:view / customer:manage |
A3 |
/system/customer-groups |
客户组 |
customer_group:manage |
A3 |
/system/customer-fields/approvals |
字段审批 |
customer_field:approve |
A3 |
/system/dicts、/system/dicts/:type |
字典 |
dict:manage |
A4 |
/system/settings |
系统配置 |
system:configure |
A4 |
/system/audit-logs、/system/audit-logs/:id |
审计 |
audit:view |
A5 |
/material/tasks、/material/tasks/:id |
任务中心 |
media:view / media:generate |
A6 |
/system/ai(后续 /system/ai/providers 等) |
AI 配置 |
ai:view / ai:configure |
A7 |
/system/industry-packs、/system/industry-packs/:id/versions/:ver |
行业包与设计器 |
industry_pack:* |
B0–B2 |
/assets/library、/assets/library/:id |
资产包 |
asset:* |
B1 |
/scripts/framework-cards、/scripts/framework-cards/new、/scripts/framework-cards/:id |
要素卡 |
brief_card:* |
B2 |
/scripts/templates |
脚本模板 |
script_template:* |
B2 |
/delivery/export、/delivery/records、/delivery/records/:id |
导出与归档 |
export:create |
B3 |
/403、/404 |
异常页 |
公开 |
A0 |
D 接口清单
以技术架构 §6.3 为准;M0 需要实现:GET /health(运维探针,架构未列)、GET /me、POST /auth/refresh、POST /auth/logout、GET /permissions、POST /users/{id}/transfer-customers、POST /customers/{id}/apply-industry-pack、GET /dicts/{type}/items(除 /health 外均见架构 §6.3)。模型管理随 /ai/providers 嵌套实现,见 §7.7 注。
E 术语
| 术语 |
含义 |
| 行业包 |
一个行业的内容知识资产(字段 / 术语 / 模板 / 规则),可版本化发布 |
| 要素卡 |
单条素材的输入卡(核心信息 / 卖点 / 必含项 / 禁忌项),脚本生成上游 |
| 快筛 |
人工对素材逐条打标(合格 / 待修 / 淘汰 + 理由) |
| 低质量产出 |
标注 low_quality + 原因码的产出,不按成功静默交付 |
| ScopeContext |
请求作用域上下文(用户 / 角色 / 数据范围 / 客户),所有数据访问必带 |
| 特殊权限 |
默认关闭、需单独授予的高危权限(导出 / AI 配置 / 审计 / 发布等) |
| EPD |
人日(Effort Person-Day) |
| Lead / Worker |
Harness 编队中的协调者与执行者 |
F 修订记录
| 版本 |
日期 |
变更 |
| V0.1 |
2026-11-02 |
初稿:范围、编队、批次、WBS、七个管理模块专项、联调、门禁、风险、验收、待确认 |
| V0.1(补全) |
2026-11-02 |
按用户确认补全为全项目 M0–M4:M1–M4 增加迭代级 + 任务组级 WBS;补 M4 交付闭环、M5 预研边界、全项目完工定义;待确认增至 DP-18 |
本计划与 PRD V1.6、技术架构 V0.4 配套使用;冲突时以 PRD → 技术架构 → 工程规范 → 本计划为序。