# 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 智能管理系统
---
## 简介
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 消耗量、用户增长量、知识库数量等核心指标。

### AI 应用管理
创建和管理 AI 应用,支持自定义应用名称、关联模型、应用封面和描述。

### 应用创建
通过弹窗表单快速创建 AI 应用,支持选择模型、上传封面、填写描述。

### AI 聊天助手
智能对话界面,支持多轮对话、历史对话管理、应用切换等功能。

### 模型管理
管理 Chat 模型、Embedding 向量模型、Image 文生图模型,支持多模型供应商配置。

### 向量库管理
管理向量数据库连接,支持 Milvus、PgVector 等向量数据库的配置和管理。

### 知识库管理
创建和管理知识库,支持文档上传、向量化处理,为 AI 应用提供知识增强能力。

## 技术栈
### 后端
| 技术 | 版本 | 说明 |
|------|------|------|
| 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 或通过以下方式联系我们。