# agent-rad **Repository Path**: ooderCN/agent-rad ## Basic Information - **Project Name**: agent-rad - **Description**: agent-rad 是 ooderAI 的可视化编辑器的 AIAgent 版本。可以 搭配 trae-solo等AI-IDE 通过搭配本地skills ,实现AI2UI的可视化操作。 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-24 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ooder-agent-rad ooder-agent-rad 是 ooderAgent a2ui 的可视化设计器,通过设计器用户可以将前端页面实现可视化编辑,并且通过本地skills 的桥接实现,AI的深度参与设计。 ## 项目背景 ooder-agent-rad 是在原有 onecode-rad 基础上采用 onecode 全栈语言进行了重写。它是基于 ooder 全栈框架实现的一个完整的 RAD(快速应用开发)工具组合。 ooder-agent-rad 是从传统的 ooder-RAD 改造而来,原系统存在以下痛点: - 纯 JS 实现,前端逻辑复杂,维护成本高 - 传统 Spring 架构,分层过多,调用链冗长 - 服务调用模式,各模块耦合度高,扩展困难 - 笨重的集群架构,部署复杂,资源利用率低 通过改造,新系统采用了 ooderAgent 全栈架构,实现了轻量化、高可用的微服务架构,支持注解驱动开发和插件化设计,显著提高了开发效率和系统灵活性。 ## 架构设计 ooder-agent-rad 采用分层架构设计,结合 AI 辅助能力,实现了可视化设计与智能开发的无缝结合。 ![架构图](docs/onecode-ai.png) ### super-agent 架构 ooder-agent-rad 支持 super-agent 架构,实现了更高级别的 Agent 协作和部署能力: - **分布式 Agent 网络**:构建分布式的 Agent 网络,实现资源共享和协同工作 - **智能服务发现**:自动发现和注册网络中的 Agent 服务 - **动态负载均衡**:根据资源使用情况自动调整 Agent 负载 - **容错机制**:实现 Agent 故障自动检测和恢复 目前正在开发 super-agent 架构部署图,完成后将添加到 `docs` 目录下。 #### 核心架构层次 1. **表现层**:负责处理用户请求和响应,包括控制器和视图模板 2. **业务逻辑层**:实现核心业务逻辑,包括服务类和业务规则 3. **数据访问层**:负责数据持久化和访问,包括数据库操作和文件系统访问 4. **基础设施层**:提供通用功能支持,包括日志、配置、安全等 5. **AI 服务层**:提供 AI 辅助设计和代码生成能力,通过本地 skills 桥接实现 6. **ooderAgent 架构层**:实现超轻量级部署和多 Agent 协作 #### ooderAgent 架构特性 ooder-agent-rad 基于 ooderAgent 架构,实现了以下核心特性: - **超轻量级部署**:所有数据和技能均基于文件系统,无需复杂的数据库和中间件 - **VFS 协作空间**:使用虚拟文件系统作为协作空间,支持多版本管理 - **多 Agent 协作协议**:支持多 Agent 之间的通信和协作 - **自启动能力**:系统能够自动启动,无需手动干预 - **Agent 网络集成**:在 Agent 网络中可以直接检索所有 Web 服务页面 - **实时编辑部署**:实现实时编辑、实时部署的开发体验 ## 功能特性 - **可视化设计**:通过直观的拖拽界面设计前端页面 - **组件化开发**:丰富的预定义组件库,支持自定义组件 - **响应式设计**:自动适配不同设备尺寸 - **AI深度参与**:通过本地skills桥接实现AI辅助设计和代码生成 - **实时预览**:所见即所得的设计体验 - **代码生成**:自动生成可维护的前端代码 - **模块化架构**:易于扩展和二次开发 - **多语言支持**:支持中文、英文、日语、俄语、繁体中文等多种语言 - **动态主题**:支持多种内置主题,可自定义主题 - **API集成**:支持多种API服务集成 - **文件版本控制**:支持文件版本管理和历史记录 - **团队协作**:支持多人协作开发 - **插件系统**:支持插件扩展功能 ## 技术栈 - **后端**:Java 1.8+, Spring Boot 2.7.0 - **前端**:JavaScript, HTML5, CSS3, SVG - **模板引擎**:FreeMarker 2.3.31 - **构建工具**:Maven 3.0+ - **日志框架**:SLF4J 1.7.25 - **JSON处理**:FastJSON 1.2.62 - **HTTP客户端**:Apache HttpClient 4.5.13 - **MQTT客户端**:Eclipse Paho 1.2.5 - **Netty**:4.1.53.Final - **代码解析**:JavaParser 3.18.0 - **许可证**:GNU General Public License v3.0 ## 安装和运行 ### 系统要求 - JDK 1.8 或更高版本 - Maven 3.0 或更高版本 - 支持 HTML5 的现代浏览器 ### 构建项目 1. 克隆或下载项目代码 2. 进入项目根目录 3. 执行 Maven 构建命令: ```bash mvn clean package ``` 4. 构建完成后,在 `target` 目录下生成可执行的 jar 文件 `ooder-agent-rad.jar` ### 运行项目 #### 方式一:直接运行 jar 文件 ```bash java -jar target/ooder-agent-rad.jar ``` #### 方式二:使用 Maven Spring Boot 插件运行 ```bash mvn spring-boot:run ``` #### 访问应用程序 打开浏览器,访问 `http://localhost:8080` ### 配置说明 项目的主要配置文件位于 `src/main/resources/application.properties`,可以根据需要修改以下配置: - `server.port`:服务器端口,默认为 8080 - `spring.application.name`:应用名称 - 其他 Spring Boot 相关配置 ### 开发模式 在开发模式下,可以使用以下命令启动项目,支持热部署: ```bash mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` ## 项目结构 ``` ooder-agent-rad/ ├── components/ # 组件相关文件 ├── docs/ # 文档目录 ├── form/ # 表单设计相关文件 ├── lib/ # 依赖库 ├── ooder-pro/ # 专业版功能 ├── ooder-skills/ # AI技能集成 ├── src/ # 源代码 │ ├── main/ # 主代码 │ │ ├── java/ # Java 后端代码 │ │ │ └── net/ooder/ # 主要包结构 │ │ └── resources/ # 资源文件 │ │ ├── static/ # 静态资源(CSS, JS, 图片等) │ │ │ ├── Locale/ # 多语言资源 │ │ │ ├── RAD/ # RAD相关资源 │ │ │ ├── css/ # 样式文件 │ │ │ ├── js/ # JavaScript文件 │ │ │ └── ood/ # ooder核心资源 │ │ └── templates/ # FreeMarker 模板 │ └── test/ # 测试代码 ├── LICENSE # GPL3.0 许可证 ├── README.md # 项目说明文档 ├── README.en.md # 英文项目说明文档 └── pom.xml # Maven 配置文件 ``` ## 使用说明 ### 创建新项目 1. 打开应用程序,访问 `http://localhost:8080` 2. 在登录页面输入用户名和密码(默认配置请查看application.properties文件) 3. 进入主界面后,点击顶部菜单栏的 "文件" -> "新建工程" 4. 在弹出的对话框中填写工程名称、描述、访问类型等配置 5. 选择工程模板(可选) 6. 点击 "创建" 按钮完成工程创建 ### 设计页面 1. 在左侧项目树中选择一个工程 2. 右键点击 "页面" 文件夹,选择 "新建页面" 3. 填写页面名称和相关配置 4. 进入设计界面后,从左侧工具栏拖拽组件到中间设计画布 5. 在右侧属性面板配置组件的各种属性 6. 使用顶部菜单栏的功能进行保存、撤销、重做等操作 7. 在设计过程中,可以随时点击 "预览" 按钮查看实际效果 ### 组件库使用 - **基础组件**:包含按钮、文本框、标签、图片等基础UI元素 - **布局组件**:包含容器、网格、表格等布局元素 - **表单组件**:包含各种表单控件,如下拉框、复选框、单选框等 - **数据组件**:包含图表、数据列表、树状结构等数据展示组件 - **高级组件**:包含富文本编辑器、地图、视频播放器等高级功能组件 ### 预览和发布 1. 在设计界面中,点击顶部菜单栏的 "预览" 按钮 2. 在预览窗口中查看设计效果,支持不同设备尺寸的预览 3. 点击 "发布" 按钮,选择发布格式(如 HTML、Vue、React 等) 4. 选择发布目标位置,支持本地文件系统或远程服务器 5. 点击 "确认发布" 按钮生成最终代码 ### 文件版本控制 1. 在项目树中右键点击需要版本控制的文件 2. 选择 "版本管理" -> "创建版本" 3. 填写版本描述 4. 点击 "确认" 按钮创建版本 5. 可以在 "版本历史" 中查看和恢复历史版本 ### API集成 1. 点击顶部菜单栏的 "工具" -> "API配置" 2. 在API配置界面中添加API服务 3. 配置API的URL、请求方法、参数等 4. 在设计页面中使用API组件调用配置好的API 5. 可以在API测试界面中测试API连接和响应 ### 主题切换 1. 点击顶部菜单栏的 "视图" -> "主题" 2. 选择一个内置主题,如 "默认"、"深色"、"蓝色"、"绿色"、"紫色" 等 3. 可以在主题编辑器中自定义主题颜色和样式 4. 点击 "保存主题" 按钮保存自定义主题 ### 插件管理 1. 点击顶部菜单栏的 "工具" -> "插件管理" 2. 在插件管理界面中查看已安装的插件 3. 可以启用、禁用或卸载插件 4. 点击 "安装插件" 按钮安装新插件 5. 插件可以扩展应用程序的功能,如新增组件、集成第三方服务等 ## 二次开发 ooder-agent-rad 采用模块化架构,易于扩展和二次开发。详细的二次开发指南请参考项目的docs目录。 ### 开发环境搭建 1. 安装 JDK 1.8+ 和 Maven 3.0+ 2. 克隆项目代码到本地 3. 使用 IDE(如 IntelliJ IDEA、Eclipse 等)导入 Maven 项目 4. 安装必要的插件,如 Lombok、Spring Boot 插件等 5. 配置项目依赖和构建路径 ### 扩展组件库 1. 在 `src/main/java/net/ooder/rad/toolbox` 目录下创建新组件类 2. 实现组件的属性配置、渲染逻辑和事件处理 3. 在 `src/main/java/net/ooder/rad/config` 目录下的配置类中注册新组件 4. 在 `src/main/resources/static/RAD/img` 目录下添加组件图标 5. 重新构建项目,新组件将出现在左侧工具栏中 ### 定制主题 1. 在 `src/main/resources/static/ood/appearance` 目录下创建新主题目录 2. 创建主题 CSS 文件,定义主题颜色、字体、边框等样式 3. 在主题配置文件中注册新主题 4. 重新构建项目,新主题将出现在主题列表中 ### 开发新功能模块 1. 在 `src/main/java/net/ooder/rad` 目录下创建新模块包 2. 实现模块的核心功能类和服务 3. 在 `src/main/java/net/ooder/rad/bean` 目录下定义模块的数据模型 4. 在 `src/main/resources/templates` 目录下创建模块的模板文件 5. 在 `src/main/resources/static` 目录下添加模块的静态资源 6. 配置模块的路由和控制器 7. 重新构建项目,测试新模块功能 ### 开发插件 1. 在 `src/main/java/net/ooder/plugins` 目录下创建插件类 2. 实现插件的初始化、启动和停止方法 3. 配置插件的元数据和依赖 4. 在插件配置文件中注册新插件 5. 重新构建项目,新插件将出现在插件管理界面中 ### 集成第三方服务 1. 在 `pom.xml` 中添加第三方服务的依赖 2. 在 `src/main/java/net/ooder/rad/service` 目录下创建服务集成类 3. 实现服务的连接、认证和调用逻辑 4. 在 API 配置界面中添加第三方服务 5. 在设计页面中使用第三方服务 ### 代码规范 - 遵循 Java 代码规范,使用清晰的命名和注释 - 采用 Spring Boot 最佳实践 - 实现适当的异常处理和日志记录 - 编写单元测试和集成测试 - 保持代码的模块化和可维护性 ### 测试 1. 单元测试:使用 JUnit 5 编写单元测试,测试核心功能 2. 集成测试:测试模块之间的集成和协作 3. 功能测试:测试完整的功能流程 4. 性能测试:测试系统的性能和响应时间 5. 安全测试:测试系统的安全性和防护措施 ### 调试 1. 使用 IDE 的调试功能进行断点调试 2. 查看日志文件,分析系统运行状态 3. 使用浏览器的开发者工具调试前端代码 4. 使用 API 测试工具测试 API 接口 ### 部署 1. 构建生产版本:`mvn clean package -DskipTests` 2. 部署到服务器:将生成的 jar 文件上传到服务器 3. 配置服务器环境和依赖 4. 启动应用程序:`java -jar ooder-agent-rad.jar` 5. 配置反向代理和负载均衡(可选) 6. 监控应用程序运行状态 ### 贡献代码 1. Fork 项目仓库 2. 创建特性分支:`git checkout -b feature/AmazingFeature` 3. 提交更改:`git commit -m 'Add some AmazingFeature'` 4. 推送到分支:`git push origin feature/AmazingFeature` 5. 打开 Pull Request,描述你的更改和贡献 ### 开发资源 - [Spring Boot 官方文档](https://docs.spring.io/spring-boot/docs/2.7.0/reference/html/) - [FreeMarker 官方文档](https://freemarker.apache.org/docs/) - [Maven 官方文档](https://maven.apache.org/guides/) - [Java 8 官方文档](https://docs.oracle.com/javase/8/docs/) - [SLF4J 官方文档](https://www.slf4j.org/manual.html) ## AI 协作 ooder-agent-rad 提供了强大的 AI 协作能力,通过本地 `ooder-skills` 目录下的技能示例,实现了 AI 与可视化设计的深度结合: ### Skills 示例 `E:\ooder\ooder-public\agent-rad\ooder-skills` 目录包含了丰富的 AI 技能示例,主要包括: #### 核心技能 - **Ooder组件开发技能**:提供FormLayout和TreeGrid两个核心组件的开发指南和生成工具 - **组件代码生成工具**:基于自然语言描述生成符合Ooder框架规范的组件代码 #### 技能文件 - **SKILL.md**:详细的技能开发指南,包含组件特性、生成工具使用方法等 - **SKILLS_SOLO.md**:技能系统的Solo模式使用说明 - **README.md**:技能目录的整体说明 #### 生成工具 - **generateForm.js**:基于RAD设计的表单组件生成工具 - **generateList.js**:基于RAD设计的列表组件生成工具 #### 使用场景 1. **表单开发**:使用FormLayout组件构建各类表单 2. **列表开发**:使用TreeGrid组件创建数据列表 3. **快速开发**:使用自然语言快速生成组件代码 #### 使用示例 ```bash # 生成表单组件 node generateForm.js "类名:TestForm,标题:测试表单" TestForm.js # 生成列表组件 node generateList.js "类名:TestList,标题:测试列表" TestList.js ``` ## 学习路径 1. **入门阶段**:阅读工程架构概述、核心概念详解、快速入门 2. **开发阶段**:阅读注解体系总览、视图设计规范、服务设计规范 3. **高级阶段**:阅读 ooderAgent 架构设计、插件开发指南、注解最佳实践 4. **运维阶段**:阅读部署指南 ### 设计模式 ooder-agent-rad 采用了多种设计模式,如: - 单例模式:用于全局服务和配置管理 - 工厂模式:用于创建对象和服务 - 观察者模式:用于事件处理和消息通知 - 策略模式:用于算法和策略选择 - 适配器模式:用于集成不同系统和服务 - 代理模式:用于远程服务调用和访问控制 ### 最佳实践 - 遵循领域驱动设计(DDD)原则 - 采用 RESTful API 设计风格 - 实现适当的异常处理和错误管理 - 使用日志记录系统运行状态和错误信息 - 编写可测试、可维护的代码 - 定期进行代码审查和重构 - 保持系统的可扩展性和灵活性 - 关注系统的性能和安全性 ## 许可证 本项目采用 GNU General Public License v3.0 开源协议。详见 [LICENSE](LICENSE) 文件。 ## 联系方式 - 作者:ooderTeam - 邮箱:请通过 GitHub Issues 联系我们 - GitHub:[https://gitee.com/ooderCN/agent-rad](https://gitee.com/ooderCN/agent-rad) ## 致谢 感谢所有为 ooder-agent-rad 项目做出贡献的开发者和用户! ## 更新日志 ### v1.0.0 (2026-01-24) - 初始版本发布 - 实现可视化设计功能 - 支持组件化开发 - 集成 AI 辅助设计 - 实现多语言支持 - 支持动态主题 - 实现文件版本控制 - 提供完整的二次开发文档 ## 未来规划 - 增强 AI 辅助设计能力 - 支持更多前端框架的代码生成 - 改进性能和用户体验 - 增加更多内置组件和模板 - 增强团队协作功能 - 支持更多云服务集成 - 提供移动端设计支持 - 增强安全性和稳定性 ## 常见问题 ### Q: 如何解决构建失败的问题? A: 请确保 JDK 和 Maven 版本符合要求,检查依赖是否正确,清理 Maven 本地仓库后重新构建。 ### Q: 如何添加新的语言支持? A: 在 `src/main/resources/static/Locale` 目录下创建新的语言文件,按照现有语言文件的格式添加翻译内容。 ### Q: 如何提高应用程序的性能? A: 可以通过优化代码、减少资源文件大小、启用缓存、调整 JVM 参数等方式提高性能。 ### Q: 如何备份和恢复项目数据? A: 可以通过备份 `form` 目录和数据库文件来备份项目数据,恢复时将备份文件复制到相应位置即可。 ### Q: 如何报告 bug 和提出建议? A: 请通过项目维护渠道报告 bug 和提出建议,提供详细的问题描述和重现步骤。