AI心理咨询平台落地实践|SpringBoot3+Vue3前后端分离|大模型风控智能匹配系统

行业痛点

2026年国内线上心理健康咨询赛道持续扩容,重庆多家线下心理工作室尝试数字化转型,但普遍卡在三类落地痛点:自研系统缺少AI辅助诊疗能力、实时咨询聊天无风险预警机制、来访者匹配仅靠人工筛选效率极低。传统单体心理平台技术老旧,JDK8无法适配新版大模型接口,前后端耦合导致运营、咨询师、用户三端迭代互相牵制;同时直接调用第三方大模型API缺乏统一封装,测评解读、会话风控、咨询师匹配多场景重复写鉴权、请求重试逻辑,接口超时、会话高危内容漏识别等线上故障频发。本文基于真实落地的线上心理咨询平台项目,完整拆解SpringBoot3+Vue3前后端分离架构,配套讯飞星火大模型统一服务封装、实时WebSocket咨询会话、AI风险识别全链路实现方案。
在这里插入图片描述

一、整体技术架构设计

1.1 基础环境与分层架构

整体采用标准B/S前后端分离架构,拆分管理后台、用户前台两套前端工程,后端单一服务支撑全业务,角色权限隔离实现管理员、咨询师、来访者三端数据访问隔离。

开发环境清单
软件/框架 版本 核心用途
JDK 17 SpringBoot3强制运行环境,支持虚拟线程优化异步大模型调用
数据库 MySQL 8.0 存储用户、预约、测评、会话、订单全业务数据
后端框架 Spring Boot 3.2 业务接口、权限、大模型统一调度服务
ORM MyBatis 数据库CRUD,分模块Mapper隔离业务
前端框架 Vue 3 + Vite 管理端+用户端双页面工程
UI组件 Element Plus 后台管理表单、表格;用户端心理测评表单
状态管理 Pinia 前端登录鉴权、用户信息全局缓存
实时通信 Spring WebSocket 一对一心理咨询文字会话
大模型 讯飞星火V3.5 测评解读、咨询师智能匹配、会话风险检测
鉴权方案 JWT 无状态接口登录校验,区分三类角色访问域

在这里插入图片描述
在这里插入图片描述

1.2 分层调用链路(精简逻辑)

  1. 前端Axios携带JWT令牌发起业务请求,全局拦截器校验过期、无权限接口;
  2. SpringBoot拦截器解析Token,加载当前登录角色,执行RBAC菜单权限拦截;
  3. 基础业务层处理预约、测评、订单常规CRUD;
  4. 大模型统一服务层封装讯飞星火API,提供公共重试、超时、异步任务能力;
  5. WebSocket独立通道承载实时咨询消息,消息流转同步送入AI风控检测;
  6. MySQL持久化所有业务数据,会话记录、风险告警永久留存用于运营复盘。
    在这里插入图片描述
    在这里插入图片描述

1.3 统一大模型封装核心代码(折叠块)

/**
 * 决策注释:统一大模型调用门面,屏蔽讯飞API底层细节
 * 业务目标:支撑测评解读/咨询师匹配/风险识别三类场景复用
 * 设计取舍:同步接口用于轻量查询,异步线程池处理长文本测评报告,避免HTTP超时
 * 异常策略:大模型请求失败返回兜底文本,不阻断主咨询会话流程
 */
@Service
public class AiLlmFacadeService {
    // 注入讯飞星火原生API客户端
    private final XingHuoClient xingHuoClient;
    // 自定义异步线程池,隔离大模型耗时任务与web请求线程
    private final ExecutorService llmAsyncPool;

    // 1. 咨询师智能匹配(同步短请求)
    public AiMatchResult matchConsultant(String userDesc, List<ConsultantPO> consultantList) {
        String prompt = buildMatchPrompt(userDesc, consultantList);
        String llmResp = xingHuoClient.syncChat(prompt);
        return parseMatchResp(llmResp);
    }

    // 2. 测评报告异步生成(长文本异步处理)
    public void asyncGenerateReport(Long testRecordId, String testAnswer) {
        llmAsyncPool.submit(() -> {
            String prompt = buildTestReportPrompt(testAnswer);
            String reportText = xingHuoClient.syncChat(prompt);
            testRecordMapper.updateAiReport(testRecordId, reportText);
        });
    }

