Files
Fauto/README.md
2026-01-27 22:31:27 +08:00

81 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 风格,完善错误处理。
---
## 📂 目录结构
```text
D:\workspace\Fauto\
├── fauto-platform/ # 平台源码 (RuoYi-Vue3 改造)
├── fauto-design/ # (参考) 前端设计器 Demo
├── java-g/ # (参考) 后端生成引擎 Demo
├── workspace/ # 用户创建的项目存放地
└── AI_CONTEXT.md # AI 协作上下文指南
```
## 🚀 快速开始 (Coming Soon)
目前项目处于架构搭建阶段。
1. 查看 `AI_CONTEXT.md` 了解详细技术背景。
2. 关注 `fauto-platform` 目录下的开发进展。