Appearance
AI 模块生成器
AI 模块生成器通过自然语言描述,自动生成业务模块的后端代码、前端页面、数据库脚本和菜单权限。
适用对象
- 开发人员:快速生成标准 CRUD 业务模块
- 实施人员:在项目实施中快速搭建业务功能原型
架构概览
模块生成器由三部分组成:
- 前端 UI(
/dev/module-generator):三步式交互界面(输入→确认→生成),开发环境访问 - 后端控制器(
/app/dev/module-generator/*):编排 CLI 调用、管理任务状态、执行 DSL 持久化 - CLI 工具(
oars-tools/src/cli/index.js):Node.js 命令行工具,对接 AI API 和代码模板生成
生成器不直接从 Java 调用 AI API,所有 AI 交互和代码生成委托给 oars-tools CLI,后端只做编排和持久化。
使用前提
- 已配置 AI 模型提供商(参见系统配置)
- 当前用户已授予
ai:module-generator权限 - 前端页面只在 Vite
DEV环境注入路由;生产构建默认不能直接访问/dev/module-generator
三步操作流程
生成器分三步操作,状态自动保存到 localStorage,刷新页面不会丢失进度。
第一步:输入需求 — 用自然语言描述业务需求,支持示例提示词点击填入,Cmd/Ctrl+Enter 提交。AI 分析过程通过 SSE 流式实时展示。
第二步:确认需求理解 — AI 生成 AppBrief(需求分析 JSON),可在可视化字段编辑器中调整字段名称、类型和标记(必填/列表/查询/表单),也可直接编辑 JSON。可追加需求后让 AI 重新理解。
第三步:生成预览和执行 — 选择生成模式(DSL 或源码插件),配置选项开关,勾选所需模块后执行。生成过程中实时轮询任务状态,完成后展示结果、文件列表和命令输出。
生成模式选择建议
| 场景 | 推荐模式 | 原因 |
|---|---|---|
| 简单数据录入和查询 | DSL | 无需重启,快速上线 |
| 包含流程审批 | DSL + 流程接入 | DSL 生成基础模块,再绑定流程模板 |
| 复杂业务规则 | 源码 | 可自由修改生成的代码 |
| 外部系统集成 | 源码 | 需要自定义 API 调用 |
| 移动端录入 | 两者均可 | 两种模式都支持移动端入口生成 |
复杂表单边界
源码插件模式支持主表复杂字段、简单明细子表、后台管理页和移动端录入页一起生成。childTables 会生成后台和移动端的明细行增删,并随主表创建、编辑接口一起保存。
对常见只读金额合计字段(如 totalAmount、totalActualExpense、actualTotal),如果字段类型为 decimal 且 form=false,生成的后端控制器会按第一个明细子表中的金额字段自动求和后保存主表。
以下能力仍不属于通用自动生成范围,需要在生成后继续配置或二次开发:
- 多级审批流程模板、金额条件分支、会签规则和处理人规则;
- 预算超标判断、预支单冲销占用、跨单据状态校验;
- 与项目、预算、合同等外部或独立业务模块的强关联校验。
注意事项
- 生成器访问需要
ai:module-generator按钮权限(不在默认角色中,需手动授予) - 源码写入只建议在开发环境执行;非 dev 运行环境下源码模式会生成 zip 下载物,不直接写入服务器源码目录
- 重复生成时注意"覆盖已有文件"选项,避免覆盖手工修改的代码
- 生成后先确认 SQL 已执行、后端已重启,再判断前端显示问题
- 源码模式下代码生成在
oars-plugins/插件隔离目录,不侵入平台核心 - 源码插件模式会同步生成 manifest 和 delivery descriptor,用于记录产品基线、Git commit、生成器版本、插件版本、模块版本、Spec 哈希和 SQL 边界
- 客户源码交付前执行
plugin:delivery-check,并将生成源码、SQL、manifest、delivery descriptor 和发布说明一起提交到客户分支 - 如需停用已生成的模块入口,可在结果页点击"停用入口"(菜单置为禁用,不删除业务数据)
plugin:remove只删除生成的文件和禁用运行时记录,不删除业务数据表
浏览器访问
- 模块生成器:
/dev/module-generator - 生成记录:
/dev/module-generator/records
