Skip to content

MindGuard 产品需求文档 (PRD)

字数
5783 字
阅读时间
23 分钟

项目状态: 半成品完善增强 | 版本: v4.0 | 日期: 2025-10-17

文档类型: Brownfield Enhancement PRD | 团队规模: 2-3人 | 预估工期: 4-5周


📋 目录

  1. 项目概述和分析
  2. 需求定义
  3. Epic和故事结构
  4. 技术约束和集成要求
  5. 实施计划
  6. 质量标准和验收条件
  7. 风险评估和缓解策略
  8. 附录

📖 项目概述和分析

Analysis Source: IDE-based fresh analysis

  • 分析来源:IDE中现有项目文件
  • 核心文档:CLAUDE.md(项目全景架构文档)
  • 项目状态:半成品,需要需求规范化

Current Project State

MindGuard 是一个面向高校场景的心理健康支持微信小程序,当前处于半成品开发状态

当前实现的核心功能:

  • 五个主要Tab页面:今天、任务、树洞、随笔、我的
  • 情绪打卡系统和心情轮统计
  • 任务管理基础框架
  • REBT日记功能基础
  • 社区树洞功能基础
  • 心语精灵AI对话系统框架
  • 徽章系统和护心周报基础

技术栈现状:

  • 前端:微信小程序 + TDesign组件库
  • 后端:微信云开发 (CloudBase)
  • AI集成:Dify工作流
  • 数据库:NoSQL数据库

项目成熟度:

  • ✅ 架构设计完整
  • ✅ 基础功能框架搭建完成
  • ⚠️ 功能闭环尚未完全形成
  • ⚠️ 用户体验需要打磨
  • ⚠️ 需求文档缺乏标准化

项目目标和背景

Goals:

  • 将MindGuard从半成品状态完善为功能完整的心理健康支持平台
  • 建立完整的"情绪打卡→AI建议→任务执行→效果验证"价值闭环
  • 实现稳定、流畅、安全的用户体验
  • 确保技术架构的可扩展性和可维护性

Background Context: MindGuard项目目前已完成基础架构搭建和核心功能框架,但在功能完整性、用户体验优化、系统集成等方面存在明显缺口。作为面向高校学生的心理健康应用,需要进一步完善功能闭环,提升用户粘性,并确保在提供专业心理健康服务的同时保护用户隐私和安全。本次PRD旨在系统性地解决这些问题,将项目从半成品状态提升为生产就绪的完整产品。


🎯 需求定义

基于现有系统分析,以下需求确保从半成品到完整产品的平滑过渡:

Functional Requirements(功能需求)

FR1: 完善情绪打卡系统,支持多种情绪类型选择和强度调节,并生成准确的心情轮统计图表

FR2: 实现AI微建议生成的完整工作流,包括情绪分析、个性化建议生成和建议跟踪

FR3: 完善任务管理系统,支持从AI建议自动创建任务、任务执行跟踪和完成度统计

FR4: 实现完整的社区树洞功能,包括发帖、互动、风险识别和守护机制

FR5: 完善REBT日记功能,支持结构化记录、自动分析和情绪模式识别

FR6: 实现SOS紧急求助的完整流程,包括一键触发、危机评估和专业资源对接

FR7: 完善心语精灵AI对话系统,支持多Agent切换、对话历史和个性化建议

FR8: 实现完整的徽章和激励系统,包括成就解锁、进度可视化和社交分享

FR9: 建立护心周报的自动生成机制,包括数据统计、趋势分析和个性化建议

Non-Functional Requirements(非功能需求)

NFR1: 系统响应时间必须在2秒内完成基础操作,AI生成内容不超过5秒

NFR2: 确保数据隐私和安全,所有敏感信息必须加密存储,遵循最小权限原则

NFR3: 支持离线基础功能,包括情绪打卡和日记记录,网络恢复后自动同步

NFR4: 系统可用性达到99.5%,SOS功能必须保证100%可用性

NFR5: 支持至少1000并发用户,数据库查询响应时间小于500ms

Compatibility Requirements(兼容性需求)

