心情管理 App 产品需求文档
每天 5 分钟,和情绪做朋友。一个低门槛、日常化的情绪记录与自我觉察工具,介于轻量化打卡与专业化咨询之间的日常伴侣型产品。
01 产品概述
1.1 需求背景 可复用模块
当下,情绪健康已成为全民关注议题。调研显示,超过 60% 的城市人群存在不同程度的情绪困扰,但主动寻求专业帮助的门槛较高。用户需要一个低门槛、日常化的工具来记录情绪、觉察自我,而非等到问题严重才介入。
👍
市场机会:现有情绪记录类 App 存在两大问题——要么过于工具化(仅打卡,缺乏深度),要么过于专业化(心理咨询门槛高)。中间地带存在明显的产品空白:一个既能提供即时情绪疏解,又能长期追踪成长的日常伴侣型产品。
1.2 产品目标
用户价值
帮助用户在 5 分钟内完成一次完整的情绪记录与反思,获得即时反馈与疏解感。
商业价值
建立用户粘性(7 日留存 ≥70%,30 日留存 ≥40%),为后续增值服务(AI 深度报告、专业咨询导流)奠定基础。
技术价值
沉淀高质量的情绪数据资产,为 AI 模型迭代提供支撑。
社会价值
降低心理健康关注门槛,推动情绪健康的日常化与去污名化。
1.3 核心价值主张
"每天 5 分钟,和情绪做朋友。"
•
记录即疗愈:结构化的记录流程本身就是一次情绪疏导
•
看见即改变:可视化情绪轨迹让用户觉察自己的情绪模式
•
陪伴不评判:AI 反馈提供温和的共情与洞察,而非说教或诊断
1.4 目标用户 可复用模块
#zpIJVJvKpwsl text { white-space: pre; }#zpIJVJvKpwsl .fb0 { stroke: var(--N900-FG, 0.15); }#zpIJVJvKpwsl .fb0 {stroke: rgba(31,35,41, 0.15)}#zpIJVJvKpwsl .fx0 { stroke-miterlimit: 10; }#zpIJVJvKpwsl .fx0 {stroke-miterlimit: 10}#zpIJVJvKpwsl .fa1 { fill: rgb(187, 191, 196); }#zpIJVJvKpwsl .fa1 {fill: rgb(187, 191, 196)}#zpIJVJvKpwsl .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zpIJVJvKpwsl .fx1 {font-style: normal}#zpIJVJvKpwsl .fx2 { text-anchor: middle; }#zpIJVJvKpwsl .fx2 {text-anchor: middle}#zpIJVJvKpwsl .fx3 { dominant-baseline: central; }#zpIJVJvKpwsl .fx3 {dominant-baseline: central}#zpIJVJvKpwsl .fx4 { stroke: none; }#zpIJVJvKpwsl .fx4 {stroke: none}#zpIJVJvKpwsl .fc0 { fill: var(--text-caption); }#zpIJVJvKpwsl .fc0 {fill: #646a73}#zpIJVJvKpwsl .fa2 { fill: var(--text-link-disabled); }#zpIJVJvKpwsl .fa2 {fill: rgb(187, 191, 196)}#zpIJVJvKpwsl .fa3 { fill: rgb(243, 242, 238); }#zpIJVJvKpwsl .fa3 {fill: rgb(243, 242, 238)}#zpIJVJvKpwsl .fx5 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zpIJVJvKpwsl .fx5 {font-style: normal}#zpIJVJvKpwsl .fx6 { text-anchor: start; }#zpIJVJvKpwsl .fx6 {text-anchor: start}#zpIJVJvKpwsl .fx7 { dominant-baseline: alphabetic; }#zpIJVJvKpwsl .fx7 {dominant-baseline: alphabetic}#zpIJVJvKpwsl .fc1 { fill: rgb(30, 42, 56); }#zpIJVJvKpwsl .fc1 {fill: rgb(30, 42, 56)}#zpIJVJvKpwsl .fx8 { font: 700 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zpIJVJvKpwsl .fx8 {font-style: normal}#zpIJVJvKpwsl .fc2 { fill: rgb(74, 85, 104); }#zpIJVJvKpwsl .fc2 {fill: rgb(74, 85, 104)}#zpIJVJvKpwsl .fx9 { font: 400 11px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zpIJVJvKpwsl .fx9 {font-style: normal}#zpIJVJvKpwsl .fc3 { fill: rgb(139, 149, 161); }#zpIJVJvKpwsl .fc3 {fill: rgb(139, 149, 161)}#zpIJVJvKpwsl .fx10 { font: 400 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zpIJVJvKpwsl .fx10 {font-style: normal}#zpIJVJvKpwsl .fb1 { fill: var(--N900-FG, 0.15); }#zpIJVJvKpwsl .fb1 {fill: rgba(31,35,41, 0.15)}#zpIJVJvKpwsl .fb2 { fill: rgb(228, 226, 220); }#zpIJVJvKpwsl .fb2 {fill: rgb(228, 226, 220)}#zpIJVJvKpwsl .fb3 { fill: rgb(237, 235, 229); }#zpIJVJvKpwsl .fb3 {fill: rgb(237, 235, 229)}#zpIJVJvKpwsl .fa4 { fill: var(--bg-body); }#zpIJVJvKpwsl .fa4 {fill: #fff}ABCD1234用户画像特征使用场景核心诉求职场青年情绪觉察者轻度焦虑人群25-35 岁18-30 岁全年龄段工作压力大,生活节奏快对自我成长有要求,可能正经历人生转折有焦虑倾向但不严重,不愿/不便就医通勤途中、睡前反思情绪波动时、定期复盘感到压力或不安时快速完成记录,获得情绪释放看见情绪模式,获得成长洞察获得即时舒缓,不孤单
1.5 成功衡量指标(KPIs)

