9.9 KiB
Phase 0 后续执行计划
日期:2026-09-08
基线:V1_PLAN.md 第 13.3 节及本次 AUDIT.md、API_CONTRACT.md、DECISIONS.md
原则:只把有证据的能力标为完成;产品参数和环境参数未确认时保持待确认。
1. Phase 0 工作包状态
| 编号 | 状态 | 证据 | 遗留 |
|---|---|---|---|
| P0-01 | 已完成 | AUDIT.md:规则、Git、目录、启动说明和服务边界 |
上游 TTS 不在当前仓库,需授权联调 |
| P0-02 | 已完成 | AUDIT.md:框架、依赖、页面、接口、持久化和资产矩阵 |
所有业务模块均需新增 |
| P0-03 | 已完成(接口未核实) | API_CONTRACT.md:事实/目标分离和适配边界 |
缺上游协议、凭据、音色、参数和失败样例 |
| P0-04 | 已完成(资料有缺口) | AUDIT.md:品牌、网络拓扑和测试机条件 |
产品资料、域名、HTTPS、反向代理和服务未就绪 |
| P0-05 | 已完成(版本待定) | DECISIONS.md:目录、数据归属、会话、任务、CMS 和代理决策 |
运行时/依赖版本需验证 |
| P0-06 | 已完成(产品值待定) | 本文件:配置清单、依赖和阶段入口 | 额度、并发、超时、保留期和备份策略需确认 |
2. Phase 1 入口条件
必须先满足
- 选择并锁定 Web/API/CMS/Worker 的兼容版本,提交不含秘密的示例配置和可复现安装方式。
- 提供至少一组真实产品资料:名称、型号、图片、规格、应用场景和可公开文案;没有资料时只能做结构骨架,不能声称内容上线。
- 确认公司联系方式、正式域名/测试入口和 HTTPS 方案。
- 明确测试机运行方式:安装 Node.js/Python 依赖,或提供经批准的容器运行时。当前
flym的 sudo 需要交互密码,不能进行无授权安装。 - 明确测试数据、数据库、音频存储、备份位置和密钥注入方式,和生产隔离。
可并行推进
- 依据现有品牌参考建立设计令牌、色值、Logo 使用规则、字体回退和响应式断点。
- 建立公开官网页面骨架和本地结构化产品适配器,不伪造产品事实。
- 建立登录、注册、账户、TTS 和管理页面的加载/空/错误/禁用状态组件,但不把静态界面当成功能。
- 在上游信息到位后编写 TTS 适配器测试夹具,先验证请求映射和错误映射,再接入真实环境。
3. 后续阶段工作清单
Phase 1:视觉与官网骨架
P1-01已完成:建立品牌色、灰阶、字体、间距、按钮、输入、焦点和响应式变量,见app/globals.css和components/ui.tsx。P1-02已完成:建立当前 Web 骨架、导航、页脚、移动导航、通用容器和登录/账户入口。当前落点为仓库根目录 App Router,后续可迁入apps/web,不改变组件边界。P1-03已完成:实现以蓝牙、音频和智能硬件为主体的首页;AI Lab/TTS 仅作轻量入口。P1-04已完成:实现产品列表、详情模板、关于和联系页面,使用lib/content.ts集中管理的开发占位数据。P1-05已完成(布局):实现 TTS、认证、账户和管理页面状态结构;所有真实提交和操作均未启用,不显示假成功。P1-06已完成(静态/HTTP):完成 SEO metadata、404、键盘焦点、减少动效、响应式源码检查、构建和路由冒烟。真实浏览器截图待测试环境具备浏览器或授权自动化工具后补充。
交付证据:可运行 Web 骨架、页面检查记录和 docs/phase-1-report.md。动态认证、CMS 发布和真实 TTS 仍不在本阶段宣称完成。最小 LAN HTTP 部署方案已写入 Phase 1 报告。
Phase 1 当前可在本地继续开发,也可在测试机仅部署官网骨架。测试机部署前需准备 Node.js、用户目录、TCP/3000 局域网访问和必要安装权限;数据库、TTS、CMS、正式域名和 HTTPS 不作为本阶段部署前置条件。
最小测试部署已完成:http://192.168.199.22:3000/ 可访问,部署结果和人工视觉验收清单见 docs/phase-1-report.md。当前未配置自动重启、Nginx/Caddy、HTTPS 或生产服务。
部署改进待办:下一次部署改为保留目录结构的统一打包部署,自动携带并核对构建提交号、关键源码哈希、.next 构建时间、监听进程工作目录和页面版本标识;禁止再次通过逐个文件传输更新生产/测试站。
Phase 2:认证与权益基础
P2-01已完成:版本化迁移和 User、Session、PlanPolicy、MembershipGrant、QuotaAccount、UsageRecord、VerificationChallenge、审计表已建立。P2-02已完成:真实注册、登录、退出、当前用户、改密和可撤销会话已验证。P2-03已完成:权限、账号禁用、CSRF、Origin、同源入口和认证限流已实现并测试。P2-04已完成:有效 Plan、VIP 到期、额度周期和余额读取已实现;正式额度值仍待产品确认。P2-05已完成:账户页读取真实 API,支持账户、额度、退出和改密;TTS 历史保留真实空状态。P2-06已完成:验证服务抽象、开关、挑战过期和一次性消费已实现;未接渠道返回未启用。P2-07已完成:受控管理员初始化及服务层用户、会员、额度调整能力已部署并测试。
交付物:数据库迁移、认证接口、可用账户页、权益服务、测试部署和 docs/phase-2-report.md。TTS 生成、CMS 和完整管理界面仍分别属于 Phase 3/4。
浏览器闭环已通过:桌面 1440x900 和移动 390x844 完成注册、登录、账户额度、改密和退出页面操作。真实 TTS 上游资料仍未取得,见 docs/TTS_UPSTREAM_REQUEST.md。
Phase 3:TTS 与额度闭环
进入条件:Phase 2 认证/归属/权益可用,且获得真实上游联调权限和测试额度。
当前状态:任务、Worker、额度失败释放、历史、回放、下载和真实成功联调已完成;剩余工作集中于 Worker 异常矩阵、存储恢复、上游网络安全和旧 Web 退役前备份确认,详见 docs/phase-3-report.md。
P3-01依据API_CONTRACT.md建立音色、任务、音频模型和上游适配器。P3-02实现幂等、文本校验、限流、并发控制和额度冻结事务。P3-03实现 Worker 租约、超时、结果核对和有限重试。P3-04实现音频校验、私有存储、成功消费、失败释放和对账。P3-05接通工作台提交、轮询、结果和错误恢复。P3-06完成分页历史、详情、回放和下载,验证跨用户隔离。P3-07验证重复提交、额度争用、上游失败、存储失败、跨周期和重启恢复。
Phase 4:CMS 与管理后台
P4-01配置apps/cms、独立内容存储边界和受控 CMS 账号。P4-02实现 Product、Media、SiteSettings、HomeContent 及媒体/富文本安全限制。P4-03实现草稿、预览、发布、下架和缓存失效。P4-04实现用户查询、筛选、禁用/恢复和最后管理员保护。P4-05实现 VIP 授予/撤销、期限、额度调整和操作原因审计。P4-06实现 TTS 任务、使用汇总、失败信息和审计查看。P4-07完成产品发布及用户/VIP/额度/任务运营演练。
Phase 5:集成与上线准备
- 真实环境 HTTPS、反向代理、私网、持久卷和服务凭据。
- 外部验证 TTS、数据库、Redis、对象存储管理端和其他裸端口不可公开访问。
- 备份/恢复、Worker 重启、额度对账、音频恢复和回滚演练。
- 越权、CSRF、限流、敏感日志、草稿、音频授权、响应式、可访问性和 SEO 验收。
- 输出
DEPLOYMENT.md、OPERATIONS.md、ACCEPTANCE.md和 Phase 5 报告。
4. 待定配置清单
未获得产品/上游/容量依据前,以下值不能写成默认无限或永久:
| 配置 | 当前值 | 依赖/负责人 |
|---|---|---|
| Free 周期额度 | 待确认 | 产品负责人 |
| VIP 周期额度 | 待确认 | 产品负责人 |
| 额度周期 | 规划默认 UTC 自然月 | 产品确认;实现前固定 |
| 单次最大文本长度 | 待确认 | 上游限制 + 产品负责人 |
| 计量函数 | 规划为 Unicode 码点数,待与上游核对 | API/产品 |
| Free/VIP 并发 | 待确认 | 上游容量 + 产品负责人 |
| 注册/登录/TTS 限流 | 待确认 | 安全基线 + 压测 |
| 上游连接/读取/任务超时 | 待确认 | TTS 联调 |
| 最大重试次数 | 待确认 | 上游幂等和失败语义 |
| 音频保留期 | 待确认 | 产品/隐私/存储预算 |
| 原始文本保留期 | 待确认 | 产品/隐私 |
| 日志和审计保留期 | 待确认 | 运维/合规 |
| Session 有效期 | 待确认 | 安全与体验 |
| 密码 Argon2id 成本 | 待部署压测 | 测试机资源 |
| 数据库/音频备份保留 | 待确认 | 运维负责人 |
5. 阻断项清单
| 优先级 | 阻断项 | 解除条件 | 影响阶段 |
|---|---|---|---|
| P0 | TTS 接口事实缺失 | 提供已授权上游地址、脱敏协议和联调凭据 | Phase 2/3 |
| P0 | 测试机未安装应用栈 | 明确运行方式并授权安装/提供预装环境 | Phase 1 起部署验证 |
| P0 | HTTPS/域名未确定 | 提供测试域名或可信证书方案 | Phase 2 认证测试、Phase 5 |
| P1 | 产品资料缺失 | 提供真实图片、型号、规格、文案和联系方式 | Phase 1/4/5 |
| P1 | 备份位置和恢复责任未确定 | 指定隔离备份位置、保留期和负责人 | Phase 5 |
| P1 | sudo 需要交互密码 | 由管理员执行系统变更或配置受控运维权限 | 依赖安装/代理/持久服务 |
6. Phase 1 进入判定
当前 Phase 0 已完成文档交付,但尚不满足测试服务器部署和真实 TTS 联调条件。在不修改服务器服务的前提下,可以进入本地 Phase 1 页面骨架和设计系统;若要求 Phase 1 同步部署到 192.168.199.22,必须先解除“应用栈未安装、HTTPS 入口未确定、部署权限未确定”三个阻断项。