CR1: 必须保持现有API接口的向后兼容性,确保已有功能不受影响

CR2: 数据库模式变更必须支持现有数据的平滑迁移,不能丢失用户历史数据

CR3: UI/UX必须保持TDesign设计规范的一致性,新组件要符合现有设计语言

CR4: 与微信云开发的现有集成必须保持稳定,Dify工作流集成不能破坏现有AI功能

需求优先级矩阵

优先级功能需求评分依据用户价值开发复杂度风险等级
P0FR4: 社区树洞功能核心社交功能,用户留存关键中等
P0FR1: 情绪打卡系统基础功能,产品核心价值
P1FR2: AI微建议生成差异化功能,AI核心竞争力
P1FR5: REBT日记功能专业功能,目标用户刚需中等
P2FR3: 任务管理系统闭环功能,增强用户粘性中等
P2FR7: 心语精灵对话AI功能扩展,增值服务
P3FR6: SOS紧急求助安全功能,法律合规要求
P3FR8: 徽章激励系统游戏化功能,提升参与度
P4FR9: 护心周报数据洞察,长期价值中等

🏗️ Epic和故事结构

Epic Approach

Epic Structure Decision: 单一史诗方式

合理性分析:

  • 🎯 目标一致性: 所有功能都服务于"完善半成品→完整产品"的统一目标
  • 🔗 技术依赖: 各模块间有紧密的数据流依赖(情绪→建议→任务→社区)
  • 👥 团队协作: 单一史诗便于小团队集中精力,避免多史诗并行导致资源分散
  • 📈 增量交付: 故事可以按优先级逐步交付,符合敏捷开发原则

Epic 1: MindGuard 产品完善增强

Epic Goal: 将MindGuard从半成品状态完善为功能完整、用户体验流畅的心理健康支持平台

Integration Requirements:

  • 保持现有技术架构和数据模型的兼容性
  • 确保新功能不影响现有用户数据
  • 维持TDesign设计语言的一致性
  • 遵循微信小程序开发规范和云开发最佳实践

用户故事详情

Story 1.1: 完善情绪打卡系统 (3点 - 简单)

As a 高校学生用户, I want 使用完整的情绪打卡功能记录我的心情状态, so that 我能够追踪情绪变化并获得个性化的心理健康建议。

Acceptance Criteria:

  1. AC1: 用户可以选择多种预设情绪类型(开心、平静、焦虑、悲伤等)
  2. AC2: 支持情绪强度调节(1-5级滑块选择)
  3. AC3: 打卡后自动生成心情轮统计,支持周/月视图
  4. AC4: 支持添加文字备注和标签(可选)
  5. AC5: 数据自动同步到云端,离线状态可缓存

Integration Verification:

  • IV1: 确认现有的用户登录和个人资料功能正常工作
  • IV2: 验证情绪数据能正确写入现有checkins数据库集合
  • IV3: 测试心情轮组件性能,确保不影响页面加载速度

Story 1.2: 实现AI微建议生成工作流 (8点 - 复杂)

As a 用户, I want 基于我的情绪状态获得个性化的AI建议, so that 我能够得到专业的心理健康指导并采取行动。

Acceptance Criteria:

  1. AC1: 集成Dify工作流,根据情绪数据生成个性化建议
  2. AC2: 建议内容包含情绪分析、具体建议和行动指引
  3. AC3: 支持建议的收藏、分享和执行状态跟踪
  4. AC4: AI响应时间控制在5秒内
  5. AC5: 支持建议质量反馈机制,持续优化生成效果

Integration Verification:

  • IV1: 确认与现有suggestionOrchestrator云函数正常集成
  • IV2: 验证建议数据正确存储到journals数据库集合
  • IV3: 测试网络异常时的降级处理和用户提示

Story 1.3: 完善社区树洞核心功能 (5点 - 中等)

As a 用户, I want 在安全的社区环境中分享我的想法和获得支持, so that 我能够获得同伴支持并减少孤独感。

