外观
后端项目结构
适用项目:
ruoyi-aihuman-backend(基于 RuoYi 的 Java 后端)提供 AI 对话、语义识别(NLU)、语音识别(ASR)、文本转语音(TTS)、大屏-手机配对与 WebSocket 遥控长连接等数字人核心能力。
一、项目概述
| 属性 | 值 |
|---|---|
| 基础框架 | RuoYi-Vue v3.9.1 (Spring Boot 2.5.15) |
| JDK 版本 | 17 |
| Group ID | com.ruoyi |
| 入口模块 | ruoyi-admin (端口 8088) |
| AI 模块 | ruoyi-aihuman LLM 智能对话(暂未使用) ASR 语音识别 大屏-移动端配对 |
| LLM 后端 | SiliconFlow API(OpenAI 兼容接口);暂未使用(内置 LLM 对话前端未调用,前端对话使用的是业务后台 /ai/*) |
| LLM 模型 | deepseek-ai/DeepSeek-V3.2(暂未使用) |
| 数据库 | MySQL (ry-vue) + Redis |
| 关键依赖 | LangChain4j 0.36.2, FastJSON2, OkHttp 4.12.0 |
模块依赖关系
ruoyi (parent)
├── ruoyi-common (JWT, Redis, Spring Security, POI, FastJSON)
├── ruoyi-system (依赖 ruoyi-common)
├── ruoyi-framework (依赖 ruoyi-system)
│ ├── SecurityConfig → 放行 /digital-human/** 和 /ws/**
│ ├── ThreadPoolConfig → Core=50, Max=200 (AI 异步 SSE 使用)
│ ├── ApplicationConfig → RestTemplate Bean (ASR 模块使用)
│ └── RedisConfig → FastJSON2 序列化
├── ruoyi-admin (依赖 framework + 三个 ai 子模块)
└── ruoyi-aihuman (parent POM)
├── ruoyi-aihuman-core → 核心 SDK(LLM 对话,暂未使用)
├── ruoyi-aihuman-business → 业务 REST 接口 + 服务端工具(LLM 对话,暂未使用)
├── ruoyi-aihuman-asr → 语音识别(SiliconFlow API)
└── ruoyi-aihuman-pairing → WebSocket 大屏-手机配对通信二、目录树
text
ruoyi-aihuman-backend/
├── pom.xml # Maven 父工程,聚合下方子模块
├── docker/ # 容器化部署相关
├── 启动方式.md # 本地启动说明
├── 打包部署jar.md # 打 jar 包与部署说明
├── 项目交接文档.md # 交接与配置说明
├── README.md
├── ruoyi-admin/ # 启动入口模块(Spring Boot 主应用)
│ ├── src/ # 主启动类、配置、全局异常处理
│ ├── target/ # 构建产物
│ └── pom.xml
├── ruoyi-aihuman/ # 数字人业务核心模块(多子模块)
│ ├── ruoyi-aihuman-asr/ # 语音识别(ASR)
│ ├── ruoyi-aihuman-business/ # 业务编排 / 接口聚合(LLM 对话,暂未使用)
│ ├── ruoyi-aihuman-core/ # 核心能力(LLM 对话、工具调度,暂未使用)
│ ├── ruoyi-aihuman-nlu/ # 语义理解(NLU)
│ ├── ruoyi-aihuman-pairing/ # 大屏-手机配对(生成配对码、踢出)
│ ├── ruoyi-aihuman-tts/ # 文本转语音(TTS,含阿里云实时/非流式)
│ └── pom.xml
└── ruoyi-common/ # 通用工具 / 公共依赖(鉴权、常量、工具类)
├── src/
└── pom.xml三、各模块简介
| 模块 | 职责 |
|---|---|
ruoyi-admin | Spring Boot 主应用入口 启动 全局配置 统一异常处理 聚合所有 ruoyi-aihuman-* 与 ruoyi-common |
ruoyi-aihuman-business | 对外 REST 接口聚合层(Controller);仅剩内置 LLM 对话接口,暂未使用(前端对话走业务后台 /ai/*) |
ruoyi-aihuman-core | 数字人核心 / 对话编排 / 客户端工具调度等;内置 LLM 对话 SDK,暂未使用(WebSocket 长连接实际在 ruoyi-aihuman-pairing) |
ruoyi-aihuman-nlu | 语义识别(NLU):把自然语言解析为结构化意图,驱动大屏动作(地图/弹窗/模块切换) |
ruoyi-aihuman-tts | 文本转语音(TTS):实时播报全面采用流式双工 /tts/aliyunStream/ws;非流式 /tts/aliyun(阿里云 NLS)即将弃用;另有百炼版 /tts/qwen/download,仅用于生成预设语音 mp3 文件 |
ruoyi-aihuman-asr | 语音识别(ASR):将前端上传的音频转为文本(/asr/recognize) |
ruoyi-aihuman-pairing | 配对服务 生成配对码/二维码( /pairing/qrcode)设备踢出( /pairing/kick)配对状态维护 |
ruoyi-common | 公共基础 鉴权 常量 通用工具类 被各业务模块依赖 |
四、与前端的关系
| 后端能力 | 前端调用入口 |
|---|---|
| AI 对话(流式) 【业务后台】 | src/api/ai/智能交互 /ai/chat/stream专家问答 /ai/orchestrate/chat/stream |
| NLU / TTS / ASR / 配对 | 统一前缀 VITE_APP_AI_API(/dhman-api)→ ruoyi-aihuman-nlu / -tts / -asr / -pairing |
| 大屏-手机遥控长连接 | ws://{VITE_AI_APP_HOST}/ws/digital-human → ruoyi-aihuman-pairing |
接口清单、环境变量与采样约定见前端文档「接口与配置」;