# derisk-ai **Repository Path**: zrclass/derisk-ai ## Basic Information - **Project Name**: derisk-ai - **Description**: DERISK-AI 是一个基于 Spring Boot 3 + Vue 3 的现代化 AI 智能管理系统,集成了大语言模型、知识库管理、智能对话等 AI 能力,同时提供完善的用户管理、权限控制、系统监控等企业级功能。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2026-04-26 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Harness, RAG, AI ## README # DERISK-AI

基于 Spring Boot 3 + Vue 3 的 AI 智能管理系统

JDK Spring Boot Vue License

--- ## 简介 DERISK-AI 是一个基于 Spring Boot 3 + Vue 3 的现代化 AI 智能管理系统,集成了大语言模型、知识库管理、智能对话等 AI 能力,同时提供完善的用户管理、权限控制、系统监控等企业级功能。 项目采用前后端分离架构,后端基于 Spring Boot 3 构建,前端采用 Vue 3 + TypeScript + Naive UI,支持深色主题、多标签页、动态路由等特性。 ## 开发方法论 本项目采用 **Harness Engineering** 工程方法论,通过 **SDD(Specification-Driven Development,规格驱动开发)** 方式进行开发,具体实现为 **OpenCode + OpenSpec + Superpowers**: - **Harness Engineering**:以规格为核心,通过明确的规范和约束驱动整个开发流程 - **SDD 规格驱动开发**:先定义清晰的规格文档,再基于规格进行代码实现,确保开发过程可追溯、可验证 - **OpenCode**:开源代码生成引擎,负责将规格转化为可执行代码 - **OpenSpec**:开放的规格定义框架,用于描述功能需求、接口契约和验收标准 - **Superpowers**:AI 辅助开发工具集,基于规格自动生成代码、执行测试、验证实现 这种开发方式确保了项目的高质量交付,每个功能都有明确的规格定义、实现路径和验收标准。 ### 如何使用 OpenSpec OpenSpec 是一个专为 AI 编程设计的轻量级规格驱动开发框架。本项目使用 OpenSpec 来管理功能需求的规格定义,确保每个功能在编码前都有清晰的需求对齐。 #### 安装与初始化 ```bash # 安装 OpenSpec CLI(需要 Node.js 20.19.0+) npm install -g @fission-ai/openspec@latest # 进入项目目录并初始化 cd derisk-ai-main openspec init ``` 初始化后,项目会生成 `openspec/` 目录结构: ``` openspec/ ├── config.yaml # OpenSpec 全局配置 ├── changes/ # 功能变更规格 │ ├── archive/ # 已归档的历史变更 │ └── / # 进行中的功能变更 │ ├── proposal.md # 变更提案概述 │ ├── design.md # 设计文档 │ ├── tasks.md # 任务清单 │ ├── specs/ # 规格定义 │ │ └── / │ │ └── spec.md # 具体规格文档 │ └── .openspec.yaml # 变更元信息 └── specs/ # 已生效的活跃规格 └── / └── spec.md # 当前生效的规格 ``` #### 创建功能变更(AI 自动生成) 在支持 OpenSpec 的 AI 编程工具中(如 Claude Code、Cursor、Windsurf、Qwen Code 等),直接使用斜杠命令: ``` /opsx:propose add-user-management ``` AI 会自动创建 `openspec/changes/add-user-management/` 目录,并生成以下文件: - `proposal.md` — 变更目的和影响范围 - `specs/` — 功能需求和验收场景 - `design.md` — 技术实现方案 - `tasks.md` — 实现任务清单 #### 执行功能变更 ``` /opsx:apply ``` AI 会根据规格文档自动实现代码,并逐项完成 `tasks.md` 中的任务。 #### 归档已完成的变更 ``` /opsx:archive ``` 变更完成后,AI 会自动将其归档到 `changes/archive/` 目录,并将相关规格更新到 `specs/` 目录。 #### 查看现有规格 项目中的规格文档位于 `openspec/` 目录下,你可以直接浏览: - **活跃变更**:`openspec/changes/` 目录下查看正在进行的功能开发 - **历史变更**:`openspec/changes/archive/` 目录下查看已归档的完成功能 - **活跃规格**:`openspec/specs/` 目录下查看当前生效的功能规格 #### 规格文件格式 每个 `spec.md` 文件遵循 OpenSpec 规范,包含: - **需求描述**:功能的具体需求和预期行为 - **验收标准**:可测试的验收条件 - **接口契约**:API 接口定义、输入输出格式 - **约束条件**:技术约束和业务规则 ## 核心特性 - **AI 能力集成**:支持大语言模型对话、知识库管理、智能应用构建 - **LangChain 集成**:内置 LangChain 模块,支持 AI Agent 开发 - **多模型支持**:支持 OpenAI、DeepSeek、百度千帆、阿里百炼、智谱清言、Gitee AI 等主流模型 - **多向量库支持**:支持 Milvus、PgVector 等向量数据库 - **多租户支持**:完善的租户隔离与数据权限管理 - **权限管理**:基于 RBAC 的细粒度权限控制 - **系统监控**:集成 Spring Boot Admin,实时监控系统状态 - **代码生成**:内置代码生成器,快速生成 CRUD 代码 - **文件存储**:支持本地存储、MinIO、阿里云 OSS 等多种存储方式 - **多数据源**:支持动态数据源切换 - **分布式锁**:基于 Redisson 的分布式锁实现 - **接口文档**:集成 SpringDoc,自动生成 API 文档 ## 界面预览 ### 主控台 数据概览面板,展示 LLM 请求量、Token 消耗量、用户增长量、知识库数量等核心指标。 ![主控台](./doc/image/00.png) ### AI 应用管理 创建和管理 AI 应用,支持自定义应用名称、关联模型、应用封面和描述。 ![AI应用管理](./doc/image/11.png) ### 应用创建 通过弹窗表单快速创建 AI 应用,支持选择模型、上传封面、填写描述。 ![应用创建](./doc/image/22.png) ### AI 聊天助手 智能对话界面,支持多轮对话、历史对话管理、应用切换等功能。 ![AI聊天助手](./doc/image/33.png) ### 模型管理 管理 Chat 模型、Embedding 向量模型、Image 文生图模型,支持多模型供应商配置。 ![模型管理](./doc/image/44.png) ### 向量库管理 管理向量数据库连接,支持 Milvus、PgVector 等向量数据库的配置和管理。 ![向量库管理](./doc/image/55.png) ### 知识库管理 创建和管理知识库,支持文档上传、向量化处理,为 AI 应用提供知识增强能力。 ![知识库管理](./doc/image/66.png) ## 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.4.4 | 核心框架 | | JDK | 21+ | Java 运行环境 | | MyBatis-Plus | 3.5.10.1 | ORM 框架 | | Sa-Token | 1.40.0 | 权限认证框架 | | Redisson | 3.45.1 | Redis 客户端 | | Hutool | 5.8.35 | Java 工具类库 | | LangChain4j | 1.0.0-beta1 | AI 框架 | | MySQL | 8.0+ | 数据库 | | Redis | 7.0+ | 缓存数据库 | | Undertow | 2.3.x | Web 服务器 | ### 前端 | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.x | 渐进式 JavaScript 框架 | | TypeScript | 4.9.5 | JavaScript 的超集 | | Vite | 3.2.7 | 前端构建工具 | | Naive UI | 2.39.0 | Vue 3 组件库 | | Pinia | 2.1.6 | Vue 状态管理 | | Axios | 1.4.0 | HTTP 客户端 | ## 项目结构 ``` derisk-ai-main/ ├── derisk-admin/ # Web 服务入口 ├── derisk-common/ # 通用模块 │ ├── derisk-common-bom/ # 依赖版本管理 │ ├── derisk-common-core/ # 核心模块 │ ├── derisk-common-doc/ # 接口文档 │ ├── derisk-common-excel/ # Excel 处理 │ ├── derisk-common-idempotent/ # 幂等控制 │ ├── derisk-common-log/ # 日志记录 │ ├── derisk-common-mail/ # 邮件服务 │ ├── derisk-common-mybatis/ # MyBatis 扩展 │ ├── derisk-common-oss/ # 对象存储 │ ├── derisk-common-ratelimiter/ # 限流 │ ├── derisk-common-redis/ # Redis 缓存 │ ├── derisk-common-satoken/ # 权限认证 │ ├── derisk-common-security/ # 安全模块 │ ├── derisk-common-web/ # Web 扩展 │ ├── derisk-common-translation/ # 翻译 │ ├── derisk-common-sensitive/ # 敏感词 │ ├── derisk-common-json/ # JSON 处理 │ ├── derisk-common-encrypt/ # 加密 │ ├── derisk-common-tenant/ # 多租户 │ ├── derisk-common-websocket/ # WebSocket │ ├── derisk-common-sse/ # SSE 推送 │ └── derisk-common-agi/ # AI 模块 ├── derisk-modules/ # 业务模块 │ ├── derisk-system/ # 系统模块 │ ├── derisk-system-config/ # 系统配置 │ ├── derisk-system-oss/ # 对象存储 │ └── derisk-langchain/ # LangChain AI 模块 ├── derisk-extend/ # 扩展模块 │ └── derisk-monitor-admin/ # 监控服务 ├── derisk-ui/ # 前端项目 │ └── derisk-ui/ # AI 管理前端 └── script/ # 脚本文件 ├── sql/ # 数据库脚本 └── docker/ # Docker 配置 ``` ## 快速开始 ### 环境要求 - JDK 21+ - Maven 3.8+ - MySQL 8.0+ - Redis - Node.js 18+ - pnpm ### 后端启动 1. **创建数据库** ```bash # 执行 SQL 脚本 mysql -u root -p < script/sql/1_derisk_sys.sql mysql -u root -p < script/sql/2_derisk.sql ``` 2. **修改配置** 编辑 `derisk-admin/src/main/resources/application-dev.yml`,修改数据库和 Redis 连接信息: ```yaml spring: datasource: dynamic: datasource: master: url: jdbc:mysql://localhost:3306/derisk?useUnicode=true&characterEncoding=utf8... username: root password: your_password data: redis: host: localhost port: 6379 password: your_password ``` 3. **编译启动** ```bash # 方式一:使用启动脚本(Windows) .\start.bat # 方式二:使用 Maven 命令 mvn clean install -DskipTests java -jar derisk-admin/target/derisk-admin.jar ``` ### 前端启动 ```bash cd derisk-ui # 安装依赖 pnpm install # 启动开发服务器 pnpm dev # 构建生产版本 pnpm build ``` ### 访问地址 - 前端地址:http://localhost:6003 - 后端接口:http://localhost:8180 - 接口文档:http://localhost:8180/doc.html - 监控中心:http://localhost:9090 ### 默认账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | admin | admin123 | ## 配置说明 ### 多环境配置 项目支持多环境配置,通过 Maven Profile 切换: ```bash # 开发环境(默认) mvn clean install -P dev # 生产环境 mvn clean install -P prod # 本地环境 mvn clean install -P local ``` ### 模型配置 在 AI 平台 > 模型管理 中配置模型供应商和 API Key: 1. 选择模型供应商(OpenAI、DeepSeek、百度千帆等) 2. 填写模型别名、模型版本、API Key 等信息 3. 保存后即可在 AI 应用中选择该模型 ### 向量库配置 在 AI 平台 > 向量库管理 中配置向量数据库: 1. 点击"新增向量数据库" 2. 选择供应商(Milvus、PgVector) 3. 填写数据库地址、端口、用户名、密码等信息 4. 保存后即可在知识库中使用 ## 许可证 本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 联系方式 如有问题或建议,欢迎提交 Issue 或通过以下方式联系我们。