Acceptance Criteria:

  1. AC1: 支持匿名发帖,包含文字、图片、标签选择
  2. AC2: 实现抱抱、评论等基础互动功能
  3. AC3: 集成风险识别算法,自动标记高风险内容
  4. AC4: 支持内容举报和审核机制
  5. AC5: 实现个性化内容推荐和关注功能

Integration Verification:

  • IV1: 确认与现有treeholeModeration云函数正常协作
  • IV2: 验证论坛数据正确写入forum_posts数据库集合
  • IV3: 测试高并发情况下的系统稳定性

Story 1.4: 建立任务管理和执行闭环 (4点 - 中等)

As a 用户, I want 将AI建议转化为可执行的任务并跟踪进度, so that 我能够真正落实心理健康改善行动。

Acceptance Criteria:

  1. AC1: 支持从AI建议一键创建任务
  2. AC2: 提供任务分类、优先级设置和截止日期管理
  3. AC3: 实现任务执行状态跟踪和完成度统计
  4. AC4: 支持任务提醒和打卡功能
  5. AC5: 生成任务完成报告和成就反馈

Integration Verification:

  • IV1: 确认与现有taskWorkflow云函数的数据同步
  • IV2: 验证任务数据正确写入behavior_tasks数据库集合
  • IV3: 测试任务推送通知的准确性和及时性

🔧 技术约束和集成要求

Existing Technology Stack

Languages:

  • JavaScript (ES6+) - 小程序前端和云函数开发
  • WXML/WXSS - 微信小程序标记语言和样式

Frameworks:

  • 微信小程序原生框架
  • TDesign Miniprogram v1.0+ - UI组件库
  • 微信云开发 CloudBase - 后端服务

Database:

  • 微信云数据库 (NoSQL) - 主要数据存储
  • 云存储 - 文件和媒体资源存储

Infrastructure:

  • 微信云开发环境 (cloud1-9gpfk3ie94d8630a)
  • Dify AI工作流平台 - AI服务集成

External Dependencies:

  • 微信开放平台API - 用户授权和支付
  • Dify API - AI建议生成和对话
  • 第三方心理评估API (可选) - 专业内容增强

Integration Strategy

Database Integration Strategy:

  • 新字段添加: 为现有集合添加必要字段(如checkins添加情绪强度字段)
  • 索引优化: 为新增查询模式创建复合索引
  • 数据迁移: 制定向后兼容的数据迁移计划,确保现有用户数据完整性
  • 事务处理: 关键操作使用数据库事务确保数据一致性

API Integration Strategy:

  • 现有云函数复用: 最大程度复用现有的7个云函数
  • 新云函数开发: 仅在必要时新增,保持架构简洁
  • 错误处理统一: 遵循现有的 {ok, data, error} 返回格式
  • 性能监控: 集成现有的遥测和日志系统

Frontend Integration Strategy:

  • 分包加载策略: 新增功能优先放入独立分包,控制主包大小
  • TDesign组件规范: 严格遵循设计系统,确保UI一致性
  • 状态管理: 继续使用现有的页面级状态管理模式
  • 路由导航: 复用现有的导航和预加载机制

Testing Integration Strategy:

  • Mock数据扩展: 为新功能添加完整的Mock数据支持
  • 单元测试: 为服务层新增API调用测试
  • 集成测试: 重点测试AI工作流集成和数据一致性
  • 端到端测试: 覆盖关键用户旅程

Code Organization and Standards

File Structure Approach:

miniprogram/
├── pages/           # 主包页面优化
├── packages/         # 分包扩展
│   ├── community/     # 社区功能增强
│   └── ai-features/  # AI相关新功能分包
├── services/         # API服务层扩展
└── independent/     # 独立分包扩展
    └── ai-agents/   # 新AI Agent分包

cloudfunctions/
├── existing-functions/  # 现有云函数优化
└── new-functions/     # 必要的新云函数

Naming Conventions:

  • 文件命名: kebab-case (如 emotion-checkin.js)
  • 函数命名: camelCase (如 validateEmotionData)
  • 数据库字段: snake_case (如 emotion_intensity)
  • 组件命名: PascalCase (如 EmotionPicker)

