Files
xiaoxia-saas/docs/infrastructure-keep-rebuild-matrix.md
T
Xiaoxia AI b5a62ee9a3 feat: initial SaaS scaffold
- domain: User, Workspace, Project, AssetLibrary, Asset, IngestJob
- ports: repository interfaces
- application: use cases
- adapters: in-memory
- API: FastAPI 5 routes
- worker: Celery ingest_asset
- tests: 4 passing
2026-06-15 15:17:40 +08:00

5.2 KiB
Raw Blame History

基础设施保留 / 废弃 / 重建清单(第一版)

本文档定义新 SaaS 项目启动时,哪些基础设施继续保留,哪些只保留经验不保留实现,哪些必须全新重建。


1. 分类原则

基础设施分为三类:

  1. 保留:直接作为新项目资产继续使用
  2. 废弃实现,仅保留经验:旧实现不进入新主线,但经验可复用
  3. 必须重建:新 SaaS 需要重新搭建

2. 保留清单

2.1 代码仓库

  • 保留项Gitea
  • 原因:已经是稳定的代码真相源,具备提交、历史、协作、推送能力
  • 新项目做法:新 SaaS 使用新的独立仓库或独立主目录,不与旧桌面版混线

2.2 CI/CD 思路和经验

  • 保留项:自动检查、测试、构建、发布的工程理念
  • 原因:这是正规软件必须保留的工程资产
  • 新项目做法:重建适合 Web/SaaS 的流水线

2.3 巡检机器人思路

  • 保留项:巡检、告警、状态监控思路
  • 原因:线上系统比桌面工具更需要健康巡检
  • 新项目做法:转为 SaaS 服务、任务、队列、磁盘、worker 的巡检

2.4 服务器与开发环境

  • 保留项Windows 开发机、Ubuntu 服务器
  • 原因:开发和部署基础已有
  • 新项目做法:重新按 SaaS 需要规划开发/测试/生产用途

3. 旧实现废弃,但经验保留

3.1 Tkinter 桌面 UI 工程结构

  • 旧实现Tkinter 主窗口 + 单体 GUI 文件
  • 处理方式:废弃为新主线实现
  • 保留经验:哪些业务交互复杂、哪些模块最容易耦合

3.2 安装版同步 / 发布脚本

  • 旧实现deploy_to_installed.py、安装版同步链
  • 处理方式:不带入新 SaaS 主线
  • 保留经验:发布必须有清单、运行时文件必须明确登记

3.3 桌面版更新体系

  • 旧实现:本地补丁、manifest、rollback
  • 处理方式:不直接复用
  • 保留经验:版本状态、回滚、失败恢复、补丁安全校验思路

3.4 临时修复脚本文化

  • 旧实现:一批为临时问题而生的脚本
  • 处理方式:明确不继承到新主线
  • 保留经验:哪些问题容易高频复发,需要产品级能力解决

4. 必须重建的基础设施

4.1 新项目仓库结构

必须重建:

  • 新仓库目录结构
  • 前后端分层结构
  • 文档结构
  • 基础模块布局

4.2 Web/SaaS CI/CD 流水线

必须重建:

  • 前端构建
  • 后端测试
  • 镜像/部署包构建
  • 测试环境部署
  • 正式环境部署
  • 回滚流程

4.3 鉴权体系

必须重建:

  • 用户认证
  • 会话管理
  • 权限控制
  • 团队/工作区边界(如果需要)

4.4 存储体系

必须重建:

  • 对象存储 / 素材存储方案
  • 数据库存储方案
  • 结果文件管理方案
  • 清理和归档策略

4.5 任务体系

必须重建:

  • 任务队列
  • 异步生成任务
  • 重试机制
  • 状态追踪
  • worker 管理

4.6 观测性体系

必须重建:

  • 日志
  • 指标
  • 告警
  • 错误追踪
  • 健康检查

4.7 配置与密钥管理

必须重建:

  • 环境变量规范
  • 密钥注入方式
  • 不同环境配置管理
  • 敏感信息隔离

5. 项目推进器要不要

结论

要,但先轻量,不要一开始就搞太重。

轻量方案即可支撑初期

  • 需求清单
  • 里程碑
  • issue / 任务列表
  • 发布记录
  • 架构文档

暂时不需要的重型能力

  • 复杂流程引擎
  • 重度项目管理系统
  • 过度自动化的工单流转

6. 巡检机器人要不要

结论

要保留,而且未来价值更大。

在新 SaaS 中的职责

巡检机器人未来可以检查:

  • API 服务是否在线
  • 队列是否堆积
  • worker 是否离线
  • 生成失败率是否异常
  • 存储空间是否异常
  • 数据库连接是否异常
  • 定时任务是否失效

定位

  • 它是运维和健康检查系统的一部分
  • 不是业务开发主流程的一部分

7. CI/CD 要不要

结论

必须保留,而且必须升级。

新 SaaS 项目里必须具备的能力

  • 代码检查
  • 自动测试
  • 构建
  • 测试环境部署
  • 正式环境部署
  • 回滚

原则

  • 新项目不能没有 CI/CD
  • 但 CI/CD 流程必须服务于 SaaS,不是延用桌面版套路

8. 当前建议的基础设施策略

立即保留

  • Gitea
  • 现有 CI/CD 思路
  • 巡检机器人思路
  • 服务器资源

立即停止依赖旧实现

  • 桌面版发布链
  • 安装同步链
  • Tkinter 工程结构
  • 临时修复脚本文化

接下来优先重建

  1. 新项目仓库结构
  2. SaaS CI/CD
  3. 鉴权体系
  4. 存储体系
  5. 任务体系
  6. 观测性体系

9. 当前阶段结论

新 SaaS 项目不是从零开始,因为我们有:

  • 仓库
  • CI/CD 经验
  • 巡检经验
  • 服务器
  • 业务规则
  • 稳定性治理经验

但新 SaaS 也不能“沿用旧系统实现”,因为:

  • 桌面架构不适合作为未来主线
  • 发布方式完全不同
  • 任务模型完全不同
  • 存储模型完全不同
  • 用户和权限模型未来也会不同

所以正确策略是:

  • 保留资产
  • 废弃旧实现
  • 重建 SaaS 所需基础设施