Files
xiaoxia-saas/docs/CURRENT-RELEASE-SURFACE.md
T
Xiaoxia AI 0354ad65d2
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Deploy Production (push) Failing after 2045h25m46s
Deploy / Build Production Runtime Images (push) Failing after 2045h25m50s
docs(release): close package one boundary validation
2026-06-23 10:04:56 +08:00

6.9 KiB
Raw Blame History

当前发布面清单

最后更新:2026-06-23
生产基线:v0.1.18
公网 Web:https://saas.xiaoxiajianji.com/
公网 API:https://saas-api.xiaoxiajianji.com/


1. 当前定位

当前 SaaS 版是视频处理/自动生成 MVP,已打通:

登录 → 工作空间 → 项目 → 素材库 → 上传素材 → 生成真实 MP4 → 下载成片。

当前版本不是完整智能自动剪辑平台。旧版桌面软件中的素材诊断、标题库、成片历史、模板编排、ASR/TTS/BGM/转场等能力,已进入后续升级路线,但不属于当前已开放能力。


2. 已开放并已验证

2.1 账号与认证

  • 用户注册。
  • 用户登录。
  • 获取当前用户 /auth/me。
  • 401 时清理前端过期登录态。
  • 刷新/直接进入受保护页面时校验本地 token。

生产验证:

  • public_auth_flow=ok

2.2 工作空间

  • 创建工作空间。
  • 查询工作空间列表。
  • 进入工作空间详情。
  • 工作空间成员基础权限校验。

生产验证:

  • 公网 auth smoke 中 /workspaces 返回 200。

2.3 项目

  • 创建项目。
  • 查询项目。
  • 通过项目详情恢复 workspace 上下文。
  • 进入项目素材页、生成页、结果页。

生产验证:

  • 项目详情 smoke 已通过。
  • 直接 URL/刷新后的项目上下文恢复已修复并发布。

2.4 素材与素材库

  • 创建项目级素材库。
  • 上传单个素材。
  • 批量上传素材。
  • 上传后创建 ingest job。
  • 查询 ingest job 状态。
  • 素材上传会校验 workspace/project/library 归属关系。

生产验证:

  • public_upload_flow=ok
  • public_batch_upload_flow=ok

2.5 视频生成

  • 创建生成任务。
  • Worker 异步执行生成。
  • 轮询生成任务状态。
  • 生成真实 MP4。
  • 生成失败提示已初步人话化。
  • Worker 生产默认并发限制为 1,降低小机器 FFmpeg 并发风险。

生产验证:

  • public_generation_flow=ok

2.6 成片下载

  • 查询生成结果。
  • 获取下载 URL。
  • 公网下载 MP4。

生产验证:

  • 下载响应 Content-Type: video/mp4。

2.7 权限边界

当前已验证:

  • 匿名访问 /auth/me 返回 401。
  • 匿名访问工作空间返回 401。
  • 匿名访问项目详情返回 401。
  • 非成员访问他人项目返回 403。
  • 非成员访问他人素材库返回 404。
  • 非成员上传到他人项目/素材库返回 403。
  • 匿名访问素材列表返回 401。
  • 非成员访问他人素材列表返回 403。
  • 匿名访问生成任务返回 401。
  • 非成员访问他人生成任务返回 403。
  • 非成员访问他人生成结果返回 403。
  • 非成员访问他人成片详情/下载 URL 返回 403 或 404。

生产验证:

  • public_boundary_flow=ok,覆盖 project、asset-library、assets、upload、generation task、generation results、generated video download 边界。

2.8 生产发布与监控

  • 生产发布使用 tag 触发。
  • runtime-builder 构建 API/Worker 镜像和 Web 产物。
  • 生产机只接收 artifact、docker load、迁移数据库、重启容器和健康检查。
  • 生产 API /health 返回真实发布版本。
  • 生产 Worker 默认 WORKER_CONCURRENCY=1。
  • 生产资源巡检 cron 已启用,每 5 分钟写入 /var/lib/xiaoxia-ci/duty_report.json。

