# opencode **Repository Path**: Zhouwq/opencode ## Basic Information - **Project Name**: opencode - **Description**: 基于AI的OpenCode开源脚手架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: http://38.207.179.143/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-10 - **Last Updated**: 2026-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCode 一个基于 Spring Boot 和 Vue.js 的全栈开发平台,提供完整的权限管理、文件管理、配置管理、日志管理、AI服务等核心功能。 ## 📋 项目简介 OpenCode 是一个企业级开发平台,采用前后端分离架构,提供丰富的业务模块和开发工具,帮助开发者快速构建企业级应用。 ## ✨ 核心特性 ### 后端服务 - **认证授权服务** (`platform-auth-service`) - 用户登录、注册、权限管理、角色管理 - **配置管理服务** (`platform-config-service`) - 系统配置、字典管理 - **文件管理服务** (`platform-file-service`) - 文件上传、下载、预览,支持 OSS、MinIO、NAS 等多种存储方式 - **日志服务** (`platform-log-service`) - 操作日志、系统日志记录与查询 - **AI服务** (`platform-ai-service`) - AI 聊天、文件处理等 AI 能力 - **消息服务** (`platform-message-service`) - 邮件发送、消息通知 - **数据库开发服务** (`develop-db-service`) - 数据库开发工具 - **MCP服务器** (`platform-mcpserver`) - 基于 SSE 协议的 MCP 服务 ### 前端功能 - 用户认证与授权 - 菜单与路由管理 - 数据字典管理 - 文件管理 - 系统配置 - 操作日志查询 - AI 聊天界面 - 数据源管理 ## 🛠️ 技术栈 ### 后端 - **Java 17** - 编程语言 - **Spring Boot** - 应用框架 - **Maven** - 项目构建工具 - **MySQL 8.0** - 关系型数据库 - **Redis 4.0** - 缓存数据库 - **MinIO** - 对象存储服务 ### 前端 - **Vue 2.6** - 前端框架 - **Element UI 2.13** - UI 组件库 - **Vue Router 3.0** - 路由管理 - **Vuex 3.6** - 状态管理 - **Axios** - HTTP 客户端 - **ECharts 4.2** - 数据可视化 ## 📁 项目结构 ``` opencode/ ├── src/ │ ├── backend/ # 后端服务 │ │ ├── opencode-spring-parent/ # Spring Boot 父模块 │ │ ├── platform-auth-service/ # 认证授权服务 │ │ ├── platform-auth-sdk/ # 认证授权 SDK │ │ ├── platform-config-service/ # 配置管理服务 │ │ ├── platform-config-sdk/ # 配置管理 SDK │ │ ├── platform-file-service/ # 文件管理服务 │ │ ├── platform-file-sdk/ # 文件管理 SDK │ │ ├── platform-log-service/ # 日志服务 │ │ ├── platform-log-sdk/ # 日志 SDK │ │ ├── platform-ai-service/ # AI 服务 │ │ ├── platform-message-service/ # 消息服务 │ │ ├── platform-mcpserver/ # MCP 服务器 │ │ ├── opencode-service/ # 主服务 │ │ └── develop-db-service/ # 数据库开发服务 │ └── frontend/ # 前端应用 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── components/ # 公共组件 │ │ ├── views/ # 页面视图 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── utils/ # 工具函数 │ └── package.json ├── docker/ # Docker 配置 │ └── docker-compose.yml # Docker Compose 配置 ├── sql/ # SQL 脚本 └── README.md ``` ## 🚀 快速开始 ### 环境要求 - **JDK 17+** - **Maven 3.6+** - **Node.js 8.9+** - **npm 3.0+** - **Docker** (可选,用于容器化部署) - **Docker Compose** (可选) ### 使用 Docker Compose 启动(推荐) 1. 克隆项目 ```bash git clone cd opencode ``` 2. 启动服务 ```bash cd docker docker-compose up -d ``` 服务启动后: - 前端访问地址:http://localhost - 后端 API 地址:http://localhost:8080 - MinIO 控制台:http://localhost:9001 - MySQL 端口:3306 - Redis 端口:6379 ### 本地开发 #### 后端开发 1. 启动基础设施服务(MySQL、Redis、MinIO) ```bash cd docker docker-compose up -d mysql redis minio ``` 2. 配置数据库 - 创建数据库 `opencode` - 执行 SQL 脚本(位于 `sql/` 目录) 3. 编译并启动后端服务 ```bash cd src/backend mvn clean install cd opencode-service mvn spring-boot:run ``` #### 前端开发 1. 安装依赖 ```bash cd src/frontend npm install ``` 2. 启动开发服务器 ```bash npm run dev ``` 前端开发服务器将在 http://localhost:9528 启动 ## 📦 构建部署 ### 后端构建 ```bash cd src/backend mvn clean package -DskipTests ``` ### 前端构建 ```bash cd src/frontend npm run build:prod ``` 构建产物位于 `src/frontend/dist/` 目录 ### Docker 镜像构建 后端镜像: ```bash cd src/backend docker build -t opencode-backend:latest . ``` 前端镜像: ```bash cd src/frontend docker build -t opencode-frontend:latest . ``` ## 🔧 配置说明 ### 后端配置 主要配置项在 `docker-compose.yml` 中通过环境变量设置: - `SPRING_DATASOURCE_URL` - 数据库连接地址 - `SPRING_DATASOURCE_USERNAME` - 数据库用户名 - `SPRING_DATASOURCE_PASSWORD` - 数据库密码 - `SPRING_DATA_REDIS_HOST` - Redis 主机地址 - `SPRING_DATA_REDIS_PORT` - Redis 端口 - `SPRING_DATA_REDIS_PASSWORD` - Redis 密码 - `OPENJAVA_FILE_DEFAULTSTORAGEMODE` - 文件存储模式(MINIO/OSS/NAS) - `OPENJAVA_FILE_MINIO_ENDPOINT` - MinIO 端点地址 ### 前端配置 前端配置位于 `src/frontend/src/settings.js`,可根据需要修改 API 地址等配置。 ## 📝 开发规范 - 代码风格遵循 Java 和 JavaScript 标准规范 - 提交代码前请运行 `npm run lint` 检查代码规范 - 使用有意义的提交信息 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 [Apache License 2.0](LICENSE) 许可证。 ## 👥 作者 - **opencode** - 初始开发 ## 🙏 致谢 欢迎大家提出宝贵的意见和建议! --- 如有问题或建议,欢迎提交 Issue。