6c167af39c5c46bfb640a6a5841c9f35cb7b7bd1
Fauto - 下一代低代码 + AI 协作平台
Status: 初始化建设中 (Inception Phase)
Core Philosophy: Source-Code Level, Non-Intrusive, Hot-Swappable, AI-Collaborative.
📖 项目简介
Fauto 是一个旨在打破传统低代码平台“黑盒”限制的创新型开发平台。我们不生成私有的 JSON 定义,也不依赖复杂的运行时解释器。Fauto 直接生产高质量、可维护的源码。
通过结合 Vue3 源码级可视化拖拽、Java 增量式代码生成 以及 AI 智能终端,Fauto 允许开发者、业务人员和 AI 助手在同一个代码库上无缝协作。
🏗️ 总体架构与设计思路
1. 核心理念:源码即真理 (Source is Truth)
- 传统低代码:Model JSON -> Runtime Engine (黑盒)。
- Fauto:Visual Editor -> AST Modification -> Source Code -> Standard Compiler -> Application。
- 平台生成的代码与人类手写的代码完全一致,可以被 Git 管理,可以被 IDE 编辑,可以脱离平台运行。
2. 三大引擎
A. 前端可视化引擎 (fauto-design)
- 技术: Vue3 AST, Node.js.
- 功能: 直接解析
.vue文件,将其转化为可视化编辑器中的组件树。用户的拖拽操作实时转换为对.vue源码的修改(Template, Script, Style)。
B. 后端动态生成引擎 (java-g)
- 技术: JavaParser, MyBatis Dynamic SQL.
- 功能:
- 智能依赖: 自动分析对象关系,生成能够处理复杂嵌套查询的 MyBatis XML。
- 增量更新: 使用 JavaParser 分析现有 Java 类,只在特定位置插入新字段或方法,严格保护用户手动编写的业务逻辑。
C. 热重载运行时 (Hot Swap Runtime)
- 技术: DCEVM, HotswapAgent.
- 功能: 无论是前端页面的修改,还是后端 Entity/Service 的变更,都能在毫秒级内热更新,提供类似脚本语言的开发体验。
3. AI 协作层
- 集成 Web Terminal 与 AI CLI (Trae/Qoder)。
- 允许用户通过自然语言指令,指挥 AI 直接修改项目文件,与可视化操作形成互补。
📅 实施计划 (Implementation Plan)
Phase 1: 地基搭建 (Foundation)
- 项目结构重构: 建立平台与用户工作区 (
workspace) 分离的目录结构。 - 项目管理器: 实现基于 Web 的项目创建、导入、与文件系统浏览。
- 进程守护: 实现对子项目 JVM 进程和 Vite 进程的启动、停止与日志监控。
Phase 2: 后端生成引擎 (Backend Engine)
- 移植 java-g: 将
MyBatisGeneratorUtils核心逻辑集成到平台。 - 引入 JavaParser: 实现对 Controller/Service 的增量修改能力。
- 对象建模器: 开发用于定义数据模型的前端界面。
Phase 3: 前端可视化集成 (Frontend Integration)
- 集成 fauto-design: 将设计器前端合并入平台。
- 启动伴生服务: 运行
vue-ast-server处理前端源码修改请求。 - 全链路打通: 模型定义 -> 代码生成 -> 页面设计 -> 实时预览。
Phase 4: AI 终端与优化 (AI & Polish)
- Web Terminal: 集成 xterm.js + pty4j。
- AI 环境预设: 预装 Trae CLI,配置 AI 协作上下文。
- 体验优化: 统一 UI 风格,完善错误处理。
📂 目录结构
D:\workspace\Fauto\
├── fauto-platform/ # 平台源码 (RuoYi-Vue3 改造)
├── fauto-design/ # (参考) 前端设计器 Demo
├── java-g/ # (参考) 后端生成引擎 Demo
├── workspace/ # 用户创建的项目存放地
└── AI_CONTEXT.md # AI 协作上下文指南
🚀 快速开始 (Coming Soon)
目前项目处于架构搭建阶段。
- 查看
AI_CONTEXT.md了解详细技术背景。 - 关注
fauto-platform目录下的开发进展。
Languages
Java
55.1%
Vue
33.5%
JavaScript
8%
HTML
1.7%
SCSS
1.4%
Other
0.3%