Files
xiaoxia-saas/docs/PHASE7-PROGRESS.md
T
2026-06-21 11:20:55 +08:00

156 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PHASE7-PROGRESS.md
**Phase**: Phase 7 - 核心视频剪辑业务
**状态**: ✅ 已完成(P0/P1/CI-CD/真实 FFmpeg 生成已生产验证闭环)
**最后更新**: 2026-06-21 00:01 GMT+8
---
## 一、Phase 目标
根据 `F:\openclaw-saas\docs\PHASE7-DESIGN.md`Phase 7 的目标是打通从:
- 上传素材
- 素材分类
- 发起生成
- 查看并下载成片
即完成 SaaS MVP 的核心视频剪辑主链路。
---
## 二、已完成交付清单
### 1. 核心业务能力
- [x] **素材管理**:上传、分类、查询、标签管理
- [x] **视频生成**:任务创建、自动触发 worker、真实 FFmpeg 生成、生成结果管理
- [x] **成片下载**:公网 `video/mp4` 成片 URL、规范化存储路径、宿主持久化
- [x] **前端联调**:生成页、结果页已接入并验证
### 2. 基础设施完善
- [x] 完整工业化开发体系文档已建立
- [x] 8 Agent 角色体系已定义
- [x] Git 工作流规范已确定并执行
- [x] Gitea Runner 已运行并通过真实任务验证
- [x] CI/CD 流水线已稳定(`.gitea/workflows/ci-cd.yml`
- [x] Staging 自动部署已验证成功
- [x] Production tag 发布门禁已验证为非 tag 正常跳过
- [x] 开发环境防跑偏收敛方案已建立
- [x] 启动链文档已修正到新标准
### 3. 技术债务清理
- [x] 代码 TODO 全部处理完成(session_id in JWT, repository injection
- [x] CI/CD 稳定性专项完成并合并
- [x] 领域模型收口完成
- [x] Repository 注入改为真实实现
- [x] 前端类型检查和构建链恢复
### 4. 测试验证
- [x] `tests/integration/test_asset_tags.py` 通过
- [x] `tests/integration/test_ingest_pipeline.py` 通过
- [x] `tests/integration/test_upload_pipeline.py` 通过
- [x] `tests/integration/test_classification_pipeline.py` 通过
- [x] `tests/integration/test_projects.py` 通过
- [x] `tests/integration/test_generation_pipeline.py` 通过
- [x] 前端 `type-check` 通过
- [x] 前端 `build` 通过
- [x] 真实 P1 smoke flow 通过:注册、登录、项目、素材库、上传、生成任务、成片结果
- [x] 真实 FFmpeg smoke flow 通过:`running → completed``result_count=1`、生成 5 秒 MP4
- [x] 公网成片下载验证通过:`HTTP 200``Content-Type: video/mp4`、MP4 文件头包含 `ftypisom`
- [x] 公网 `/health` 返回 200,服务版本 `0.1.0`
---
## 三、生产验证闭环(2026-06-20
### 1. P0 部署链路
- [x] split infrastructure 部署脚本已收口:`infra.yml` 管 Postgres/Redis`compose.yml` 管 API/Worker/Web
- [x] `bugfix/deploy-split-infra-ci` 已合并到 `develop`
- [x] Staging 自动部署验证成功:Gitea Runner `task 528``task 532``task 535`
- [x] 非 tag push 下 Production 部署按规则跳过:`task 529``task 533``task 536`
- [x] 当前公网健康地址为 `/health``/api/v1/health` 返回 404 属于预期
### 2. P1 业务主链路
- [x] 修复 worker 未注册 `worker.generate_video` 导致生成任务卡在 `pending` 的问题
- [x] `bugfix/worker-generate-video-task` 已合并到 `develop`
- [x] `worker.generate_video` 已从 `generated://...` 最小基线升级为真实 FFmpeg 生成
- [x] 真实 P1 smoke flow 已验证 `GenerationTask``completed``progress=100.0``result_count=1`
### 3. 真实 FFmpeg 生成闭环
- [x] `feature/real-ffmpeg-generation` 已合并到 `develop`
- [x] Worker 使用 FFmpeg 生成真实 MP4 文件:5 秒、1280x720、25fps
- [x] 无 OSS 配置时回退到本地 generated 文件持久化,不再因 `OSS_ACCESS_KEY_ID` 缺失失败
- [x] Nginx 已暴露 `/generated-files/` 静态路径,避免成片 URL 命中前端 HTML 假 200
- [x] Docker generated 文件卷已绑定到宿主机 `/var/lib/xiaoxia-saas-staging/generated`
- [x] 真实 smoke 验证结果:公网 URL 返回 `HTTP 200``Content-Type: video/mp4`、文件头包含 `ftypisom`
### 4. CI 根治优化
- [x] 诊断出 CI 慢根因:服务器到 PyPI 下载慢,`mypy==2.1.0` 大 wheel 造成 20+ 分钟等待
- [x] 新增预构建校验镜像 `xiaoxia-ci-python:3.12`
- [x] `.gitea/workflows/ci-cd.yml``.github/workflows/ci-cd.yml` 已同步使用预构建镜像
- [x] `chore/ci-prebuilt-python-image` 已合并到 `develop`merge commit `ba06c95`
- [x] Gitea Runner `task 534` 已在真实 CI 环境验证使用 `xiaoxia-ci-python:3.12`
- [x] CI 校验阶段从 20+ 分钟降到约 57 秒
---
## 四、遗留后续专项
以下问题不阻塞 Phase 7 完成,已纳入后续专项治理清单:
1. **数据库字段重命名**(当前通过映射兼容)
2. **测试覆盖率提升**
3. **监控告警体系完善**
4. **前端构建优化**
5. **OpenClaw 子 Agent runtime 修复**(当前暂停使用)
参考文档:`docs/SaaS-后续专项整治清单-2026-06-18.md`
---
## 五、执行策略总结
Phase 7 执行过程中的关键决策:
- **暂停 Agent 实跑**OpenClaw runtime 存在 continuation 问题,但不阻塞主线开发
- **保留全部开发规范**:文档链、Git/CI/环境规则、质量门禁全部保持运作
- **主会话直接推进**:在保持规范的前提下,由主会话直接完成开发
- **CI/CD 专项独立**:发现的 CI 问题单独立项修复,不混入业务提交
---
## 六、验证清单
如果新会话启动后问:
1. **当前 Phase 是什么?**
- 答:Phase 7 已完成 ✅
2. **Phase 7 交付了什么?**
- 答:核心视频剪辑主链路(上传→分类→生成→下载),CI/CD 稳定性修复,代码 TODO 清理
3. **下一步做什么?**
- 答:Phase 7 已收口;下一步进入 Phase 8/运营后台/监控告警/测试覆盖率等后续专项规划(参考 `docs/SaaS-后续专项整治清单-2026-06-18.md`
4. **当前进度文档路径是什么?**
- 答:`F:\openclaw-saas\docs\PHASE7-PROGRESS.md`
---
## 七、完成总结
**Phase 7 已全部完成**,核心视频剪辑业务主链路、P0 部署链路、P1 真实 smoke flow、CI/CD 自动化主链路、真实 FFmpeg 生成与公网成片下载均已打通并验证通过。
### 关键成果
- SaaS MVP 核心功能可用
- CI/CD 从不稳定收敛为可靠基础设施
- 代码质量债务清理完成
- 开发规范和文档体系建立完善
### 技术实现
- 领域模型:Asset / AssetLibrary / ClassificationJob / GenerationTask / GeneratedVideo
- 应用层:完整的 use case 和 repository 接口
- 基础设施:SQLAlchemy 持久化、Celery worker、OSS/本地 generated-files 存储、公开下载 URL
- 前端:React + TypeScript,生成页和结果页联调完成
**Phase 7 正式收口,可以进入下一阶段规划。**