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

文件历史

撰写