b5a62ee9a3
- 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
9.7 KiB
9.7 KiB
小虾 SaaS 重建启动方案
1. 背景与结论
当前桌面版代码已经不适合作为未来主线继续演进。
核心结论:
- 旧桌面版停止作为未来主线,不再继续做架构性重构。
- 新系统按 SaaS 版 重新开始开发。
- 目标不是“在旧系统上修补”,而是按正规软件工程方式做一个长期可维护、可扩展、可迭代的新系统。
- 旧代码只作为 业务参考样本、规则参考、流程参考,不再作为主开发容器。
- 新旧代码必须彻底隔离,避免再次混乱。
2. 总目标
做一个全新的 SaaS 系统,业务功能覆盖当前桌面版的核心能力:
- 素材库管理
- 配音库管理
- 素材分类与诊断
- 视频生成
- 批量生成
- 云同步
- 更新/版本机制(未来按 SaaS 方式重新设计)
- 任务进度与结果管理
目标要求:
- 可长期迭代
- 可多人协作开发
- 可上线部署
- 可观察、可回滚、可测试
- 不再回到“哪里报错改哪里”的状态
3. 基本原则
3.1 先定规则,再开始
在新项目开始编码前,必须先确认:
- 产品边界
- 一期范围
- 核心对象
- 核心流程
- 技术栈
- 架构分层
- 开发规范
- 发布规范
- AI 团队协作方式
3.2 新旧彻底隔离
- 旧桌面版代码继续保留,但只作参考
- 新 SaaS 项目必须在全新目录中开始
- 禁止把旧桌面版代码直接混入新系统主线
- 旧系统的安装脚本、Tkinter 逻辑、桌面发布链路不带入新主线
3.3 先盘点,再设计,再开发
执行顺序必须固定:
- 盘点现状
- 确认边界
- 明确规则
- 设计架构
- 搭项目骨架
- 分模块开发
- Review / 测试 / 部署
4. 新系统目标架构
采用:
- Clean Architecture
- MVVM / Presenter
- Ports / Adapters
目标分层:
Domain
↑
Application / Use Cases
↑
Ports
↑
Adapters
↑
Presentation (Presenter / ViewModel)
↑
Web UI / API / Worker
原则:
- 界面不写业务逻辑
- 业务逻辑不依赖框架
- 外部能力通过接口接入
- 任务、文件、存储、云服务全部可替换
5. 我们现在已有的资产
5.1 业务资产
- 现有桌面版就是最完整的业务样本
- 已经沉淀出大量业务规则和异常治理经验
- 已经明确的功能模块:
- 素材库
- 配音库
- 批量生成
- 云同步
- 素材分类
- 缺口诊断
- 更新治理
- 稳定性治理
5.2 工程资产
- Gitea 代码仓库
- CI / 基础自动化能力
- 巡检机器人
- 项目推进经验
- 既有测试体系雏形
- 架构规约基础文档
5.3 人和协作资产
- 你负责产品方向和最终拍板
- 小虾负责技术架构、拆解、规范、收口
- 已经形成连续迭代经验
6. 我们明显还缺的东西
6.1 产品边界
还需要明确:
- SaaS 面向谁
- 是个人 SaaS 还是团队 SaaS
- 是否多租户
- 是否有角色权限系统
- 是否有套餐/支付
6.2 系统边界
还需要明确:
- 素材文件存在哪里
- 视频生成在哪里跑
- 任务如何调度
- 节点/worker 怎么管理
- 哪些功能是一期,哪些延后
6.3 技术边界
还需要明确:
- 前端框架
- 后端框架
- 数据库
- 队列系统
- 对象存储
- 鉴权方式
- 部署方式
- 监控和日志方案
7. AI 团队工具怎么来
7.1 原则
前期 不自研 AI 平台。
策略:
- 直接购买/使用现成 AI 工具
- 我们自己做的是协作机制、流程和规则
- 工具是能力来源,制度才是稳定产出的关键
7.2 工具来源分类
编码类 AI
用于:
- 写代码
- 重构
- 补测试
- 查仓库
- 做具体模块实现
候选工具:
- Codex / Codex CLI
- Claude Code
- Cursor
- Windsurf
通用大模型类
用于:
- 需求整理
- 架构讨论
- 文档撰写
- 方案对比
- 总结与沟通
候选工具:
- ChatGPT
- Claude
- Gemini
UI / 原型类
用于:
- 页面草图
- 交互流程
- 组件原型
- 设计样稿
候选工具:
- Figma
- Figma AI
- v0
- Lovable
协作 / 自动化基础设施
用于:
- 代码托管
- 持续集成
- 告警巡检
- 发布流程
- 项目推进
保留资产:
- Gitea
- CI/CD
- 巡检机器人
- 轻量项目推进机制
7.3 工具获取顺序
第一批先具备:
- ChatGPT / Claude
- Cursor 或同类编码 AI IDE
- Figma
- 保留现有 Gitea / CI / 巡检机器人
第二批按需要补:
- v0 / Lovable
- 专门 Review / QA 的 AI 会话体系
- 更完整的测试辅助和流程自动化工具
7.4 工具不是越多越好
关键不是堆模型,而是:
- 谁负责什么
- 谁来拍板
- 谁来 review
- 谁来回归
- 所有人是否围绕同一套真相文档工作
8. AI 团队角色分工
8.1 人类角色
你(产品负责人)
负责:
- 方向
- 目标
- 优先级
- 体验偏好
- 最终拍板
小虾(技术负责人 / 总协调)
负责:
- 架构方案
- 任务拆解
- 规范制定
- 边界约束
- 技术决策收口
- 最终合并口径
8.2 AI 角色
UI 设计 AI
负责:
- 页面结构
- 交互流
- 页面草图
- 视觉方案辅助
编码 AI
负责:
- 前端实现
- 后端实现
- 基础模块实现
- 脚手架和具体模块开发
Review AI
负责:
- 代码审查
- 风险检查
- 架构偏移检查
- 规范一致性检查
QA / Bug AI
负责:
- 复现问题
- 补测试
- 回归验证
- 测试建议
文档 AI
负责:
- PRD 草稿
- 接口文档
- 架构文档
- 发布说明
- 迁移说明
8.3 协作铁律
- 一个问题只有一个 owner
- 架构只能由一个统一 owner 维护
- 写代码的人不能代替 Review
- 修 bug 的人不能代替 QA
- 所有 AI 输出必须围绕统一文档体系
9. 现有基础设施去留
9.1 保留
- 代码仓库(Gitea)
- CI/CD 理念和流程能力
- 巡检机器人
- 项目推进机制(轻量化)
9.2 不照搬
- 旧桌面版安装/同步/发布链路
- Tkinter 相关工程结构
- 旧系统临时修补脚本文化
- 为兼容旧桌面版而存在的特殊逻辑
9.3 新系统要重建的基础设施
- 新项目仓库结构
- 新 CI/CD 流水线
- 新日志/监控/告警规范
- 新部署流程
- 新测试流程
10. 每一步怎么走
第 1 步:盘点现状
盘 4 张表:
- 我们现在已有的功能
- 我们已有的工程资产
- 我们已有的工具
- 我们缺少的能力和基础设施
第 2 步:确认产品边界
确认:
- SaaS 给谁用
- 单人还是团队
- 多租户是否需要
- 一期和后续范围怎么划分
第 3 步:确认核心对象
确认是否保留和如何设计:
- 用户
- 团队 / 工作区
- 项目
- 素材库
- 配音库
- 生成任务
- 成片
- 任务节点 / worker
- 版本 / 发布对象
第 4 步:确认核心流程
要把这些完整走通:
- 上传素材
- 素材分类
- 配音管理
- 生成任务
- 批量生成
- 结果查看
- 下载/发布
- 后台任务监控
第 5 步:确认技术栈
需要明确:
- 前端
- 后端
- 数据库
- 队列
- 对象存储
- 鉴权
- 部署方式
- 监控日志
第 6 步:确认制度
包括:
- 目录结构
- 代码规范
- 接口规范
- 数据模型规范
- 提交流程
- 发布流程
- AI 协作流程
第 7 步:定义 MVP
列出:
- 一期必须做什么
- 可以延后什么
- 明确不做什么
第 8 步:再开始搭骨架
包括:
- 新项目目录
- 前后端工程骨架
- 数据库迁移体系
- CI/CD 初版
- 日志与配置体系
第 9 步:模块化开发
严格按架构和边界执行。
第 10 步:Review / QA / 上线
必须经过:
- Code Review
- 自动化测试
- 回归验证
- 预发布验证
- 正式发布与监控
11. 制度怎么落实
制度 1:先文档后开发
没有边界、架构、一期范围确认,不开工。
制度 2:单一真相源
必须建立统一文档源:
- PRD
- 架构文档
- 数据模型
- API 文档
- 里程碑
制度 3:架构 owner 唯一
- 架构由小虾负责收口
- 你负责最终确认
- 其他 AI 不得随意改方向
制度 4:AI 不直接上线
AI 产出必须经过:
- Review
- 测试
- CI
- 验收
制度 5:禁止临时修补进入主线
- 所有变更必须走既定流程
- 不允许口头规则替代正式规则
制度 6:一次只处理一个阶段问题
- 先定需求
- 再定架构
- 再定页面
- 再开发
- 再测试
制度 7:发布必须可回滚
- 每次上线必须可回滚
- 必须有监控与告警
制度 8:新旧彻底隔离
- 旧项目只参考
- 新项目主线独立开发
12. 当前最重要的下一步
不是写 SaaS 代码,而是先盘点:
第一张表:我们现在有什么
需要逐项盘清:
- 现有功能
- 现有工具
- 现有基础设施
- 可复用的业务规则
- 缺少的能力
只有这一步做清楚,后面技术选型、架构设计、AI 分工、项目骨架才不会跑偏。
13. 当前状态结论
我们现在已经统一了方向:
- 旧桌面版不再作为未来主线
- 新 SaaS 项目全新开始
- 必须正规化开发
- 必须先盘点、先定边界、先定制度
- AI 工具采用现成能力 + 明确分工,不自研底座
- 现有 Gitea / CI / 巡检机器人保留,但未来服务于新系统
下一步进入:
《SaaS 重建盘点总表》第一阶段:我们现在有什么、还缺什么。
配套文档:
docs/saas-rebuild-inventory.mddocs/ai-team-tooling-checklist.mddocs/infrastructure-keep-rebuild-matrix.mddocs/saas-core-objects.mddocs/saas-core-flows.mddocs/saas-tech-stack-options.mddocs/saas-mvp-scope.mddocs/saas-project-structure-spec.mddocs/saas-development-workflow.md