Coding Standards:

  • 严格模式: 所有文件使用 'use strict';
  • 异步处理: 统一使用 async/await 模式
  • 错误处理: 完整的 try-catch-finally 结构
  • 注释规范: JSDoc 格式,包含参数和返回值说明
  • 代码审查: 所有PRD实施前必须经过代码审查

Deployment and Operations

Build Process Integration:

  • 微信开发者工具: 继续使用现有构建流程
  • 分包预加载: 更新 app.json 中的分包预加载配置
  • 代码压缩: 保持现有的代码压缩和混淆设置
  • 资源优化: 图片和音频资源的压缩和CDN分发

Deployment Strategy:

  • 增量部署: 新功能采用灰度发布策略
  • 云函数版本管理: 使用版本控制确保回滚能力
  • 数据库迁移: 制定详细的数据库变更和回滚计划
  • 环境隔离: 开发/测试/生产环境严格分离

Monitoring and Logging:

  • 性能监控: 集成现有的页面加载时间监控
  • 错误追踪: 增强现有的错误收集和分类机制
  • 用户行为分析: 扩展现有的用户行为数据收集
  • AI服务监控: 重点监控Dify API调用的成功率响应时间

📅 实施计划

项目实施策略

采用敏捷迭代方法,结合渐进式功能发布策略:

  1. MVP优先: 先交付核心价值闭环,再逐步完善
  2. 数据驱动: 基于用户反馈和使用数据调整优先级
  3. 风险控制: 每个迭代都包含完整的测试和回滚机制
  4. 团队效率: 基于现有技术栈,最大化开发效率

详细时间线和里程碑

里程碑时间主要交付成功标准
Milestone 1Week 1 End完善的情绪打卡系统多情绪类型、强度调节、心情轮统计
Milestone 2Week 2 EndAI微建议生成工作流Dify集成、个性化建议、反馈机制
Milestone 3Week 3 End社区树洞核心功能发帖互动、风险识别、内容审核
Milestone 4Week 4 End完整的任务管理闭环任务创建、跟踪、统计功能
Milestone 5Week 5 End生产就绪的完整产品端到端测试、性能优化、发布就绪

Phase 1: 基础功能完善 (Week 1-3)目标: 建立稳定的情绪-建议-任务闭环

Phase 2: 功能闭环完善 (Week 4)目标: 完成完整的用户体验闭环

Phase 3: 测试和发布准备 (Week 5)目标: 确保产品质量和发布就绪

团队配置和职责分工

推荐团队配置 (2-3人):

前端开发者 (1人):

  • 负责所有小程序UI/UX开发
  • TDesign组件集成和样式统一
  • 分包加载和性能优化

后端开发者 (1人):

  • 云函数开发和API接口设计
  • 数据库设计和性能优化
  • AI服务集成和错误处理

产品经理/全栈 (0.5人):

  • 项目协调和进度管理
  • 质量保证和测试协调
  • 用户反馈收集和需求调整

工作量和复杂度估算

故事复杂度故事点开发天数测试天数总工作量关键路径
Story 1.1
完善情绪打卡系统
🟢 简单3点2-3天1天3-4天✅ 关键路径
Story 1.2
AI微建议生成
🔴 复杂8点5-7天2天7-9天✅ 关键路径
Story 1.3
社区树洞功能
🟡 中等5点3-4天2天5-6天✅ 关键路径
Story 1.4
任务管理闭环
🟡 中等4点2-3天1天3-4天非关键路径

总工作量估算:

  • 总故事点:20点
  • 开发时间:12-17天
  • 测试时间:6天
  • 项目总工期:18-23天(约3-4周)

🎯 质量标准和验收条件

成功指标和验收标准

技术指标:

  • 性能: 页面加载时间 < 2秒,API响应时间 < 500ms
  • 稳定性: 系统可用率 > 99%,错误率 < 0.1%
  • 兼容性: 支持微信7.0+版本,覆盖98%用户