生产验证:

  • https://saas-api.xiaoxiajianji.com/health 返回 version: v0.1.18。
  • 最新巡检报告显示 API/Web/容器/版本正常,但内存偏低为 warning。

3. 明确暂未开放

这些功能未完成后端闭环,必须禁用或显示“暂未开放”,不得假成功。

  • 订阅升级、支付、配额变更。
  • 账单、发票、账单下载。
  • Admin 后台:用户管理、数据分析、系统监控、日志查看。
  • Profile 高级设置:资料编辑、通知偏好、账号安全、会话管理。
  • 全局项目列表。
  • 全局成员管理。
  • 完整标题库。
  • 素材智能视图:推荐、慎用、高风险、未使用、最近使用。
  • 素材缺口诊断。
  • 成片历史管理、封面预览、批量下载、复核状态。
  • 统一任务中心和任务重试。
  • 模板编排和剪辑计划预览。
  • ASR 字幕、TTS 配音、BGM 混音、转场包装。

4. 发布门禁

  • 生产 Web 使用预构建 artifact,不在生产机执行前端构建。
  • 生产部署默认跳过 API/Worker 镜像构建。
  • API/Worker 只能由 runtime-builder 构建运行时镜像。
  • 生产 Web /api 必须代理到 xiaoxia-api-production:8000。
  • API/Worker 发布后必须 force recreate Web,避免 Nginx 静态 upstream 缓存旧 API 容器 IP。
  • 未实现后端的功能不得接入 UI 调用;按钮必须禁用或页面必须显示“暂未开放”。
  • 公网发布后必须至少运行:
    • python scripts\smoke_public_auth_flow.py
    • python scripts\smoke_public_upload_flow.py
    • 公开生成 smoke。
    • python scripts\smoke_public_boundary_flow.py
  • /health 版本必须等于当前生产 tag。
  • 资源巡检报告如有 alerts,不得忽略。

5. 已有防回归测试

  • apps/web/src/api/auth.test.ts:认证用户字段归一化,防止 user_id/email_verified 与 id/is_email_verified 漂移。
  • tests/unit/test_release_scripts.py:生产 artifact 部署、生产 Nginx 代理、Web recreate、runtime builder、版本注入、Worker 并发限制等门禁。
  • tests/unit/test_production_resource_monitoring.py:生产资源巡检脚本和 heartbeat 报告契约。
  • tests/integration/test_projects.py:项目详情和 workspace 上下文恢复。
  • scripts/smoke_public_auth_flow.py:公网注册、登录、/auth/me、/workspaces smoke。
  • scripts/smoke_public_upload_flow.py:公网工作空间、项目、素材库、上传和 ingest smoke。
  • scripts/smoke_public_boundary_flow.py:公网匿名/非成员访问 project、asset-library、assets、upload、generation task、generation results、generated video download 边界 smoke。

6. 当前已知风险

6.1 生产机规格偏小

现状:

  • CPU:2 核。
  • 内存:约 1.7GiB。
  • swap:已补 2GiB。
  • 根分区:约 40GiB,最近巡检约 79%。

影响:

  • 资源抖动可能导致 TLS/SSH/业务入口超时。
  • swap 和 Worker 并发限制是缓解,不是长期扩容替代。

建议:

  • 生产机升级到至少 4GiB,推荐 8GiB。

6.2 Gitea 仍与生产业务同机

现状:

  • 构建任务已拆到 runtime-builder。
  • Gitea 服务本体仍在生产业务机。

影响:

  • Git/Gitea 与生产业务共享 CPU、内存、磁盘和网络入口。
  • 单机故障会同时影响代码仓库、发布入口和生产业务。

建议:

  • 后续迁移 Gitea 到独立服务器,或升级当前生产机后再拆分。

7. 下一步

  1. 执行真实浏览器 UAT:登录 → 工作空间 → 项目 → 批量上传 → 生成 → 下载。
  2. 处理生产资源长期风险:升级生产机或迁移 Gitea。
  3. 进入开发包 2:素材智能视图与素材缺口诊断。