02 产品范围与边界
本次发布包含(V1.0)
● 记录核心流程 — 情绪记录 4 步流程:情绪选择 → 情境记录 → 深度描述 → 感恩时刻
● 情绪记录历史 — 按时间线展示,支持日历视图与列表视图
● 数据可视化 — 周/月/季情绪分布与变化趋势图表
● AI 即时反馈 — 基于 NLP 的情绪洞察,每条记录后生成个性化反馈
● 基础设置 — 提醒、主题、隐私管理
本次不包含(V1.0 范围外)
✕ 在线心理咨询 / 咨询师匹配 V2.0
✕ 社区 / 社交功能(匿名分享、关注等)V2.0
✕ 心理测评量表(抑郁、焦虑等标准化量表)V2.0
✕ 多语言支持 V1.5
✕ 语音输入记录 V1.5
03 用户故事与场景
3.1 核心用户故事 可复用模块
3.2 典型使用场景
场景一 · 下班后的情绪释放
小林,28 岁,产品经理。晚上 9 点下班回到家,感到一天的疲惫和压力。打开 App,系统直接进入记录界面(首页即记录,无跳转)。她花 30 秒选择了"疲惫"和"焦虑"两个情绪图标,在"发生了什么"中简略写下"今天项目延期了,被老板批了一顿"。
场景二 · 周末的情绪复盘
阿杰,26 岁,自由职业者。周六早上醒来,打开 App 查看本周的情绪趋势图。他发现周三到周五连续三天都记录了"焦虑",对应的描述都和工作相关。他意识到自己可能对某个项目产生了持续压力,决定下周主动和客户沟通调整节奏。
→ App 帮助他"看见"了自己的情绪模式。
04 功能详细说明
4.1 功能模块概览
4.2 核心功能详细描述
4.2.1 记录核心流程 P0
👍
设计原则:Write-First,Navigate Never。用户打开 App 即进入记录界面,无需任何导航操作,1 秒内开始记录。
⚠️异常处理:
•
App 被杀死:草稿自动保存到本地(记录完成度 >30% 时触发)
•
网络断开:记录保存到本地队列,恢复网络后自动同步
•
敏感词命中:弹出温和提醒"我们注意到你提到了一些可能不太好的词,需要帮助吗?",记录正常提交(不作为拦截条件,仅后台标记)
4.2.2 AI 即时反馈 P0
触发时机:用户完成记录提交后,在 3 秒内生成反馈并展示。
反馈内容结构:
代码块
Plain Text
[共情开场] "听起来今天______。"(提炼核心情绪)
[具体回应] "你说到______,这确实会让人______。"(引用用户输入的具体内容)
[正向收束] "不过,你选择记录下这一刻,______。"(给予肯定,不一定是解决问题)
[可选行动] "如果需要,可以试试______。"(提供 1 个非常轻量的小建议)
反馈示例
用户输入:"今天又加班到 10 点,觉得好累,感觉生活被工作填满了。"
"听起来今天真的累坏了。加班到 10 点,生活被工作填满的感觉确实很消耗人。不过你能把这个感受记录下来,本身就是一种对自己的关照。也许明天可以试着在午休时给自己 10 分钟的放空时间,哪怕只是看看窗外。"
表格加载中...
4.2.3 情绪趋势可视化 P0
视图一 · 日历视图
•
每个日期格显示当天记录的情绪色块(多色表示多种情绪)
•
无记录的日期显示灰色
•
点击日期可查看当日所有记录的详情
视图二 · 趋势图
•
时间维度:周/月/季(用户切换)
•
情绪分类聚合:正面(黄色系)、中性(灰色系)、负面(蓝色系)分布比例
•
情绪强度曲线:基于情绪数量及文本情感分析计算
•
关键转折点标注:负面转正面的日期自动标记为"转折日"
4.2.4 设置与提醒 P1
表格加载中...
05 非功能需求
5.1 性能需求
表格加载中...
5.2 安全与隐私 P0
⚠️ 这是情绪类 App 最关键的合规要求。用户情绪数据属于敏感个人信息,必须严格保护。
表格加载中...
5.3 兼容性需求
5.4 可访问性需求
•
支持系统无障碍服务(TalkBack / VoiceOver)
•
颜色对比度满足 WCAG AA 标准(对比度 ≥4.5:1)
•
情绪图标配有文字标签,不以颜色作为唯一信息传达方式
•
点击目标尺寸 ≥44pt(符合 iOS HIG / Material Design 规范)
06 业务流程

23%
77%
07 数据模型
7.1 核心数据结构
情绪记录表(mood_records)
用户设置表(user_settings)
08 API 接口概要
8.1 接口列表(V1.0)
8.2 接口示例:提交记录
代码块
Plain Text
POST /api/v1/records
{
"emotions": ["sad", "tired"],
"situation": "今天项目延期了,被老板批了一顿",
"deep_questions": {
"q1": "我觉得自己是不是能力不够",
"q2": "希望能多一点喘息的时间"
},
"gratitude": "同事小张帮我分担了一部分工作"
}
代码块
Plain Text
{
"code": 0,
"data": {
"record_id": "uuid-xxx",
09 法务与合规要求
⚠️重要提示:情绪类 App 涉及用户心理健康数据,法务合规是项目落地的前置条件,不可绕过。
⚠️ 建议在开发前完成:隐私政策终审、数据保护影响评估(DPIA)、安全审计方案确认。
10 里程碑与发布计划
附录
A.1 竞品参考
★ 差异化定位:本 App 介于 Daylio 的轻量化和 Moodnotes 的专业化之间——"5 分钟完成,有温度的情感陪伴"。
A.2 术语表