# 实施阶段、工作分解与验收 ## 1. 当前交付边界 本轮只产出设计文档、源码研究和真实模型生图,不创建业务工程、不迁移数据库、不安装产品依赖、不执行参考仓库测试。下文测试是**未来实现团队的验收要求**,不是宣称已经完成的测试结果。 上述为最初设计交付的历史边界。后续已按用户要求开始 `apps/api` 的 NestJS MVC 基础工程与 PM2 管理;本阶段只验证基础配置、HTTP、schema 和进程管理,不创建业务表、不联调真实数据库/七牛,不执行本文件的商业上线验收。基础工程的测试不能代替 AC-01~AC-28。 ## 2. 建议团队与估算方式 建议至少有产品/设计责任人、2 名 TS 全栈/后端、1 名前端和软测/运维支持;角色可以兼任,但资金与安全必须有独立复核。先完成关键接入证明再估全量工期。 在上游协议明确、支付资质到位、范围不扩张的前提下,完整首版可先按 **10~16 周的粗略规划区间**评估;这不是承诺。视觉编辑器、支付审核、内容合规和不确定上游协议可能显著延长,不能简单按页面数量排期。 ## 3. 阶段与出口 | 阶段 | 主要工作 | 必须拿出的证据 | | --- | --- | --- | | A0 范围与合同 | 商标与域名核验、首发地区、支付、具体网关版本、价格单位、P0 锁定 | 待决项清单有负责人,阻塞项有决议 | | A1 垂直技术证明 | 零配置初始化、管理员渠道、四类真实 API、单个任务、账本原型 | 一条真实远程生成与结算链,不是 mock | | A2 内容与资产 | 账户、项目、剧本版本、资产、镜头准备、上传 | 有归属校验和版本影响演示 | | A3 可靠生产 | 提交身份、Outbox、轮询、回调、转存、恢复、批次 | 故障注入不会重复付费/重复扣费 | | A4 成片闭环 | 音频、基础时间线、预览、渲染、字幕、下载 | 一个完整短剧样本可回溯全部输入与费用 | | A5 商业闭环 | 正式支付、对账、风控、管理后台、退款 | 支付与资金异常可核对、可恢复 | | A6 灰度上线 | 安全、压力、备份、监控、内容条款和支持流程 | 上线门禁与回滚演练完成,限制用户规模 | 阶段可并行,但不能在资金和上游身份未证明前就扩大付费灰度。 ## 4. P0 工作包 ### WP-01 平台基础 身份、会话、安全响应头、工作区隔离、权限、审计、OpenAPI、数据库迁移、七牛云 Kodo 存储接入、配置与 Secret 边界。复用用户已准备好的六项 `QINIU_*` 配置,不重新选择存储服务。首个管理员无默认密码。 ### WP-02 渠道与目录 零连接数据库、草稿、凭据写入与轮换、连接检测、付费测试批准、产品模型、能力/参数 schema、价格和发布版本。New API 首发版本的所有真实差异形成验证矩阵。 ### WP-03 资金与执行 报价快照、批准、资金预留、双分录账本、幂等执行、Outbox、任务阶段、submit fence、external ID、核对工单与结算恢复。禁止 Worker 自己改余额。 ### WP-04 创作内容 项目/分集、故事简报、剧本候选与确认、角色场景道具、参考图、分镜、版本引用与依赖过期。AI 助手工具只能走受控计划。 ### WP-05 媒体与成片 四类远程能力的首发实现、语音、上传、转存、探测、缩略图、任务中心、粗剪时间线、受控 FFmpeg、字幕、成片与打包下载。 ### WP-06 交易与运营 一个正式支付商、一个明确币种、套餐发布、付款核对、积分发放、补偿/退款、用户管理、内容审核、支持工具、成本与用量报表。 ## 5. 端到端验收矩阵 | 编号 | 情境 | 预期证据 | | --- | --- | --- | | AC-01 | 全新数据库安装 | 无渠道、地址、key;普通生成不出站、不冻结;管理员页可用 | | AC-02 | 管理员添加聚合网关 | 配置写数据库且加密;四能力各自验证后才开放 | | AC-03 | 普通用户请求后台 | 403;无法读地址、密钥和进价 | | AC-04 | 跨工作区访问项目/引用/SSE/签名下载 | 被拒,且不泄露对象存在性 | | AC-05 | 报价后改剧本/参数/数量 | 确认失效,要求重报;不按新输入偷偷执行 | | AC-06 | 同一幂等 key 连续/并发提交 | 只创建同一执行,只冻结一次 | | AC-07 | 同 key 不同输入 | 明确冲突,不自动换 key 重发 | | AC-08 | 并发消费总额超余额 | 不透支、不重复账、不丢执行 | | AC-09 | Worker 在发送前/后崩溃 | 能区分未发与未知;不重提未知付费请求 | | AC-10 | 已拿 external ID 后重启 | 只恢复同一 ID 的查询 | | AC-11 | 上游成功、下载中断 | 只重做转存,不调用第二次生成 | | AC-12 | 上游 429/500/断连 | 不从 HTTP 状态推断未受理,按 adapter 证据分类 | | AC-13 | 回调重复、乱序、伪造 | 验签/主动查询;结果和账本不回退或重复 | | AC-14 | Redis 清空或重启 | DB 可恢复调度,旧 submit fence 不被清除 | | AC-15 | 两 Worker 同时 claim/旧 lease 复活 | 只有合法持有者可发首次请求 | | AC-16 | 用户取消排队/处理中任务 | queued 可取消解冻,已受理不承诺退款省费 | | AC-17 | 发布渠道新地址/轮换 key | 新计划使用新版本,旧任务保持原执行身份 | | AC-18 | 上游内容拒绝/上游欠费 | 不换渠道绕过、不把平台欠费解释成用户余额不足 | | AC-19 | 部分批次成功 | 成功项不重跑,失败恢复与新生成分开 | | AC-20 | 产物已登记、结算失败 | 可交付结果保留,资金待结;不再生成 | | AC-21 | 重复支付通知、前端伪成功 | 仅官方验证事实发放,一次付款只发一次 | | AC-22 | 支付/退款请求超时 | 查询原商户身份,不重复收费/重复退钱 | | AC-23 | 待核对超期后迟到成功 | 按已公示兜底处理,不未经授权再扣 | | AC-24 | 恶意 URL、重定向、DNS 重绑定 | 实际连接被拦截,key 不跨域外泄 | | AC-25 | 大文件/恶意媒体/命令字符 | 有资源限制和参数化执行,无路径或 shell 逃逸 | | AC-26 | 文本流中断和 usage 缺失 | 保留事实,按合同核对,上限不被突破 | | AC-27 | 真实故事到成片 | 所有步骤、素材、版本、价格和账本可关联 | | AC-28 | 数据库+资产+密钥恢复演练 | 可验证恢复完整性,付费窗口先核对再开放 | ## 6. 界面验收 从空态开始走完整旅程,覆盖键盘、可读对比度、小屏查看、断网、保存冲突、任务重连、引用失效与积分不足。检查每个概念图中尚未在 P0 落地的按钮不会提前展示为正式服务;“自动对齐”“订阅升级”等必须按文字规格处理。 ## 7. 测试策略建议 | 层次 | 重点 | 不足以证明什么 | | --- | --- | --- | | 静态/类型 | DTO、schema、生成客户端和契约一致 | 不能证明账本并发正确 | | 单元 | 价格单位、规范化、权限判定和状态转换 | 不能证明真实网关兼容 | | 数据库集成 | 唯一约束、行锁、事务、Outbox、账本守恒 | 不代替远程副作用故障注入 | | 适配器契约 | 实际接口样本、状态、用量、错误与媒体格式 | 不能只用自制 mock 声称支持上游 | | 端到端 | 真实用户、支付沙箱、四模态与成片 | 成功一次不等于所有失败窗口可恢复 | | 安全/韧性 | 双 Worker、崩溃、SSRF、重放、恢复备份 | 不是仅跑一遍构建 | 付费真实测试必须有测试账户、显式预算和结果收据;测试数据与生产凭据隔离。任何测试计划都不能预置真实 API key/baseUrl 到产品初始数据库。 七牛存储验收在实现后使用隔离测试前缀与受控小文件完成:检查六项环境配置校验、地域与空间匹配、受限直传、文件校验、私有预览/下载、链接过期、CDN/源站无匿名旁路、跨工作区拒绝、重复入库不覆盖和删除清理。用户已准备配置不代表这些集成测试已完成;本轮只修改文档,不触发上传、删除或云资源调整。 ## 8. 风险登记 | 风险 | 优先级 | 应对 | | --- | --- | --- | | 具体 New API 视频协议未确定 | 高 | A0/A1 先锁版本与四模态真实样本 | | 上游模糊受理/重复收费 | 极高 | fence、原身份恢复、核对、关闭 SDK 自动重试 | | 支付资质/内容合规 | 高 | 负责人提前核验,不能上线后再补 | | 代码许可不适合收费 SaaS | 高 | 独立实现,逐组件法务审查,不直接 fork 受限产品 | | 时间线 scope 膨胀 | 高 | P0 仅粗剪,明确不做完整 NLE | | 角色连续性不稳定 | 中高 | 参考版本、试拍、人工选择,不保证模型效果 | | 视频成本与带宽超预期 | 高 | 样本测算、批次上限、候选数和容量控制 | | 单人承担资金/安全全部判断 | 高 | 必要复核与审计,灰度限额 | ## 9. 上线门禁 四模态真实联调;一条完整成片样本;AC-01~AC-28 有明确结果;零默认渠道与凭据审查;支付沙箱通过并完成正式配置核验;退款/核对工具可用;隐私/条款/内容标识规则评审;告警有人接;备份恢复与回滚演练完成;资金余额与账本一致;密钥不进入包、日志或前端。 灰度使用邀请或人数上限、单用户和全局预算,明确支持渠道与故障处理窗口。不要在运维与核对能力不足时开放无限注册与大额充值。 ## 10. 本轮文档验收 文档内部链接、源码引用、9 张图片及其尺寸/hash/生成记录可以检查;来源代码只读未改;未泄露用户中转地址或凭据;明确区分确认要求、建议和待决事项。文档验证通过不代表拟建平台的上述业务验收已经完成。