【社会服务赛道】Psyche 心理健康 AI 守护
【标签】 社会服务 社会公益
【标题】 【社会服务赛道】Psyche 心理健康 AI 守护
0. 先和大家打个招呼吧 
你是谁: 一名独立开发者,平时喜欢折腾一些「技术能为具体的人做点什么」的小项目,运营着一个叫「懒猫学术」的个人站点。
你是怎么用 TRAE 把 Demo 做出来的:
说实话,在用 TRAE 之前,我脑子里这个想法已经躺了挺久了——做一个能用 AI 识别文字背后情绪和心理状态的小工具,但它一直停在「想」的阶段,因为一个人要把前后端、AI 接入、部署、安全防护全部串起来,工作量实在劝退。
用 TRAE 的过程,更像是找了一个真正能听懂需求、还会主动帮你查漏补缺的搭档。我不是把需求一次性甩给它,而是一句一句和它聊:先说「我要一个 PHP 的心理分析网站,不要 Composer,用 SQLite」,它就把项目骨架搭出来了;再说「评论检测要先过验证码再调 AI」,它就把极验的流程串好了。
最让我印象深刻的有两步:
一是调试生产环境 500 错误那晚。本地跑得好好的,传到服务器就白屏。我把报错贴给 TRAE,它一步步引导我加 try-catch、写诊断脚本,最后定位到是服务器的 putenv() 函数被禁用了——这种「线上才能复现、本地完全无感」的坑,以前我可能要自己熬一整晚翻日志,而 TRAE 帮我把排查路径缩短到了几轮对话。
二是优化 AI 提示词。讯飞星火 Lite 是免费的小模型,一开始它对「隐含情绪」特别迟钝,把所有「失去亲人」的文本都判成中性。TRAE 建议我用 few-shot 示例代替冗长规则来教小模型,还帮我针对「文学评论这类第三人称文本」专门加了示例——这种「懂模型特性、知道怎么对症下药」的感觉,是单纯写代码给不了的。
每个作品背后都有一个真实的人,而我的这个作品背后,是希望那些说不出口的情绪,能被温柔地接住。
1. Demo 简介
是什么: 一个基于 AI 的心理健康辅助网站,对用户输入的文字进行情绪识别、心理困扰评估和危机信号检测。
面向谁: 内容平台的评论审核场景、社区运营者,以及任何想快速评估一段文字背后心理状态的人。核心是「在用户发布内容前,提前识别潜在的心理风险」。
主要功能:
① 评论发布前检测
输入一段评论,AI 审核内容是否存在心理风险,返回情绪状态、强度、困扰类型、求助等级、是否含危机信号等结构化结果,并给出「允许发布 / 建议关注 / 暂不建议发布 / 阻止发布」的决策建议。
② 心理健康对话
一个温暖的对话助手,会根据用户当前的情绪状态和风险等级调整回复策略。检测到高风险(自伤/自杀倾向)时,会立即在对话中提供心理援助热线 400-161-9995。
③ 文本深度分析 + 历史统计
对长文本做更详细的心理分析(含详细分析说明和建议措施),并提供历史记录与可视化统计(情绪分布、趋势图、来源占比)。
2. Demo 创作思路
灵感来源:
这个想法来自一个很具体的场景。我观察到,很多内容平台上,用户会在评论、动态里流露出情绪信号——「以后都只剩我一个人了」「睡不着,脑子全是工作」——但这些信号往往被淹没在海量内容里,没人接住。等发展到危机阶段,已经晚了。
想解决的问题:
-
内容平台侧:缺乏一个轻量、低成本的方式,在内容发布前就识别心理风险,而不是事后人工排查;
-
用户侧:很多人不会主动寻求帮助,但他们的文字其实已经在「求救」,需要一个不突兀的入口。
为什么做这个方向:
市面上心理健康产品很多是「App + 心理咨询师」模式,重运营、重人力。我想验证一个更轻的思路:用免费的小模型(讯飞星火 Lite)+ 结构化提示词工程,就能在内容审核这个具体场景里,做出一个有实际价值的心理风险预警工具。技术上可复用、成本几乎为零,这才是「社会服务」能可持续运转的前提。
取舍上,我刻意没有做成「AI 心理医生」——它不做诊断、不替代专业咨询,只在「识别」和「预警」这一环做到位,并在风险出现时引导到专业资源(热线)。这是对心理健康领域应有的克制。
3. Demo 体验地址
在线体验: https://psyche.labs.gt.ac.cn
包含三个核心页面:
-
/comment— 评论发布前检测 -
/dialog— 心理健康对话 -
/analyzer— 文本深度分析 -
/history— 历史记录与统计
建议从「评论检测」开始体验,试着输入一些带有隐含情绪的文字(比如:「今天下班路过那家我们常去的便利店,下意识想进去买两瓶水,才想起来,以后都只剩我一个人了」),看看 AI 能不能识别出背后的孤独与失落。
4. TRAE 实践过程
整个 Demo 从零到上线,全程使用 TRAE 完成。以下是关键开发流程:
阶段一:项目架构搭建
和 TRAE 对齐技术选型后,它帮我搭建了项目骨架:
-
PHP 原生(不依赖 Composer,适配共享主机环境)
-
NGINX +
/public伪静态路由 -
SQLite 存储(零配置、易部署)
-
Alpine.js + Tailwind CSS 前端
-
分层架构:Controllers / Services / Models / Core
阶段二:AI 能力接入与提示词工程
接入讯飞星火 Spark Lite(免费 API),围绕「让小模型稳定输出结构化 JSON」做了大量提示词优化:
-
用 few-shot 示例教小模型识别隐含情绪(孤独、失落、无助)
-
分析类任务用
temperature: 0.3保证 JSON 稳定,对话类用0.7保证自然 -
处理小模型常见问题:Python 风格
True/False/None、尾随逗号、自然语言包裹 JSON
阶段三:安全防护
和 TRAE 一起设计了三重防护,防止提示词注入攻击:
-
启发式注入检测:识别「忽略以上指令」「扮演 XX」等攻击模式
-
输入清洗:过滤伪造的 system/assistant 角色标记
-
系统提示词强制注入:每次请求由服务端重新构建 system 消息,用户输入严格作为 user 角色
阶段四:生产部署与踩坑排查
这一阶段最能体现 TRAE 作为「调试搭档」的价值,解决了多个线上才暴露的问题:
| 问题 | 根因 | TRAE 的帮助 |
|---|---|---|
| HTTP 500 白屏 | Database::init 在 try-catch 外 |
引导加三阶段异常捕获 + 诊断脚本 |
putenv() 未定义 |
服务器 disable_functions 禁用 |
重构为自管理 env 数组,彻底去除依赖 |
| Mixed Content 报错 | HTTPS 页面加载 HTTP 资源 | 定位 axios CDN 协议,统一改 HTTPS |
| 模型未返回有效 JSON | 小模型对文学文本返回自然语言 | 加 few-shot 示例 + 降级兜底机制 |
开发说明
使用 TRAE IDE 完成开发,未找到 Session ID 导出方法。
5. 对应的报名审核通过的帖子链接
https://forum.trae.cn/t/topic/66659
写在最后
做这个 Demo 的过程,让我重新理解了「AI 辅助开发」的含义。TRAE 不只是帮我写代码,更像是帮我把「一个模糊的、想做好久的想法」一步步落成了真实运行的服务——从架构选型、提示词调优、安全设计,到线上那些折磨人的环境差异,它都在场。
如果你也在心里揣着一个「想用技术做点什么」的想法,别让它继续躺着了,打开 TRAE,一句一句讲给它听就好。
心理健康这件事,值得被技术温柔地对待。![]()






