# 心理健康风险预警系统前端(PsyMirror) **Repository Path**: logic1266/Logic ## Basic Information - **Project Name**: 心理健康风险预警系统前端(PsyMirror) - **Description**: 心理健康风险预警系统的前端与智能体子系统,面向两类用户:1.学生群体;2.心理健康老师。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI多模态心理健康风险预警系统-前端网页 ## 项目介绍 「AI 多模态心理健康风险预警系统」是一款面向校园等公共场所的智能化心理健康监测工具,基于 Streamlit 开发前端界面,核心目标是通过无感化采集、多模态数据分析和隐私合规设计,解决传统心理筛查主观失真、实时性差的痛点。 系统支持人脸 / 声纹身份认证、健康数据可视化、AI 智能体咨询等功能,可帮助学校建立主动预警机制,辅助精准干预,同时为用户提供低压力、隐私安全的心理健康监测体验。 ## 核心功能 ### 1. 用户端核心功能 🔐 账号注册 / 登录 / 注销,支持密码加密存储(SHA-256) 🧑 人脸 / 声纹信息录入与加密存储(AES-256) 📊 健康评分趋势可视化(折线图 / 柱状图)、历史数据查询 🤖 AI 心理健康智能体咨询(基于 Dify 平台集成,支持个性化建议) 🔒 隐私权限管理(动态同意机制、数据脱敏处理) ### 2. 管理员端核心功能 👥 多用户数据管理与筛选 ⚠️ 低分用户预警(可自定义阈值) 📈 批量用户健康数据统计与可视化 📋 演示数据生成(用于功能测试) ### 3. 隐私保护亮点 原始音视频数据本地处理后立即销毁,仅存储加密特征向量 敏感信息(姓名、学号、生物特征)AES-256 加密存储 支持动态授权机制,用户可随时查看数据用途并调整权限 符合《个人信息保护法》,系统日志可追溯 ## 技术栈 | 类别 | 核心技术/工具 | | ------ | ---- | | 前端框架 | Streamlit | | 数据处理 | Pandas, Plotly | | 生物特征识别 | OpenCV,face_recognition, libsora, resemblyz | | 数据存储 | MySQL | | 加密技术 | AES-256(敏感数据加密)、SHA-256(密码哈希) | | API集成 | aiohttp(异步请求)、Dify API(AI 智能体交互) | | 开发环境 | Python 3.8+、Ubuntu 20.04+、NVIDIA GPU | ## 本地安装与部署指南 ### 1. 环境准备 操作系统:Windows 10+/macOS 12+/Ubuntu 20.04+ Python 版本:3.8+ 依赖管理:pip/Conda 可选:NVIDIA GPU ### 2. 快速部署步骤 #### 步骤1:克隆仓库 ```bash git clone https://gitee.com/logic1266/Logic ``` #### 步骤2:安装依赖 创建并激活虚拟环境(推荐): Conda方式 ```bash conda create -n mental-health python=3.9 conda activate mental-health ``` Pip方式 ```bash python -m venv venv # Windows激活:venv\Scripts\activate # Mac/Linux激活:source venv/bin/activate ``` 安装依赖包 ```bash pip install -r requirements.txt ``` #### 步骤3:配置环境变量 创建 .streamlit/secrets.toml 文件,填入以下内容: ```toml # 数据库配置 db_host = "你的数据库地址" db_user = "数据库用户名" db_password = "数据库密码" db_database = "health_system_local" # 加密密钥(32字节,可通过 Fernet.generate_key() 生成) ENCRYPTION_KEY = "你的AES加密密钥" # Dify API配置(AI智能体) [dify] api_url = "http://localhost:80" # Dify平台部署地址 api_key = "你的Dify API密钥" app_id = "你的Dify应用ID" ``` #### 步骤4:初始化数据库 1.手动创建 MySQL 数据库(名称与 db_database 一致) 2.运行前端代码自动初始化表结构: ```bash streamlit run website.py ``` 系统会自动创建 users、user_profiles、health_scores 三张核心表。 #### 步骤5:启动应用 ```bash streamlit run website.py ``` 浏览器访问 http://localhost:8501 即可使用。 ## 使用说明 ### 1. 普通用户使用流程 注册登录:创建账号并登录,首次登录需同意用户条款。 信息录入: 进入「个人信息」页面,录入真实姓名、学号、年龄等基本信息; 完成人脸录入(光线充足环境下拍摄,系统自动提取特征); 完成声纹录入(按提示朗读指定文本,录音时长≥3 秒)。 数据查看: 系统自动同步健康数据(测试环境可点击「生成演示数据」); 查看健康评分趋势图、历史记录; 智能咨询:在「心理健康专家智能体」模块提问,获取个性化建议。 ### 2. 管理员使用流程 使用管理员账号登录(is_admin 字段设为 TRUE); 侧边栏选择「选择查看的用户」,查看指定用户的健康数据; 调整「低分阈值」,筛选需要关注的用户并导出预警列表; 生成演示数据用于功能测试或展示。 ## 目录结构 plaintext frontend/ ├── website.py # 主程序(集成所有功能模块) ├── requirements.txt # 依赖清单 ├── environments.yml # 环境配置 ├── .streamlit/ │ └── secrets.toml # 环境变量配置(不提交到Git) └── README.md # 本说明文档 核心代码模块说明 | 模块 | 功能描述 | | ------ | ---- | | 数据库操作 | 封装数据库连接、用户/健康数据 CRUD、数据加密 | | 生物特征处理 | 人脸检测 / 编码、声纹提取 / 匹配,支持重新录入与删除 | | 用户认证 | 账号注册、登录验证、密码哈希存储 | | 数据可视化 | 健康评分趋势图、柱状图、数据仪表盘 | | AI 智能体交互 | 调用 Dify API,基于用户健康数据生成个性化咨询建议 | | 隐私保护 | 敏感数据加密存储、原始数据本地销毁、动态同意机制 | ## 项目亮点 无感化监测:复用现有音视频设备,无需用户主动配合,实时采集多模态数据; 多模态融合:结合人脸表情、语音语调、用户画像,提升风险评估准确率; 隐私合规:全流程加密 + 本地处理,符合个人信息保护法规; 轻量化部署:基于 Streamlit 快速开发,支持本地 / 云端部署,硬件要求低。 ## 已知问题与注意事项 人脸录入需保证光线充足,避免遮挡面部(眼镜、口罩可能影响识别); 声纹录入需在安静环境下进行,避免背景噪音干扰; 实时处理功能建议部署在 GPU 环境,CPU 环境可能存在延迟问题; 数据库需定期备份,避免数据丢失。 ## 未来规划 优化多模态融合算法,提升风险评估准确率 增加手机端适配,支持移动设备访问 扩展预警渠道(短信、邮件、校园 APP 推送) 增加心理干预资源库,提供更多专业支持 ## 前端贡献者 项目负责人:赵嘉熠(后端开发、项目统筹); 核心开发:张舜尧、郭同语(前端设计、UI 优化、智能体开发) 项目调研:张舜尧、宋秉谦、刘一诺、崔悦琪、张西尧、胡景元 ## 许可证 本项目采用 MIT License 开源协议,允许非商业用途的修改、分发和使用,使用前请遵守相关条款。