Skip to content

Story 1.2: 实现AI微建议生成工作流 ​

字数
2152 字
阅读时间
10 分钟

Status ​

Draft

Story ​

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

Acceptance Criteria ​

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

Tasks / Subtasks ​

  • [ ] Task 1: 实现Dify工作流集成 (AC: 1, 4)

    • [ ] 配置Dify API连接和认证
    • [ ] 设计情绪分析提示词模板
    • [ ] 实现建议生成工作流调用
    • [ ] 添加API响应时间监控
    • [ ] 实现服务降级和缓存机制
  • [ ] Task 2: 开发建议分类和排序算法 (AC: 2)

    • [ ] 实现四类建议分类:即时缓解、持续改善、社交连接、专业求助
    • [ ] 基于情绪正负向和风险等级的优先级排序
    • [ ] 开发建议内容解析和结构化
    • [ ] 实现建议置信度评分机制
    • [ ] 添加建议时效性管理
  • [ ] Task 3: 完善建议展示和交互组件 (AC: 3)

    • [ ] 设计建议卡片UI组件,支持TDesign规范
    • [ ] 实现建议收藏和分享功能
    • [ ] 添加建议执行状态跟踪
    • [ ] 开发建议详情弹窗
    • [ ] 优化建议列表性能和用户体验
  • [ ] Task 4: 建立反馈闭环系统 (AC: 5)

    • [ ] 设计建议质量反馈表单
    • [ ] 实现反馈数据收集和存储
    • [ ] 开发反馈分析算法
    • [ ] 建立模型优化反馈机制
    • [ ] 添加反馈统计和报告功能
  • [ ] Task 5: 扩展数据模型和服务层 (AC: 1, 2, 3, 5)

    • [ ] 创建suggestions数据库集合
    • [ ] 扩展suggestions.js服务,支持完整工作流
    • [ ] 实现建议与情绪打卡的关联
    • [ ] 添加建议搜索和筛选功能
    • [ ] 完善Mock数据,包含所有场景
  • [ ] Task 6: 实现suggestionOrchestrator云函数 (AC: 1, 2, 4)

    • [ ] 实现主要编排逻辑
    • [ ] 集成Dify API调用
    • [ ] 添加建议生成、更新、删除功能
    • [ ] 实现建议与任务的关联
    • [ ] 添加错误处理和日志记录
  • [ ] Task 7: 集成现有功能验证 (Integration Verification)

    • [ ] 验证与checkinRecorder云函数的集成
    • [ ] 测试与今天页微建议列表的集成
    • [ ] 确认数据正确写入journals数据库集合
    • [ ] 测试网络异常时的降级处理
    • [ ] 验证建议生成的性能表现
  • [ ] Task 8: 编写单元测试和集成测试

    • [ ] 为Dify集成编写测试用例
    • [ ] 为建议分类算法编写测试
    • [ ] 编写反馈机制测试
    • [ ] 创建端到端测试场景
    • [ ] 添加性能和负载测试

Dev Notes ​

Previous Story Insights ​

基于Story 1.1的情绪打卡系统,本故事需要与情绪数据深度集成,确保建议生成的个性化和准确性。

Data Models ​