    // 3. 会话消息风险检测(流式实时调用)
    public RiskCheckResult checkMessageRisk(String chatContent) {
        String prompt = buildRiskCheckPrompt(chatContent);
        String resp = xingHuoClient.syncChat(prompt);
        return parseRiskLevel(resp);
    }
}

在这里插入图片描述

二、平台数据集基础信息(真实业务库表,无虚构数据)

项目业务数据全部落地MySQL,核心业务数据表统一梳理,下表为系统高频使用数据集:

数据集表名 数据存储内容 数据量级(单月增量) 关联业务模块
sys_user 管理员/咨询师/来访者账号基础信息 8000~12000条 登录鉴权、权限控制
consultant_info 咨询师资质、擅长领域、排班信息 300~600条 AI灵犀匹配、预约模块
psychological_test 心理测评量表题目、计分规则 120套量表固定数据 用户测评、AI报告解读
test_record 用户测评作答记录、AI解读报告 2万~3.5万条 心灵测评模块、个人中心
booking_order 咨询预约单、支付订单流水 1万~1.8万条 预约管理、后台订单审核
chat_session 实时咨询会话、历史聊天消息 5万~8万条 WebSocket会话、AI风险监控
chat_risk_warn AI识别高危会话告警记录 1000~3000条 后台风控管理、咨询师工作台

在这里插入图片描述
在这里插入图片描述

数据集使用约束说明

  1. 所有用户心理数据做脱敏存储,姓名、联系方式单独加密字段,大模型调用仅传输主诉文本,不携带隐私信息;
  2. 风险告警数据集仅管理员与对应咨询师可见,严格数据权限隔离;
  3. 量表基础数据为公开通用心理量表,无版权风险,可二次拓展新增量表。

三、三大角色功能模块拆解

3.1 系统管理员端

作为平台运营管控核心,覆盖用户、咨询师、内容、订单、风控、权限全维度管控:

  1. 用户&咨询师管理:账号启用/禁用、咨询师资质人工审核,批量导出档案数据;
  2. 内容运营:量表上下架、心理科普文章编辑、首页轮播、平台公告发布;
  3. 订单与预约:全平台预约单审核、支付流水对账,导出月度经营报表;
  4. AI风控中心:汇总全量会话风险告警,按风险等级筛选高危会话,支持追溯完整聊天记录;
  5. RBAC权限配置:自定义角色、分配前端菜单与后端接口访问权限,区分运营、超级管理员权限边界。

3.2 咨询师工作台端

聚焦服务来访者的业务闭环,轻量化管理自身咨询业务:

  1. 个人档案维护:修改擅长领域、简介、头像,同步展示至用户前端咨询师列表;
  2. 排班配置:设置每周可预约时段,系统自动生成可选预约时间;
  3. 预约单处理:接收来访者预约申请,同意/拒绝预约,发起线上咨询会话;
  4. WebSocket实时聊天:一对一文字咨询,消息实时推送,页面侧边栏实时展示AI风险提示;
  5. 评价管理:查看来访者服务评价,沉淀服务优化依据。

3.3 来访者用户端

面向普通心理需求用户,轻量化操作,核心使用场景:

  1. 首页内容浏览:推荐咨询师、心理科普文章、平台公告、测评入口;
  2. AI灵犀匹配咨询师:输入自身心理主诉、偏好要求,大模型智能推荐适配咨询师并展示匹配理由;
  3. 心理测评体系:在线完成量表,提交后后端异步生成AI解读报告,前端轮询加载结果;
  4. 预约与线上咨询:选定咨询师空闲时段下单支付,支付完成后开启实时文字咨询;
  5. 个人中心:管理测评记录、历史订单、收藏文章、修改账号密码。

四、四大AI创新功能完整实现逻辑

4.1 AI测评报告异步解读

业务痛点

量表作答文本较长,同步调用大模型极易出现HTTP请求超时,用户页面长时间加载空白,体验极差。

实现流程
  1. 用户提交测评答案,后端立刻入库作答记录,状态标记「报告生成中」;
  2. 调用AiLlmFacadeService异步任务提交大模型生成请求,主线程直接返回成功;
  3. 前端通过定时器轮询接口,查询当前测评记录报告状态;
  4. 大模型生成完成后更新数据库报告字段,前端轮询检测到完成,渲染结构化解读报告;
  5. 支持重新生成接口,用户对报告不满意可触发二次大模型调用覆盖旧数据。

4.2 AI灵犀咨询师智能匹配

核心逻辑

