# 基础设施保留 / 废弃 / 重建清单(第一版) 本文档定义新 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 所需基础设施**