suggestions集合设计 [Source: docs/功能文档/功能-微建议与任务生成.md#数据需求]

  • 主要字段:
    • rec_id: string - 建议唯一标识
    • user_id: string - 用户标识
    • category: string - 建议分类(即时缓解/持续改善/社交连接/专业求助)
    • mood_reference_id: string - 关联的情绪打卡ID
    • risk_level: string - 风险等级
    • confidence: number - 置信度评分
    • source: string - 来源(model/curated/manual)

recommendation_feedback集合 [Source: docs/功能文档/功能-微建议与任务生成.md#数据需求]

  • 主要字段:
    • suggestion_id: string - 建议ID
    • user_id: string - 用户ID
    • feedback_type: string - 反馈类型(helpful/neutral/not_helpful)
    • feedback_score: number - 1-5满意度评分
    • action_taken: string - 采取的行动

API Specifications ​

服务层接口扩展 [Source: miniprogram/services/suggestions.js]

  • getTodaySuggestions() - 获取今日建议,需要集成Dify调用
  • acceptSuggestion(id) - 接受建议,支持反馈收集
  • skipSuggestion(id) - 跳过建议,记录原因
  • submitFeedback(suggestionId, feedback) - 提交建议质量反馈
  • getSuggestionHistory(params) - 获取历史建议和反馈

云函数接口 [Source: cloudfunctions/suggestionOrchestrator/index.js]

  • action: 'generate' - 基于情绪数据生成建议
  • action: 'updateFeedback' - 更新建议反馈
  • action: 'getSuggestions' - 获取用户建议列表
  • action: 'analyzePerformance' - 分析建议效果

Component Specifications ​

微建议卡片组件 [Source: docs/页面文档/页面-今天.md#模块2]

  • 建议标题和描述展示
  • 分类标签和置信度显示
  • 一键生成任务按钮
  • 收藏和分享功能
  • 反馈评分组件

建议详情弹窗

  • 完整建议内容展示
  • 行动指引和步骤说明
  • 相关资源推荐
  • 反馈收集表单

File Locations ​

新增/修改文件位置 [Source: CLAUDE.md#模块结构图]

  • 前端页面:miniprogram/pages/today/index.js - 今天Tab微建议展示
  • 服务层:miniprogram/services/suggestions.js - 微建议服务(已存在,需大幅扩展)
  • 云函数:cloudfunctions/suggestionOrchestrator/index.js - 建议编排(需要完整实现)
  • 组件:miniprogram/components/suggestion-card/ - 建议卡片组件(新增)
  • 数据库:suggestions, recommendation_feedback 集合(新增)

Testing Requirements ​

测试策略 [Source: CLAUDE.md#测试策略]

  • Dify API集成测试:模拟各种情绪数据的建议生成
  • 算法测试:验证建议分类和排序逻辑
  • 性能测试:确保AI响应时间在5秒内
  • 降级测试:网络异常时的缓存和降级机制
  • 反馈闭环测试:验证反馈收集和优化流程

Technical Constraints ​

AI服务依赖 [Source: docs/prd.md#关键风险点监控]

  • Dify API稳定性和响应时间不可控,需要实现服务降级
  • 建议生成需要有本地缓存机制
  • 必须监控API调用成功率响应时间

性能要求 [Source: docs/prd.md#非功能需求]

  • AI生成内容响应时间不超过5秒
  • 系统响应时间必须在2秒内完成基础操作
  • 支持离线基础功能

数据安全要求

  • 建议内容需要内容安全审核
  • 用户反馈数据需要隐私保护
  • 遵循最小权限原则

Integration Strategy ​

Dify工作流集成 [Source: docs/prd.md#技术约束和集成要求]

  • 集成现有Dify AI工作流平台
  • 保持与现有AI功能的兼容性
  • 实现统一的错误处理和日志记录

数据流转设计

  • 情绪打卡 → 建议生成 → 用户反馈 → 模型优化
  • 建议与任务系统的双向关联
  • 反馈数据用于持续优化建议质量

Testing ​

Testing Standards ​

测试文件位置 [Source: CLAUDE.md#测试策略]

  • 单元测试:miniprogram/services/__tests__/suggestions.test.js
  • 云函数测试:cloudfunctions/suggestionOrchestrator/__tests__/index.test.js
  • 集成测试:__tests__/integration/suggestion-workflow.test.js
  • Dify集成测试:__tests__/integration/dify-api.test.js

测试框架和模式

  • 使用Jest进行单元测试
  • 模拟Dify API响应进行隔离测试
  • 使用nock库模拟HTTP请求
  • 性能测试使用真实的API调用

具体测试要求

  • Dify API调用的各种响应场景测试
  • 建议分类算法的准确性测试
  • 反馈机制的完整性测试
  • 缓存和降级机制测试
  • 性能和并发测试

Change Log ​

DateVersionDescriptionAuthor
2025-10-181.0初始版本创建Winston (Architect)

Dev Agent Record ​

Agent Model Used ​

(待开发时填写)

Debug Log References ​

(待开发时填写)

Completion Notes List ​

(待开发时填写)

File List ​

(待开发时填写)

QA Results ​

(待QA测试时填写)

贡献者 ​

The avatar of contributor named as Cai Hongyu Cai Hongyu

文件历史 ​

用 ♥ 撰写