摒弃单一评分排序,结合用户主观主诉语义匹配咨询师擅长领域:

  1. 用户输入自身情绪、心理困扰、咨询偏好;
  2. 后端读取全平台合规上线咨询师数据集;
  3. 构造专属Prompt送入讯飞星火,输出Top5匹配咨询师+逐条匹配理由;
  4. 前端展示智能推荐分组,与普通评分排序列表做分区展示,辅助用户精准选择咨询师。

4.3 会话实时AI风险识别与多端告警

安全设计重点

AI仅做辅助识别,所有高危内容最终依赖人工复核,不替代专业心理咨询师判断。

  1. WebSocket每一条用户、咨询师聊天消息发送后,同步送入风控检测接口;
  2. 大模型对消息做分级判定:无风险/轻度负面情绪/重度自伤自杀高危;
  3. 高危消息实时推送两处告警:咨询师聊天页面侧边弹窗、管理员后台风控告警列表;
  4. 所有风险消息存入chat_risk_warn数据集,运营人员可定期回访高危用户。

4.4 大模型统一接入服务

将讯飞星火API抽离独立公共服务,统一管控密钥、请求限流、异常重试、超时兜底,全平台AI功能复用该模块:

  • 统一管理API密钥,配置文件集中维护,避免代码硬编码;
  • 封装请求重试机制,网络波动自动重试2次;
  • 统一返回结果格式化,不同业务无需单独解析大模型原生返回JSON;
  • 预留拓展接口,后续可快速接入其他大模型,无需改动测评、匹配、风控业务代码。

五、前端WebSocket实时咨询核心代码(折叠块)

/**
 * 决策注释:心理咨询会话WebSocket封装类
 * 业务目标:维持长连接、收发聊天消息、同步接收AI风险告警推送
 * 设计取舍:页面销毁自动关闭连接,断网自动重连3次,避免重复建立通道
 * 交互联动:收到风险告警后全局弹窗提示咨询师,标记对应消息高亮
 */
export class ChatWebSocket {
  private socket: WebSocket | null = null
  private reconnectCount = 0
  private maxReconnect = 3
  private token: string

  constructor(token: string) {
    this.token = token
    this.initSocket()
  }

  // 初始化长连接通道
  initSocket() {
    const url = `ws://localhost:8080/chat/ws?token=${this.token}`
    this.socket = new WebSocket(url)
    this.socket.onmessage = (res) => this.handleMsg(JSON.parse(res.data))
    this.socket.onclose = () => this.reconnect()
  }

  // 分发消息:普通聊天消息 / AI风险告警消息
  handleMsg(data: any) {
    if (data.type === "chat") {
      // 渲染聊天记录至页面
    } else if (data.type === "riskWarn") {
      // 全局弹窗展示高危告警
    }
  }

  // 发送咨询文字消息,同步触发后端AI风险检测
  sendChatMsg(content: string) {
    this.socket?.send(JSON.stringify({ type: "chat", content }))
  }

  // 断网自动重连机制
  reconnect() {
    if (this.reconnectCount >= this.maxReconnect) return
    this.reconnectCount++
    setTimeout(() => this.initSocket(), 2000)
  }

  // 页面卸载销毁连接
  destroy() {
    this.socket?.close()
  }
}

六、线上部署极简方案

后端SpringBoot打包Jar包,Java17环境直接运行,前端打包静态资源部署Nginx反向代理,WebSocket通道单独配置转发,无需复杂容器编排,中小团队可快速上线:

# 后端启动命令,指定环境配置(折叠)
java -jar ai-mental-platform.jar --spring.profiles.active=prod
# Nginx核心websocket转发配置
location /chat/ws {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

写在最后

心理健康数字化不是简单把线下咨询搬到线上,AI工具的价值从来不是取代咨询师,而是降低匹配门槛、提前捕捉心理危机、简化重复性测评解读工作。这套基于SpringBoot3与大模型搭建的咨询平台,核心解决中小心理机构数字化缺AI能力、缺风险管控的现实难题。技术架构层面前后端分离、统一大模型服务封装的设计,也给后续拓展心理社区、线上团体咨询、情绪日记AI分析预留了充足扩展空间。
线上心理服务永远绕不开隐私安全与人文关怀,技术只是载体,所有AI识别、智能匹配功能最终都要服务于人,在代码逻辑、数据权限、风险处置流程中,始终把来访者情绪安全、隐私保护放在第一位,才是这套系统真正落地的核心意义。

更多推荐