# cloud-agent-idea **Repository Path**: bingtool/cloud-agent-idea ## Basic Information - **Project Name**: cloud-agent-idea - **Description**: java云idea工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cloud-agent-idea 云端AI IDE工具 - 基于AI的在线编程开发环境,提供智能对话编程、在线代码编辑、实时预览等功能。 ## 功能特性 - **AI对话编程**:基于AgentScope框架,支持自然语言对话生成和修改代码 - **在线代码编辑器**:集成Monaco Editor,提供VS Code级别的代码编辑体验 - **文件资源管理器**:完整的项目文件树结构管理,支持文件/文件夹的创建、重命名、删除 - **内置终端**:基于pty4j和xterm.js的Web终端,支持运行命令和脚本 - **实时预览**:内置预览面板,实时查看Web项目运行效果 - **多项目模板**:内置Next.js、React.js、VanillaJS、PHP、Streamlit等多种项目模板 - **WebSocket实时通信**:前后端实时双向通信,编辑器状态和终端输出即时同步 - **用户认证**:集成Spring Security,提供完整的用户认证体系 - **代码差异对比**:支持代码变更对比,直观展示AI修改内容 - **项目分享**:项目可分享给其他用户协作查看 ## 技术栈 ### 后端 - **框架**:Spring Boot 3.4.13 - **语言**:Java 17 - **AI框架**:AgentScope 2.0.0-RC2 - **数据库**:H2 嵌入式数据库(文件存储模式) - **实时通信**:Spring WebSocket - **终端模拟**:pty4j 0.12.13 - **主要依赖**: - spring-boot-starter-web - spring-boot-starter-webflux - spring-boot-starter-websocket - spring-boot-starter-data-jpa - spring-boot-starter-security - agentscope-harness - jackson-dataformat-yaml - commons-compress ### 前端 - **框架**:Next.js 16.0.10 - **UI库**:React 19.1.2 - **语言**:TypeScript 5.8.3 - **代码编辑器**:Monaco Editor (@monaco-editor/react 4.6.0) - **终端**:xterm.js 5.5.0 + @xterm/addon-fit - **样式**:Tailwind CSS 3.3.0 - **布局系统**:dockview 4.13.1 - **实时通信**:socket.io-client 4.7.5 - **AI SDK**:ai 6.0.94 + @ai-sdk/react - **ORM**:drizzle-orm 0.44.2 - **UI组件**:Radix UI - **状态管理**:Zustand 5.0.8 - **数据请求**:TanStack React Query 5.71.10 ## 系统架构 本项目采用前后端分离架构: - **后端**:基于Spring Boot构建,承担核心业务逻辑处理,负责AI Agent调度、文件系统管理、终端进程管理、数据持久化等。通过REST API提供HTTP服务,通过WebSocket提供实时双向通信能力。 - **前端**:基于Next.js构建,提供用户交互界面,包含代码编辑器、文件浏览器、终端面板、AI聊天窗口等。通过HTTP API与后端进行常规数据交互,通过WebSocket与后端保持实时连接,同步编辑器状态、终端输出、AI对话流等实时数据。 - **通信方式**: - HTTP REST API:用于常规的CRUD操作、项目管理、用户认证等 - WebSocket/Socket.IO:用于实时消息推送、终端交互、AI流式响应、文件变更通知等 ## 项目结构 ``` cloud-agent-idea/ ├── backend/ # Spring Boot后端项目 │ ├── pom.xml # Maven依赖配置 │ ├── start.bat # Windows启动脚本 │ ├── start.ps1 # PowerShell启动脚本 │ ├── settings.xml # Maven配置 │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/aicoding/ # Java源代码 │ │ ├── dto/ # 数据传输对象 │ │ └── entity/ # JPA实体类 │ └── resources/ │ ├── application.yml # 后端配置文件 │ └── templates/ # 内置项目模板 │ ├── nextjs/ # Next.js模板 │ ├── reactjs/ # React.js模板 │ ├── vanillajs/ # 原生JavaScript模板 │ ├── php/ # PHP模板 │ └── streamlit/ # Streamlit(Python)模板 └── frontend/ # Next.js前端项目 ├── package.json # npm依赖配置 ├── .env.example # 环境变量示例 ├── next.config.mjs # Next.js配置 ├── eslint.config.mjs # ESLint配置 ├── postcss.config.js # PostCSS配置 ├── app/ # Next.js App Router页面 │ ├── (app)/ # 应用主页面路由组 │ ├── (auth)/ # 认证页面路由组 │ └── api/ # API路由 ├── components/ # React组件 │ ├── dashboard/ # 仪表板相关组件 │ ├── landing/ # 首页组件 │ ├── project/ # 项目编辑器相关组件 │ │ ├── chat/ # AI聊天组件 │ │ ├── hooks/ # 自定义Hooks │ │ ├── layout/ # 布局组件 │ │ ├── navbar/ # 导航栏组件 │ │ ├── preview/ # 预览组件 │ │ ├── sidebar/ # 侧边栏组件 │ │ └── terminals/ # 终端组件 │ └── ui/ # UI基础组件 ├── context/ # React Context ├── hooks/ # 全局自定义Hooks ├── lib/ # 工具库 │ ├── ai/ # AI相关工具 │ ├── api/ # API请求封装 │ ├── monaco/ # Monaco Editor配置 │ └── schema/ # 数据模式定义 ├── public/ # 静态资源 └── assets/ # 资源文件 ``` ## 环境要求 - **JDK**:17 或更高版本 - **Maven**:3.6 或更高版本 - **Node.js**:18 或更高版本 - **npm**:9 或更高版本(随Node.js附带) - **操作系统**:Windows(推荐)、Linux、macOS ## 快速开始 ### 后端启动 #### 1. 配置application.yml 首先需要配置后端配置文件,主要修改AgentScope的API Key: 打开 `backend/src/main/resources/application.yml`,找到以下配置项: ```yaml agentscope: model: glm-5.2 api-key: your-api-key-here # 替换为你的实际API Key base-url: https://your-llm-endpoint # 根据需要修改API端点 ``` 同时可以根据需要修改工作空间路径: ```yaml app: workspace: root: /path/to/your/workspace # 修改为实际的工作空间目录 ``` #### 2. 使用Maven构建并运行 ```bash cd backend mvn spring-boot:run ``` 或者在Windows系统下直接双击运行 `start.bat` 批处理文件。 #### 3. 访问H2数据库控制台 后端启动成功后,可以通过以下地址访问H2数据库Web控制台: - 地址:http://localhost:8080/h2-console - JDBC URL:`jdbc:h2:file:./data/web-ai-coding-db` - 用户名:`sa` - 密码:(空) 后端服务默认运行在 **http://localhost:8080** ### 前端启动 #### 1. 安装依赖 ```bash cd frontend npm install ``` #### 2. 配置环境变量 复制环境变量示例文件: Windows (cmd/PowerShell): ```bash copy .env.example .env ``` Linux/macOS: ```bash cp .env.example .env ``` 编辑 `.env` 文件,根据实际情况配置: ```env NEXT_PUBLIC_APP_URL=http://localhost:3000 NEXT_PUBLIC_SERVER_URL=http://localhost:4000 NEXT_PUBLIC_BACKEND_URL=http://localhost:8080 ``` #### 3. 运行开发服务器 ```bash npm run dev ``` 前端服务默认运行在 **http://localhost:3000** 启动成功后,在浏览器中访问 http://localhost:3000 即可使用云端AI IDE。 ## 配置说明 ### 后端配置 (application.yml) | 配置项 | 说明 | 默认值 | |--------|------|--------| | `server.port` | 后端服务端口 | `8080` | | `spring.datasource.url` | H2数据库文件路径 | `jdbc:h2:file:./data/web-ai-coding-db` | | `spring.h2.console.enabled` | 是否启用H2控制台 | `true` | | `spring.h2.console.path` | H2控制台访问路径 | `/h2-console` | | `spring.jpa.hibernate.ddl-auto` | JPA DDL自动更新策略 | `update` | | `app.cors.allowed-origins` | CORS允许的源 | `http://localhost:3000` | | `app.workspace.root` | 项目工作空间根目录 | **请修改为你本地的实际工作空间目录** | | `app.encryption.key` | 加密密钥 | 从环境变量 `ENCRYPTION_KEY` 读取 | | `agentscope.model` | 使用的AI模型名称 | `glm-5.2` | | `agentscope.api-key` | LLM服务API密钥 | **必须自行配置** | | `agentscope.base-url` | LLM服务API端点地址 | 阿里云百炼兼容模式端点 | **重要提示**:`agentscope.api-key` 必须配置为你自己的有效API密钥,否则AI功能无法正常工作。请不要使用配置文件中的默认密钥。 ### 前端环境变量 (.env) | 环境变量 | 说明 | 示例值 | |----------|------|--------| | `NEXT_PUBLIC_APP_URL` | 前端应用访问地址 | `http://localhost:3000` | | `NEXT_PUBLIC_SERVER_URL` | 服务端地址(用于Next.js服务端) | `http://localhost:4000` | | `NEXT_PUBLIC_BACKEND_URL` | 后端API服务地址 | `http://localhost:8080` | ## 参考项目 本项目的设计和实现参考了以下优秀开源项目: - [GitWit](https://github.com/gitwitorg/gitwit) - AI驱动的代码生成工具 - [Continue](https://github.com/continuedev/continue) - 开源AI代码助手 ## 许可证 待补充。