基于SpringAi的心理健康助手

项目包含:
源码+ 数据库+ 部署文档
技术架构:
后端:springboot/mybatisplus/jwt/SpringSecurity/SpringAI
前端:vue/element-plus/nodejs/axios/pinia/vite
数据库:mysql8

用户模块:用户登录;用户注册;密码找回;用户退出;个人信息查询;个人信息修改;密码修改;用户增删改查;用户统计;用户状态管理

情绪日记模块:情绪日记增删改查;根据日期查询日记;情绪日记分页查询;情绪统计分析;AI情绪分析;手动触发AI分析;批量AI分析
知识文章模块:知识文章增删改查;文章发布;文章下线;文章阅读;文章状态更新;批量删除文章;文章统计;分页查询文章
知识分类模块:知识分类增删改查;分类树查询;分页查询分类
心理咨询模块:创建咨询会话;流式AI对话;会话增删改查;会话消息查询;会话情绪分析;会话标题更新

用户收藏模块:收藏文章;取消收藏;收藏状态查询;收藏列表查询;收藏统计
文件管理模块:简单文件上传;业务文件上传;临时文件上传;文件删除;批量文件删除;文件信息查询;文件下载;临时文件确认;过期文件清理;文件上传配置查询
数据分析模块:综合数据分析;情绪热力图;系统概览;情绪趋势;咨询统计;用户活跃度

