18 KiB
Phase 0: 判断
✅ 从零开始的新项目 — 目前只有设计文档,0 行代码 → 执行完整流程
Phase 1: 需求澄清(6个必答问题)
根据设计文档,我已推断出答案,请确认:
┌─────┬────────────┬────────────────────────────────────────────────────────────────────────────────┐ │ # │ 问题 │ 答案(已推断) │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 01 │ 产品形态 │ 多端 Web + 移动端:PC 后台(Vue3/React)、移动端 APP、微信/支付宝小程序、H5 │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 02 │ 运行环境 │ 云端部署:阿里云/华为云云南节点,Kubernetes 集群,三级政务联动 │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 03 │ 项目规模 │ 完整产品:但按 4 期路线图分阶段实施(一期 MVP,四期完整产品) │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 04 │ 数据方案 │ 综合数据库:MySQL(主从)+ Redis + MongoDB + Elasticsearch + Milvus 向量数据库 │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 05 │ 前后端分工 │ 前后端分离 + 微服务:Vue3/React 前端,Go 后端 12 个微服务,API 网关统一入口 │ ├─────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ 06 │ 扩展预期 │ 必须可扩展:省级平台→市级→区县级三级联动,需水平扩展、多租户、开放平台 │ └─────┴────────────┴────────────────────────────────────────────────────────────────────────────────┘
这些是否符合你的预期?有没有需要调整的地方?
Phase 2: 架构选型(3种方案对比)
我基于文档内容和你目前的实际资源情况,提出 3 种架构方案 做对比:
方案对比表
┌──────────┬───────────────────────────────────────────────┬─────────────────────────────────────────┬──────────────────────────────┐ │ 维度 │ 方案 A:Go 微服务(原设计) │ 方案 B:Go 单体先行 + 微服务拆分 │ 方案 C:Node.js 全栈 MVP │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 架构模式 │ 云原生微服务 (12个服务) │ 模块化单体 → 渐进式微服务 │ 三层架构 / BFF │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 后端技术 │ Go 1.22 + go-zero + gRPC + K8s │ Go 1.22 + Gin + go-zero(渐进引入) │ Node.js + Express/NestJS │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 前端技术 │ Vue3 + TypeScript + Element Plus + UniApp │ Vue3 + TypeScript + Vite + Element Plus │ Vue3 + TypeScript + Vite │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 数据库 │ MySQL + Redis + MongoDB + ES + Milvus + Kafka │ MySQL + Redis(按需逐步引入) │ MySQL/SQLite + Redis │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 部署 │ K8s + Helm + ArgoCD + Istio │ Docker Compose / 轻量 K8s │ Docker / 简单部署 │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 开发速度 │ ⭐⭐(前期搭建慢) │ ⭐⭐⭐⭐(快速启动) │ ⭐⭐⭐⭐⭐(最快) │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 可维护性 │ ⭐⭐⭐⭐⭐(长期最优) │ ⭐⭐⭐⭐(平衡) │ ⭐⭐⭐(中期需要重构) │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 扩展性 │ ⭐⭐⭐⭐⭐(最高) │ ⭐⭐⭐⭐(可逐步拆分) │ ⭐⭐(单体天花板低) │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 学习成本 │ ⭐⭐(Go + K8s + 多中间件) │ ⭐⭐⭐⭐(逐步学习) │ ⭐⭐⭐⭐⭐(前端开发者友好) │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 资源消耗 │ 高(12个微服务 + K8s集群) │ 中(先单体后拆分) │ 低(单进程) │ ├──────────┼───────────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────┤ │ 适用场景 │ 大型团队、完整产品、长期维护 │ 个人开发者 / 小团队 MVP → 扩展 │ 快速原型验证 │ └──────────┴───────────────────────────────────────────────┴─────────────────────────────────────────┴──────────────────────────────┘
我的推荐:方案 B — Go 单体先行 + 渐进式微服务拆分 ⭐
理由:
- 你目前是一个人开发(根据目录结构判断),Phase 0 直接上 12 个微服务 + K8s 集群,仅基础设施搭建就要数周
- Vibe Coding 的核心原则是:"先完成,再完美" — 方案 A 过于厚重,方案 C 后期需要大重构
- 方案 B 的路徑: - Phase 1(MVP):Go 模块化单体 + Gin + MySQL + Redis → 快速跑通核心流程 - Phase 2(扩展):按热点服务拆分为独立微服务(先拆 agent-service 和 task-service) - Phase 3(成熟):引入 gRPC + Kafka + K8s,逐步演进到方案 A 架构
- 技术栈不变:始终是 Go + Vue3,没有技术债务,只有架构演进
Phase 3: 任务拆解
云超服 项目总目标 ├── 第0阶段:基础设施搭建 │ ├── 0.1 初始化 Go monorepo 项目结构 │ ├── 0.2 前端项目初始化(Vue3 + Vite + TypeScript) │ ├── 0.3 Docker Compose 开发环境(MySQL + Redis) │ └── 0.4 基础工具库(错误码、日志、配置、中间件) │ ├── 第1阶段:核心业务 MVP(0-2个月) │ ├── 1.1 用户中心(注册/登录/认证/JWT/RBAC)← 优先 │ ├── 1.2 OPC 入驻与档案管理 │ ├── 1.3 任务系统(发布、广场、接单、交付) │ ├── 1.4 基础智能体(对话 + 简单工具调用) │ ├── 1.5 前端门户布局(OPC端 + 管理端基础框架) │ └── 1.6 基础数据看板 │ ├── 第2阶段:核心服务深化(2-4个月) │ ├── 2.1 财税服务(记账、报表) │ ├── 2.2 工商服务(注册、变更) │ ├── 2.3 政策服务(政策库 + 智能匹配) │ ├── 2.4 服务商生态(入驻、服务商品) │ ├── 2.5 智能体增强(RAG + 工具链) │ └── 2.6 消息通知中心 │ ├── 第3阶段:生态体系建设(4-8个月) │ ├── 3.1 金融服务(支付、结算) │ ├── 3.2 培训与成长系统 │ ├── 3.3 信用评价体系 │ ├── 3.4 三级政务管理平台 │ ├── 3.5 移动端(APP / 小程序) │ └── 3.6 微服务拆分(按需拆分为独立服务) │ └── 第4阶段:深化运营(8-12个月) ├── 4.1 开放平台 + API 市场 ├── 4.2 知识产权 / 法律服务 ├── 4.3 数据统计分析平台(大屏) ├── 4.4 K8s 部署 + 灰度发布 ├── 4.5 Istio 服务网格(可选) └── 4.6 等保三级认证
Phase 4: 架构 Prompt(已收敛)
现在我来生成一份可直接用于编码的 架构 Prompt:
📋 点击展开完整架构 Prompt
1. 项目背景
构建云南省 OPC 超级个体综合服务平台(云超服),面向云南个体创业者、自由职业者、小微经营者的省级一站式数字化服务平台。目前为零代码状态,需从零开始搭建。
2. 目标用户
个体创业者、小微企业主、自由职业者、孵化器/创业载体、甲方企业、服务商、省市县三级政府、平台运营方。
3. 核心需求(MVP 阶段)
- 用户注册/登录/认证与 RBAC 权限体系(六种角色)
- OPC 超级个体入驻与档案管理
- 任务系统(发布任务、任务广场、智能匹配、接单交付、评价保障)
- AI 智能体助手(对话交互 + 业务工具调用)
- 初创载体管理与服务
4. 架构设定
- 产品形态:PC Web(Vue3)+ 移动端 H5/APP/小程序(UniApp)
- 架构模式:Go 模块化单体 → 渐进式微服务
- 运行环境:Docker Compose(开发)→ 阿里云 ECS(生产)
- 部署方案:第一阶段 Docker Compose,后续演进到 K8s
5. 技术约束
- 后端:Go 1.22+ + Gin Web框架 + GORM
- 数据库:MySQL 8.0(主)+ Redis 7(缓存)
- 前端:Vue 3 + TypeScript + Vite + Element Plus
- 移动端:UniApp(后续阶段)
- API 风格:RESTful JSON + 逐步引入 gRPC
- 认证:JWT + Casbin RBAC
- AI:LLM API(通义千问/DeepSeek)+ 基础 RAG
- 工具库:Zap(日志)、Viper(配置)、Prometheus(监控)
6. 非功能需求
- 高性能:API 平均响应 < 200ms
- 可扩展:模块化设计,随时可拆分为独立微服务
- 安全性:HTTPS、JWT 鉴权、RBAC 权限、数据加密
- 可维护性:清晰目录结构、统一错误码、规范日志
- 可用性:核心功能 99.9%,支持水平扩展
7. 实施计划
共 4 个阶段:
- 第0阶段:基础设施搭建(项目初始化、Docker 环境、基础库)
- 第1阶段:核心 MVP(用户中心、入驻、任务、智能体、前端框架)
- 第2阶段:服务深化(财税、工商、政策、服务商生态、消息通知)
- 第3阶段:生态体系(金融、培训、信用、政务平台、移动端、微服务拆分)
8. 输出要求
- 可运行的代码(不是伪代码)
- 每一步附带简要说明(为什么这样设计)
- 关键接口提供 curl 示例
- 数据库提供迁移脚本
- 提供 Docker Compose 配置,一键启动
9. 验收标准
- 功能正常:核心 API 通过 Postman/curl 测试
- 界面正常:前端页面可交互、路由正常
- 数据持久化:MySQL 数据可持久存储和查询
- 代码清晰:目录结构规范、命名一致、充分注释
- 可运行:
docker compose up一键启动
10. 限制条件(非常重要)
- 不过度设计:不提前引入 K8s、gRPC、Kafka 等(第一阶段)
- 不用不了解的技术栈:只使用 Go + Vue3 主流生态
- 不引入不必要依赖:每个依赖必须有明确理由
- 不一次生成全部代码:按模块拆分,每次只做一个功能
- 不跳过测试:每个模块完成后至少运行一次确认
- 不破坏架构:每次新增代码必须符合模块化单体架构
Phase 5: 行动计划
接下来,如果你确认上述架构方案,我们可以 从第 0 阶段开始 一步步实现:
第0阶段第一步 → 初始化项目结构: cloud-opc/ ├── server/ # Go 后端(单体模块化) │ ├── cmd/ # 入口 │ ├── internal/ # 内部逻辑 │ │ ├── user/ # 用户模块 │ │ ├── task/ # 任务模块 │ │ └── ... │ ├── pkg/ # 公共包 │ ├── migrations/ # 数据库迁移 │ └── config/ # 配置文件 ├── web/ # Vue3 前端 │ └── src/ ├── deploy/ # Docker Compose 配置 └── docs/ # 文档
请你确认:
- 上述 6个需求问题 的答案是否准确?
- 方案 B(Go 模块化单体 → 渐进式微服务) 是否接受?
- 是否要 现在就开始第 0 阶段 的编码实现?