业务指标:

  • 功能完整性: 所有P0/P1功能正常工作
  • 用户体验: 用户满意度 > 4.0/5.0
  • 数据准确性: 情绪识别准确率 > 85%,AI建议相关性 > 80%

质量指标:

  • 代码覆盖率: 核心功能测试覆盖率 > 80%
  • 安全合规: 通过隐私合规审查,数据加密率100%
  • 文档完整: 所有API接口文档完整,部署文档齐全

关键里程碑和交付物

Milestone 1: Week 1 End交付物: 完善的情绪打卡系统

  • 多情绪类型选择和强度调节
  • 基础心情轮统计
  • 数据存储和同步功能

Milestone 2: Week 2 End交付物: AI微建议生成工作流

  • Dify集成和个性化建议
  • 建议跟踪和反馈机制
  • 错误处理和性能优化

Milestone 3: Week 3 End交付物: 社区树洞核心功能

  • 发帖和互动基础功能
  • 风险识别和内容审核
  • 用户安全和隐私保护

Milestone 4: Week 4 End交付物: 完整的任务管理闭环

  • AI建议自动转化为任务
  • 任务执行跟踪和统计
  • 推送通知和提醒功能

Milestone 5: Week 5 End交付物: 生产就绪的完整产品

  • 端到端功能测试完成
  • 性能优化和安全审查通过
  • 发布文档和运维准备就绪

⚠️ 风险评估和缓解策略

关键风险点监控

Technical Risks:

  • AI服务依赖: Dify API稳定性和响应时间不可控
    • 缓解策略: 实现服务降级和本地缓存机制
  • 数据一致性: 多集合数据操作可能导致不一致
    • 缓解策略: 使用数据库事务和补偿事务机制
  • 性能瓶颈: AI功能可能影响整体性能
    • 缓解策略: 异步处理和智能缓存策略

Integration Risks:

  • 现有功能破坏: 新功能可能影响现有用户体验
    • 缓解策略: 全面的回归测试和渐进式发布
  • 第三方API变更: 微信或Dify API变更
    • 缓解策略: 版本锁定和适配层设计
  • 数据迁移风险: 用户数据丢失或损坏
    • 缓解策略: 详细的数据备份和回滚计划

Deployment Risks:

  • 版本兼容性: 小程序基础库版本兼容问题
    • 缓解策略: 渐进式兼容性测试和降级方案
  • 审核延迟: 小程序审核可能被延迟
    • 缓解策略: 提前提交和多个版本预案

应急响应机制

  • Bug分级: P0级(4小时)、P1级(24小时)、P2级(72小时)
  • 热修复机制: 关键bug的快速修复和发布流程
  • 回滚预案: 每个版本的完整回滚方案

缓解策略

  • 渐进式发布: 功能分阶段发布,降低单次发布风险
  • 监控告警: 实时监控关键指标,快速发现问题
  • 回滚机制: 完整的回滚预案和一键回滚能力
  • 团队培训: 确保团队熟悉新技术和流程

📋 附录

术语表

  • PRD: Product Requirements Document (产品需求文档)
  • Epic: 大型功能集合,通常包含多个用户故事
  • Story: 具体的用户需求描述,包含验收标准
  • Sprint: 时间盒限制的开发迭代 (通常1-4周)
  • MVP: Minimum Viable Product (最小可行产品)
  • Brownfield: 现有项目/系统上的功能增强
  • TDesign: 腾讯设计体系的小程序UI组件库

文档版本历史

版本日期变更描述作者
v1.02025-10-17初始版本创建John (PM Agent)

相关文档

  • 项目架构文档: CLAUDE.md
  • 分包规划: docs/分包规划方案.md
  • 数据库设计: docs/数据库设计.md
  • 功能列表: docs/功能列表.md
  • UI组件文档: docs/UI组件文档.md

文档结束 | 下次更新: 根据开发进展和用户反馈持续更新

注意事项: 本PRD为动态文档,随着开发进展和用户反馈会持续更新和完善。所有开发活动应严格遵循本PRD中的技术规范和验收标准。

贡献者

The avatar of contributor named as Cai Hongyu Cai Hongyu

文件历史

撰写