目标
我们要把下面的平台打造成为其他服务的基石。
技术选型前期就是 maven+springboot+vue3 java 技术栈。
数据库最好是可以内置 sqllite 让程序无额外依赖,后期也方便拓展替换为 mysql,暂时不要引入 redis/mq 之类的,保持架构简洁。
全部 core-xxx,保持统一性,后期为全部开源,作为一切的基石。
只保留三层。
第一层:Core Platform(唯一优先级)
这是所有产品共同依赖的基础设施。
Identity(用户、组织、认证、权限)
Billing(支付、订阅、额度、对账)
Notification(邮件、短信、站内信、IM、Webhook)
AI Gateway(统一模型接入、Prompt、Agent、额度)
File & Object Storage(文件、对象存储)
Workflow(事件、任务、自动化)
API Gateway(统一 API、鉴权、限流)
Marketplace(插件、应用、模板)
整体规划
我认为,这个方向比你之前规划的几十个平台更接近真正的平台化思路。
但是,如果目标是「一个人 + Java + SpringBoot + Vue3,在 2026 年做出真正能长期演化的平台」,我还是会继续做减法。
我的总体评分
方向:9.8/10
唯一的问题:
还是有点大。
里面有几个模块,不应该属于 Core Platform。
真正的 Core,应该满足一个标准:
如果删掉它,其它所有系统都会痛苦。
只有满足这个标准,才应该放 Core。
先看整个 Core
core-identity
core-billing
core-notification
core-ai
core-storage
core-workflow
core-api
core-marketplace
我会逐个评价。
⭐⭐⭐⭐⭐ core-identity(100分)
这是第一优先级。
没有任何讨论空间。
以后:
所有系统
blog
trade
wiki
monitor
cms
forum
ai
全部依赖它。
里面包括:
User
Organization
Role
Permission
OAuth2
JWT
Session
Email Login
Password Login
Verification Code
OpenAPI Key
Audit Log
System
Tenant(以后)
这一块以后几乎不会推翻。
所以值得打磨。
⭐⭐⭐⭐⭐ core-notification(100分)
我甚至建议第二个做。
原因非常简单。
以后任何产品都会需要:
注册
验证码
异常
审批
支付
订单
AI完成
监控报警
营销
公告
全部依赖 Notification。
而且通知以后越来越复杂。
Email
SMS
Webhook
IM
Push
站内信
Voice
所以:
所有消息
全部抽象成
Notification
↓
Channel
↓
Provider
以后增加 Provider 就行。
⭐⭐⭐⭐⭐ core-ai(100分)
2026,没有 AI Gateway,平台就是残缺的。
以后所有产品:
聊天
生成
翻译
总结
Agent
Workflow
自动审批
知识库
交易分析
都会依赖 AI。
建议抽象:
Model
Conversation
Prompt
Tool
Agent
Knowledge
Embedding
Usage
以后:
OpenAI
Claude
Gemini
Qwen
DeepSeek
全部 Provider 化。
⭐⭐⭐⭐⭐ core-storage(100分)
非常重要。
以后:
头像
图片
视频
附件
知识库
模型
插件
模板
全部依赖它。
建议:
不要一开始就接 MinIO。
先:
LocalStorage
↓
Storage Interface
↓
S3
↓
OSS
↓
COS
↓
MinIO
接口先抽象。
⭐⭐⭐⭐☆ core-workflow(95分)
这个很多人低估。
实际上它是平台化的灵魂。
例如:
注册以后
↓
发送邮件
↓
注册送积分
↓
通知管理员
↓
AI分析
↓
Webhook
全部是 Workflow。
所以以后:
任何平台:
Monitor
Trade
CMS
Knowledge
都会用。
建议:
先不要做 BPMN。
做最简单:
Event
↓
Handler
↓
Action
够了。
⭐⭐⭐⭐☆ core-api(95分)
但是这里我建议改名字。
API Gateway 太重。
真正 Gateway:
Nginx
Spring Gateway
Traefik
APISIX
都是网关。
你这里其实不是 Gateway。
而是:
API Runtime
或者
core-openapi
里面包含:
API Key
RateLimit
Permission
Signature
OpenAPI
SDK
Client
⭐⭐⭐⭐☆ core-marketplace(90分)
这里我建议:
不要第一年做。
Marketplace 本质不是基础设施。
而是:
生态成熟以后自然出现。
如果平台只有三个插件,
Marketplace 没意义。
所以:
把 Plugin Runtime 做好。
Marketplace 可以以后长出来。
⭐⭐⭐☆☆ core-billing(85分)
很多人喜欢先做支付。
其实我建议:
最后做。
为什么?
因为:
没有用户,
没有收费,
Billing 完全没有价值。
真正 Billing 依赖:
Identity
Notification
Workflow
以后:
订阅
额度
积分
支付
发票
退款
全部放进去。
但是:
不是第一阶段。
我真正建议的 Core
我会变成:
core-identity
core-notification
core-storage
core-ai
core-workflow
core-openapi
第一阶段只有这六个。
然后:
第二阶段
core-billing
core-plugin
注意:
Marketplace
改成
Plugin Runtime
真正重要的是:
Plugin
Manifest
Lifecycle
Hook
Extension
Permission
Marketplace
只是:
Plugin 的展示页面。
我甚至建议再补两个 Core
⭐⭐⭐⭐⭐ core-config
所有系统都会需要:
配置
参数
Feature Flag
环境变量
系统配置
邮件配置
AI配置
支付配置
以后千万不要:
application.yml
写死。
统一:
SystemConfig
动态读取。
⭐⭐⭐⭐⭐ core-audit
以后:
所有平台:
登录
删除
审批
支付
权限修改
AI调用
全部需要:
Audit Log
不要每个平台重复写。
独立:
core-audit
所以最终我认为:
core-identity
core-notification
core-storage
core-ai
core-workflow
core-openapi
core-config
core-audit
这才是真正的平台八大基石。
实现顺序(按依赖关系,而不是按业务热度)
Phase 1:平台根基
core-identity
原因:
所有模块都需要用户、权限、组织、API Key。
Phase 2:统一配置
core-config
原因:
之后所有模块都能共享配置,不会把邮件、AI、存储等参数散落在各个模块。
Phase 3:统一存储
core-storage
原因:
头像、附件、模板、插件包等资源都会依赖它。
Phase 4:统一通知
core-notification
原因:
Identity、Billing、Workflow 等都会发送通知。
Phase 5:AI 能力
core-ai
原因:
AI 会成为多个业务的公共能力,但它依赖身份认证、配置以及一定的存储能力。
Phase 6:事件与自动化
core-workflow
原因:
前面的模块都可以通过事件串联起来,实现自动化,而无需彼此直接耦合。
Phase 7:开放接口
core-openapi
原因:
当内部能力稳定后,再向外暴露统一 API、SDK、API Key、限流等能力。
Phase 8:审计
core-audit
原因:
把前面所有模块的关键操作统一记录,形成可追踪的操作日志。
Phase 9:商业化
core-billing
原因:
只有当平台已经具备用户和实际使用场景后,支付、订阅、额度等商业能力才真正有价值。
Phase 10:生态
core-plugin
原因:
先建立插件运行时(加载、生命周期、权限、扩展点),而不是先做 Marketplace。
Phase 11:插件市场
core-marketplace
原因:
当已有足够多的插件、模板或应用后,再提供市场、评分、版本管理、安装升级等能力,生态才能真正运转。
一个建议:从第一天就统一模块骨架
所有 core-* 模块尽量保持一致的目录和分层,例如:
core-identity/
├── api/ # DTO、OpenAPI、客户端接口
├── domain/ # 实体、聚合、领域服务
├── application/ # 用例、业务编排
├── infrastructure/
│ ├── persistence
│ ├── config
│ ├── adapter
│ └── event
├── web/ # Controller
└── starter/ # (可选)自动配置
同时统一技术约束:
- Maven 多模块工程
- Spring Boot 3.x
- JPA 或 MyBatis(二选一,避免混用)
- SQLite 默认数据源,数据库访问尽量避免使用特有 SQL,方便后续切换 MySQL
- Vue3 + TypeScript + Pinia + Vue Router
- 所有模块统一 REST 风格、统一错误码、统一分页和统一响应体
- 不引入 Redis、MQ 等基础设施,模块之间优先通过同步接口或 Spring 事件完成协作
这样,当未来开源时,开发者面对任何一个 core-* 模块,都能立即理解其结构和扩展方式。
这种一致性,比增加更多功能,更能提升整个平台的长期可维护性和社区接受度。