AI任务管理模块:AI任务分页查询;队列统计;任务重试;批量任务重试
🧠 心语智伴:基于 Spring AI 的心理健康智能陪伴与情绪分析系统
📖 项目概述
本系统是一款专为现代人心理健康打造的 AI 情感陪伴与专业辅助平台。它创新性地将 Spring AI 大模型框架与 Vue3 + Element Plus 前后端分离架构深度融合,构建了“情绪记录 + AI 对话 + 专业分析 + 知识科普”的四位一体解决方案。系统能够自动识别用户日记/对话中的 焦虑、抑郁、压力、孤独、愤怒、喜悦 等情绪状态,提供实时心理疏导建议,并支持流式 AI 对话、情绪趋势可视化、风险预警干预、知识库管理及后台任务队列调度。通过 Java (SpringBoot/Spring AI) + Vue3 的全栈技术实现,为个人用户提供温暖陪伴,为心理咨询师/机构提供高效管理工具,为科研机构提供情绪数据支撑。
🚀 核心功能矩阵
1. 💬 智能 AI 心理咨询助手
- 流式对话体验:
- 基于 Spring AI + Stream API 实现打字机效果回复,提升交互自然度。
- 支持多轮上下文记忆,理解用户历史对话内容。
- 可切换不同人格设定(如“暖心姐姐”、“理性导师”、“幽默朋友”)。
- 深度情绪洞察:
- 自动分析对话文本,识别主导情绪及强度(0-100 分)。
- 生成个性化疏导建议(如深呼吸练习、认知重构技巧、行动清单)。
- 高风险信号检测(自杀倾向、严重抑郁),触发紧急干预流程。
- 会话管理:
- 创建/删除/重命名咨询会话。
- 查看历史对话记录,支持关键词搜索。
- 导出对话记录为 PDF 或 TXT 格式。
2. 📔 情绪日记与智能分析
- 便捷记录入口:
- 文字输入框 + 表情选择器 + 生活指标评分(睡眠、压力、饮食、运动)。
- 支持语音转文字输入(可选扩展)。
- AI 深度解读:
- 手动触发或定时自动分析日记内容。
- 输出情绪标签云、情绪强度曲线、潜在心理问题提示。
- 生成改善建议报告(含具体行动方案)。
- 数据统计看板:
- 情绪日历热力图:直观展示每日情绪波动。
- 情绪流动图:折线图呈现近 7/30 天情绪变化趋势。
- 生活指标关联分析:探索睡眠质量、压力水平与情绪的相关性。
3. 📚 专业知识库与文章管理
- 结构化知识体系:
- 分类树管理(如“抑郁症专题”、“焦虑症应对”、“人际关系”、“自我成长”)。
- 文章详情页包含摘要、正文、插图、推荐阅读、收藏按钮。
- 内容运营后台:
- 管理员发布/编辑/下线文章。
- 批量操作(删除、移动分类、设置置顶)。
- 阅读量统计与热门排行。
- 用户互动功能:
- 收藏喜欢的文章至个人中心。
- 分享文章链接至社交媒体。
- 评论与点赞(可选扩展)。
4. 👥 用户管理与权限控制
- 完整用户生命周期:
- 注册/登录(邮箱/手机号验证)、密码找回、退出登录。
- 个人信息管理(头像、昵称、性别、生日、职业)。
- 密码修改与安全设置。
- 精细化权限控制:
- 普通用户:使用所有前端功能,查看个人数据。
- 管理员:访问后台管理系统,管理用户、文章、任务队列、数据分析。
- 超级管理员:拥有最高权限,可配置系统参数、管理角色。
- 安全机制:
- JWT Token 鉴权,防止未授权访问。
- BCrypt 密码加密存储。
- 操作日志审计(记录关键操作时间与 IP)。
5. ⚙️ AI 任务队列与异步处理
- 任务调度中心:
- 后台自动排队处理 AI 分析请求(避免阻塞主线程)。
- 支持手动触发、定时触发、批量触发分析任务。
- 任务状态监控(待处理、进行中、已完成、失败)。
- 容错与重试机制:
- 失败任务自动重试(最多 3 次)。
- 错误信息记录与告警通知(邮件/短信)。
- 批量重试功能,快速恢复异常任务。
- 性能优化:
- 异步处理大量日记/对话分析请求。
- 资源隔离,确保核心服务稳定性。
6. 📊 全景数据分析驾驶舱
- 系统概览仪表盘:
- 总用户数、活跃用户数、今日新增日记数、平均情绪得分。
- 经典热力图 / 多元可视化切换。
- 情绪可视化中心:
- 情绪日历:颜色深浅代表情绪好坏,一目了然。
- 情绪流动图:堆叠面积图展示多种情绪随时间的变化。
- 情绪分布饼图:统计各情绪类别占比。
- 业务统计分析:
- 咨询会话数量趋势。
- 文章阅读 TOP10 排行。
- 用户活跃度分析(日活/周活/月活)。
- 高风险用户预警列表(需重点关注)。
7. 🗂️ 文件管理与清理策略
- 灵活上传机制:
- 支持图片、音频、文档等多种格式上传。
- 临时文件上传(用于草稿、预览),过期自动清理。
- 业务文件上传(关联日记、文章、会话),永久保存。
- 智能清理策略:
- 定时任务扫描过期临时文件并删除。
- 手动批量删除无用文件。
- 文件信息查询(大小、类型、上传时间、关联业务)。
🏗️ 技术架构蓝图
🎨 前端交互层 (Vue 3)
- 核心框架:Vue 3.2.45 + Vite (快速构建)
- UI 组件库:Element Plus (企业级 UI 组件,适配后台管理系统)
- 状态管理:Pinia (轻量级状态管理)
- 路由管理:Vue Router 4
- HTTP 客户端:Axios (拦截器处理 JWT、错误统一提示)
- 数据可视化:ECharts 5 (绘制热力图、流动图、折线图、饼图)
- 富文本编辑器:WangEditor 或 TinyMCE (用于文章编辑)
- Markdown 渲染:marked + highlight.js (用于知识文章展示)
⚙️ 后端服务层 (SpringBoot + Spring AI)
Java 后端 (SpringBoot 3.x)
- 核心框架:Spring Boot 3.x + Spring MVC + MyBatis-Plus
- 安全认证:Spring Security + JWT (无状态令牌认证)
- AI 集成:Spring AI (对接 DeepSeek/Qwen/GPT 等大模型,支持流式响应)
- 业务逻辑:
- 用户管理、角色权限控制。
- 情绪日记 CRUD、AI 分析触发。
- 知识文章管理、分类树构建。
- 咨询会话管理、消息持久化。
- 文件上传下载、临时文件清理。
- 数据统计与分析接口。
- 异步任务:@Async + ThreadPoolTaskExecutor (处理 AI 分析队列)
- 定时任务:@Scheduled (清理过期文件、自动生成日报)
- API 设计:RESTful 风格接口,前后端分离通信。
💾 数据存储层
- 关系型数据库:MySQL 8.0 (存储用户、日记、文章、会话、文件元数据)
- 文件存储:本地文件系统 或 阿里云 OSS / 七牛云 (存储上传图片、音频、文档)
- 缓存 (可选):Redis (会话缓存、热点数据、分布式锁)
- 消息队列 (可选):RabbitMQ/Kafka (解耦 AI 分析任务,提高吞吐量)
✨ 系统核心优势
🔬 技术创新领先
- Spring AI 原生集成:利用 Spring 官方 AI 框架,简化大模型调用,支持流式响应、函数调用、向量检索等高级特性。
- “记录 - 分析 - 干预”闭环:从用户主动记录到 AI 被动分析,再到主动提供建议,形成完整的心理健康管理闭环。
- 异步任务队列:通过 Java 内置线程池实现 AI 分析任务排队,避免高并发下系统崩溃,保障用户体验。
- 多维度情绪可视化:结合热力图、流动图、雷达图等多种图表,让用户直观感知情绪变化规律。
🌿 实战应用价值
- 个人用户:获得随时随地的心理陪伴,及时发现情绪问题,学习科学应对方法。
- 心理咨询师:借助 AI 预处理客户数据,提高工作效率;通过后台数据了解客户整体状况。
- 企业 HR/EAP:部署为员工心理健康平台,降低心理压力导致的离职率与生产力损失。
- 科研机构:积累匿名化情绪数据,支撑心理学、社会学、人工智能交叉研究。
🚀 开发与扩展性
- 前后端分离:前端 Vue 与后端 SpringBoot 完全解耦,便于独立开发、测试与部署。
- 模块化设计:各功能模块高度内聚、低耦合,易于增删改查。
- 插件化架构:轻松替换不同的 AI 模型提供商、添加新的情绪维度、集成第三方服务(如微信登录、短信验证码)。
- 开源友好:代码结构清晰,注释详尽,适合作为计算机科学与技术、应用心理学方向的毕业设计或创业项目。
💻 简易代码实现
第一步:Spring AI 配置 (application.yml)
spring:
ai:
chat:
client:
enabled: true
options:
model: deepseek-chat # 或 qwen-max, gpt-3.5-turbo
temperature: 0.7
max-tokens: 1024
embedding:
enabled: false # 如需向量检索可开启
第二步:AI 分析服务 (EmotionAnalysisService.java)
@Service
public class EmotionAnalysisService {
@Autowired
private ChatClient chatClient; // Spring AI 提供的聊天客户端
@Async("aiTaskExecutor")
public void analyzeDiaryAsync(Long diaryId) {
try {
Diary diary = diaryMapper.selectById(diaryId);
String content = diary.getContent();
// 构造 Prompt
String prompt = """
请分析以下用户日记的情绪状态:
"%s"
请按 JSON 格式返回:
{
"primary_emotion": "主要情绪(焦虑/抑郁/喜悦等)",
"intensity": 0-100 的整数,
"risk_level": "low/medium/high",
"suggestions": ["建议1", "建议2"]
}
""".formatted(content);
// 调用大模型
String response = chatClient.call(prompt);
// 解析 JSON 结果
EmotionResult result = parseJsonResponse(response);
// 更新日记记录
diary.setPrimaryEmotion(result.getPrimaryEmotion());
diary.setEmotionIntensity(result.getIntensity());
diary.setRiskLevel(result.getRiskLevel());
diary.setAiSuggestions(JSON.toJSONString(result.getSuggestions()));
diary.setAnalyzedAt(LocalDateTime.now());
diaryMapper.updateById(diary);
} catch (Exception e) {
log.error("AI 分析日记失败: {}", diaryId, e);
// 记录错误信息,触发重试机制
}
}
private EmotionResult parseJsonResponse(String json) {
// 使用 Jackson 或 Gson 解析 JSON
return new ObjectMapper().readValue(json, EmotionResult.class);
}
}
第三步:Vue 前端情绪日记页面 (DiaryDetail.vue 片段)
<template>
<div class="diary-detail">
<el-card>
<template #header>
<div class="card-header">
<span>情绪日记详情</span>
<el-button @click="triggerAIAnalysis" :loading="analyzing" type="primary">
{{ analyzed ? '重新分析' : 'AI 分析' }}
</el-button>
</div>
</template>
<div v-if="diary" class="content">
<p>{{ diary.content }}</p>
<div v-if="analyzed" class="analysis-result">
<h4>AI 情绪分析</h4>
<el-tag :type="getTagType(diary.primaryEmotion)">
{{ diary.primaryEmotion }}
</el-tag>
<el-progress :percentage="diary.emotionIntensity" :color="customColors" />
<div v-if="diary.riskLevel === 'high'" class="warning">
<el-alert title="高风险预警" type="error" show-icon />
<p>检测到较高心理风险,请及时寻求专业帮助!</p>
</div>
<div class="suggestions">
<h5>改善建议:</h5>
<ul>
<li v-for="(suggestion, index) in diary.aiSuggestionsList" :key="index">
{{ suggestion }}
</li>
</ul>
</div>
</div>
</div>
</el-card>
</div>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { useRoute } from 'vue-router';
import axios from 'axios';
const route = useRoute();
const diary = ref(null);
const analyzed = ref(false);
const analyzing = ref(false);
const customColors = [
{ color: '#f56c6c', percentage: 20 },
{ color: '#e6a23c', percentage: 40 },
{ color: '#5cb87a', percentage: 100 },
];
onMounted(async () => {
const res = await axios.get(`/api/diary/${route.params.id}`);
diary.value = res.data;
analyzed.value = !!res.data.analyzedAt;
});
const triggerAIAnalysis = async () => {
analyzing.value = true;
try {
await axios.post(`/api/diary/${diary.value.id}/analyze`);
ElMessage.success('AI 分析已提交,请稍后刷新查看结果');
setTimeout(() => location.reload(), 2000);
} catch (error) {
ElMessage.error('分析失败,请稍后重试');
} finally {
analyzing.value = false;
}
};
const getTagType = (emotion) => {
const map = {
'焦虑': 'warning',
'抑郁': 'danger',
'喜悦': 'success',
'愤怒': 'info',
'平静': ''
};
return map[emotion] || '';
};
</script>
📥 交付清单
- 💻 完整源代码:
- 前端:Vue 3 项目源码(含组件、路由、状态管理、ECharts 图表、Axios 封装)。
- 后端:SpringBoot 项目源码(含 Controller、Service、Mapper、Entity、Config、AI 服务)。
- 数据库脚本:
db_plat.sql(含表结构、初始数据、示例文章)。
- 📘 结构化技术文档:
- 《系统架构与设计说明书》
- 《环境安装与部署指南 (Win/Linux)》
- 《Spring AI 配置与大模型接入教程》
- 《API 接口文档(Swagger/OpenAPI)》
- 《异步任务队列与重试机制说明》
- 《数据库 ER 图与字段字典》
- 📖 用户操作手册:详细的功能使用说明与业务流程指南。
- 📊 示例数据:
- 测试用户账号、模拟日记数据、示例文章。
- 开题报告、论文、PPT、任务书等学术文档模板。
- 🛠️ 部署工具包:
- Dockerfile(容器化部署)
- nginx.conf(反向代理配置)
- startup.sh(一键启动脚本)
🌍 适用场景展望
- 🎓 高校心理辅导中心:为学生提供 24 小时在线心理支持,减轻咨询师工作压力。
- 🏢 企业 EAP 项目:作为员工福利,帮助缓解职场压力,提升组织幸福感。
- 🏥 医院精神科/心理门诊:辅助医生进行初筛与随访,跟踪患者情绪变化。
- 📱 C 端心理健康 App:直接面向大众用户,提供付费订阅制的高级分析与专属顾问服务。
- 🔬 科研数据采集平台:收集匿名用户情绪数据,支撑情感计算、社会心理学研究。
总结:本系统是**“前沿 AI 技术 + 人文关怀 + 工程实践”在心理健康领域的标杆应用。它不仅解决了传统心理咨询资源稀缺、成本高昂、 stigma 严重的问题,更通过 Spring AI 流式对话与 多维情绪可视化赋予了系统“共情”与“洞察”的能力。从日常情绪记录到深度 AI 分析**,从即时心理疏导到长期趋势追踪,全方位守护用户心灵健康。无论是作为商业落地产品还是高水平毕业设计,都具备极高的社会价值与技术含量。让每一次倾诉,都被温柔以待;让每一颗心灵,都有 AI 相伴!
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2401_88440984/article/details/159002209



