当前 Forge 项目已经具备后台管理、数据集、业务定义、AI 大屏生成、权限租户、插件化模块等基础能力。后续不建议分散去做很多具体业务系统,而应继续深耕“AI + 数据应用生成”,先把框架打磨成能快速生成业务系统的底座。
同时,随着项目持续演进,当前遇到两个效率瓶颈:
因此,建议将 Forge 从“项目代码仓库”逐步升级为“可发布、可初始化、可同步的框架产品”。
核心方向:
继续深耕“AI + 数据应用生成”,不要分散去做很多业务系统;先把 Forge 打磨成能快速生成业务系统的底座。
工程化支撑:
数据库变更版本化 + 初始化数据标准化 + 项目模板化 + 初始化脚本自动化。
Forge 后续不应定位成普通后台管理框架,也不建议分散去做 CRM、OA、进销存、工单、设备管理等大量具体业务系统。更优的方向是:
Forge = AI 驱动的企业数据应用生成平台。
也就是围绕已有的后台管理、数据集、业务定义、大屏设计器、AI 生成、权限租户能力,继续打磨一条完整链路:
业务定义 → 数据集绑定 → AI 生成 → 结果校验 → 应用画布 → 保存版本 → 发布访问
这条路线的价值在于:Forge 不是直接交付一个固定业务系统,而是成为快速生成业务系统、数据大屏、分析报表和管理后台的底座。
基于当前框架,未来可以衍生以下几类系统。
这是当前最顺的方向。
继续完善:
目标是包装成:
用自然语言生成企业驾驶舱。
基于现有 AiCrudPage、后端 CRUD、数据库表配置,可以继续发展为后台系统生成器。
能力包括:
这条路线适合做 SaaS、私有化交付或项目快速启动工具。
围绕业务定义、数据集、字段语义和指标口径继续深耕,可以形成企业数据资产底座。
模块包括:
该方向可以成为 AI 大屏生成和 AI 报表生成的基础。
从“生成大屏”扩展到“问数、生成图表、生成报表、解释指标异常”。
典型场景:
用户输入:分析本月销售下滑原因。
系统自动选择数据集,生成图表,输出分析结论。
这条路线比纯大屏更贴近业务用户,也更容易形成持续使用场景。
利用现有租户、权限、插件体系,可以衍生 CRM、OA、进销存、项目管理、工单系统、设备管理等系统。
但该方向不建议作为当前主线。原因是具体业务系统容易分散精力,也容易让 Forge 退化成普通后台框架。
更建议的做法是:
不直接深耕大量具体业务系统,而是深耕能快速生成这些系统的底座能力。
这是当前最有差异化的能力。
需要继续补齐:
目标是形成完整闭环:
业务定义 → 数据集绑定 → AI 生成 → 校验修复 → 应用画布 → 保存版本 → 发布访问
这是 AI 能否稳定生成有价值大屏的关键。
需要继续补齐:
后续所有 AI 生成能力都应依赖这层语义中心。
把当前框架从“写代码框架”升级为“生成系统框架”。
需要继续补齐:
该模块成熟后,Forge 可以衍生出大量行业系统,但核心能力仍然是“生成”。
等核心生成能力稳定后,再建设模板和插件生态。
可以沉淀:
模板市场的目标是提升复用率,让 Forge 从单项目能力变成可复制能力。
聚焦打磨 AI 数据应用生成主线:
扩展生成能力:
产品化为企业数据应用生成平台:
目前每次修改表结构或系统基础数据后,需要手工导出表结构和数据,再同步到开源社区版本。该方式存在以下问题:
建立一套标准的数据库发布机制:
数据库结构变更 → migration 脚本
系统基础数据 → required seed 脚本
演示数据 → demo seed 脚本
社区同步 → 自动导出脚本
最终目标:
开源用户拉取项目后,可以通过一条命令完成数据库初始化或升级。
例如:
pnpm forge:init-db
或:
docker compose up
启动时自动完成表结构和基础数据初始化。
建议引入 Flyway 作为数据库版本迁移工具。
目录建议:
forge/
db/
migration/
V1.0.0__init_schema.sql
V1.0.1__add_ai_dashboard_generate_record.sql
V1.0.2__alter_data_business_add_ai_fields.sql
每次修改数据库结构,不再手工导完整结构,而是新增一个版本脚本。
示例:
-- V1.0.2__alter_data_business_add_ai_fields.sql
ALTER TABLE data_business
ADD COLUMN analysis_goal varchar(1000) DEFAULT NULL COMMENT '分析目标',
ADD COLUMN metric_definition text DEFAULT NULL COMMENT '指标口径说明';
不要把所有数据都当成“初始化数据”导出。建议将数据拆成三类:
db/seed/
required/ 必须初始化数据
demo/ 演示数据
optional/ 可选模块数据
建议目录:
forge/
db/
seed/
required/
R__sys_resource.sql
R__sys_dict.sql
R__sys_config.sql
R__ai_provider_template.sql
demo/
D__demo_data_business.sql
D__demo_dashboard_project.sql
D__demo_dataset.sql
optional/
O__workflow_demo.sql
O__message_template.sql
| 类型 | 是否同步到社区 | 示例 |
|---|---|---|
| 表结构 | 必须 | CREATE TABLE、ALTER TABLE、索引 |
| 系统基础数据 | 必须 | 菜单、权限、字典、配置、AI 模板 |
| 演示数据 | 可选 | 示例业务定义、示例大屏、示例数据集 |
| 本地测试数据 | 不同步 | 测试用户、测试会话、测试生成记录 |
| 敏感业务数据 | 禁止同步 | 实际客户数据、生产业务数据、API Key |
建议新增一套自动导出命令,代替人工导 SQL。
示例命令:
pnpm forge:export-community-db
或:
./scripts/db/export-community-db.sh
该命令负责:
建议目录:
forge/
scripts/
db/
export-community-schema.js
export-community-seed.js
check-sensitive-data.js
export-community-db.sh
只允许导出框架运行所需的系统数据。
建议允许导出的数据表:
sys_resource
sys_dict
sys_config
sys_role
sys_role_resource
ai_provider_template
ai_agent
ai_model
data_business_template
dashboard_template
建议禁止导出的数据表:
sys_user
sys_user_role
ai_chat_record
ai_chat_session
ai_dashboard_generate_record
业务数据明细表
实际客户数据表
包含 token / key / password 的表
如确实需要导出用户数据,应提供脱敏版本,而不是直接导出本地数据库内容。
最终推荐形成如下结构:
forge/
db/
migration/
V1.0.0__init_schema.sql
V1.0.1__ai_dashboard_generate_record.sql
V1.0.2__data_business_ai_fields.sql
seed/
required/
R__sys_resource.sql
R__sys_dict.sql
R__ai_provider_template.sql
demo/
D__demo_business_definition.sql
D__demo_dashboard_project.sql
D__demo_dataset.sql
scripts/
db/
export-community-schema.js
export-community-seed.js
check-sensitive-data.js
export-community-db.sh
建议按以下顺序落地:
第 1 步:整理当前数据库基线 SQL
第 2 步:引入 Flyway
第 3 步:将表结构变更改为 migration 脚本
第 4 步:拆分 required/demo/optional 初始化数据
第 5 步:建立导出白名单和敏感字段黑名单
第 6 步:编写社区数据导出脚本
第 7 步:在 README 中说明数据库初始化和升级流程
现在新项目如果要使用 Forge 框架,通常会倾向于:
这种方式短期能用,但长期问题明显:
建议将 Forge 拆成四层:
forge-framework 框架核心
forge-template 项目模板
forge-cli 初始化工具
business-project 具体业务项目
新项目不再手工复制,而是通过模板或命令初始化。
理想命令:
forge create my-project
或:
pnpm create forge-app my-project
适合当前马上要交付的新项目。
流程:
优点:
缺点:
结论:
全量复制只能作为短期过渡方案,不建议长期依赖。
这是当前最推荐的中短期方案。
做法是创建一个模板仓库:
forge-project-template
新项目创建流程:
git clone forge-project-template smart-factory
cd smart-factory
pnpm forge:init
初始化脚本交互式询问:
项目英文名?smart-factory
项目中文名?智慧工厂管理平台
后端包名?com.company.smartfactory
数据库名?smart_factory
前端系统标题?智慧工厂管理平台
是否启用 report-ui?Yes
是否启用 AI 模块?Yes
是否初始化 demo 数据?No
脚本自动替换:
项目名称
Java 包名
Maven artifactId
数据库名称
Redis key 前缀
Docker 服务名
前端标题
前端 Logo
默认租户名称
默认菜单名称
应用编码
端口配置
.env 配置
优点:
这是长期产品化方案。
最终命令:
forge create
交互式初始化:
? 项目名称: smart-factory
? 中文名称: 智慧工厂管理平台
? 后端包名: com.company.smartfactory
? 数据库名: smart_factory
? 启用模块:
✓ admin-ui
✓ report-ui
✓ ai
✓ data-business
✓ workflow
✓ message
? 是否初始化演示数据: Yes
生成项目结构:
smart-factory/
forge-admin-ui/
forge-report-ui/
forge-server/
docker-compose.yml
.env
README.md
长期目标是让 Forge 像脚手架一样使用:
forge create crm-system
forge create iot-platform
forge create sales-dashboard
建议模板仓库保留框架能力,但去掉本地业务数据。
forge-project-template/
forge-admin-ui/
forge-report-ui/
forge/
forge-framework/
forge-plugin-parent/
db/
migration/
seed/
scripts/
init-project.js
db/
.env.example
docker-compose.yml
README.md
模板中保留:
模板中移除:
建议新增:
scripts/init-project.js
该脚本负责:
.env 文件。示例命令:
pnpm forge:init
长期建议将项目拆成插件化结构:
forge-core 框架核心
forge-plugin-system 系统权限插件
forge-plugin-ai AI 插件
forge-plugin-data 数据资产插件
forge-plugin-report 大屏插件
forge-plugin-message 消息插件
project-smart-factory 具体业务项目
业务项目只依赖框架插件,不直接修改框架核心。
这样可以实现:
优先解决数据库同步问题。
目标:
不再手工导出社区 SQL。
任务:
目标:
新项目不再手工全量复制和改名。
任务:
forge-project-template 模板仓库。.env.example。scripts/init-project.js。目标:
将 Forge 产品化为可复用脚手架。
任务:
当前最优方案不是继续手工导库、复制项目,而是马上建设两个基础设施:
负责:
负责:
最终形成:
数据库不要再手工导,改成 migration + seed。
新项目不要再手工搬,改成 template + init script。
长期再升级成 Forge CLI。
建议优先级:
P0:整理数据库基线 SQL
P0:引入 Flyway 或等价迁移机制
P0:拆分 required/demo seed 数据
P1:编写社区数据导出脚本
P1:建立 forge-project-template 模板
P1:编写 init-project 初始化脚本
P2:模块选择和配置裁剪
P2:升级为 forge-cli
P2:框架核心与业务项目彻底解耦
一句话总结:
Forge 后续应该从“一个能运行的项目”升级为“一个可初始化、可升级、可复用、可交付的企业应用生成框架”。