Files
akmon/plan.md
2026-01-20 08:04:15 +08:00

4.7 KiB
Raw Permalink Blame History

运动训练监测与AI评估平台技术方案

一、平台目标

基于 Supabase后端数据服务、RAGFlowAI检索增强生成、多种数据采集手段蓝牙手环、指环、视频监控等构建一个集运动训练监测、AI评估、训练计划统筹于一体的智能平台。

二、核心功能模块

  1. 用户与设备管理

    • 用户注册、登录、权限管理Supabase Auth
    • 设备绑定与管理(蓝牙手环、指环、摄像头等)。
  2. 数据采集与同步

    • 蓝牙设备数据采集(心率、步数、睡眠、血氧等)。
    • 视频监控采集(动作捕捉、姿态分析)。
    • 数据实时上传至 Supabase 数据库。
  3. AI 评估与分析

    • 基于 RAGFlow 的训练数据分析与个性化建议生成。
    • 运动表现评估(如动作标准性、训练负荷、恢复状态等)。
    • 训练风险预警(异常检测、疲劳分析)。
  4. 训练计划统筹

    • 训练计划智能生成与调整(结合 AI 分析结果)。
    • 计划执行跟踪与反馈。
    • 训练日志与进度可视化。
  5. 多端支持

    • 移动端App/小程序):数据采集、训练反馈、计划查看。
    • Web 端数据分析、计划管理、AI 评估报告。

三、技术选型建议

  • 后端服务SupabasePostgres 数据库、Auth、Storage、Realtime
  • AI 能力RAGFlow检索增强生成支持自定义知识库与模型微调
  • 数据采集
    • 蓝牙协议(如 BLE对接主流手环/指环。
    • 视频流采集与边缘推理(如 MediaPipe、OpenPose
  • 前端框架UniApp多端适配、Vue3。
  • 数据可视化ECharts、D3.js。
  • 消息推送/实时Supabase Realtime。

四、关键技术难点与建议

  1. 多源数据融合
    • 统一数据格式,设计灵活的表结构(如 user、device、training_record、video_analysis 等)。
    • 设备数据与用户、训练计划关联。
  2. AI 评估与个性化
    • 结合 RAGFlow训练自有知识库支持运动健康问答、训练建议自动生成。
    • 视频分析可用边缘推理+云端评估结合。
  3. 隐私与安全
    • 用户数据加密存储,敏感信息脱敏。
    • 设备接入与数据传输安全。
  4. 可扩展性
    • 设备类型、AI模型、训练计划模板可灵活扩展。

五、后续迭代方向

  • 增加更多设备类型支持。
  • 引入更多 AI 能力(如动作评分、健康风险预测)。
  • 支持团队训练、社交互动。
  • 开放 API支持第三方集成。

如需详细表结构、API 设计、AI 流程等可进一步细化。

/* i18n国际化系统说明

  1. 核心设计:

    • 通过ak_languages表定义支持的语言
    • 主表存储默认语言(通常为中文)数据
    • 翻译表以主表ID为外键存储其他语言的翻译
  2. 翻译表结构:

    • 基础翻译表ak_translations包含通用字段
    • 特定内容的翻译表继承基础表并添加特定字段
    • 组合索引确保每个记录的每种语言只有一个翻译
  3. 用户语言偏好:

    • 用户表增加preferred_language字段存储语言偏好
    • get_user_language()函数获取当前用户的语言设置
  4. 获取翻译的方式:

    • 直接SQL查询翻译表
    • 使用辅助函数如get_translation(), get_region_name()
    • 通过多语言视图(如vw_regions_i18n)
  5. 前端界面文本翻译:

    • ak_app_translations表存储UI文本翻译
    • get_ui_text()函数根据key获取对应语言的文本 / / 多语言报告系统设计说明:
  6. 报告翻译基本原理:

    • 原始报告存储在ak_sport_reports表中带有source_language_id标识源语言
    • 各语言翻译存储在ak_sport_report_translations表中
    • 通过report_id和language_id的组合唯一索引确保每种语言只有一个翻译版本
  7. AI翻译集成

    • ak_translation_jobs表跟踪所有翻译请求及其状态
    • 支持多种内容类型的翻译通过source_type区分
    • 记录翻译处理时间和使用的AI模型
  8. 翻译状态追踪:

    • pending: 等待翻译
    • processing: 正在翻译
    • completed: 翻译完成
    • failed: 翻译失败
  9. 获取报告内容:

    • 通过get_report_translation函数获取指定语言的报告
    • 如果没有对应语言的翻译,返回原始内容
    • 如果用户未指定语言,使用其语言偏好
  10. 发起翻译请求:

    • 通过request_report_translation函数请求AI翻译
    • 自动创建翻译任务和初始翻译记录
    • 避免重复翻译已翻译内容
  11. 前端集成:

    • 使用vw_sport_reports_i18n视图简化前端查询
    • 可显示翻译状态和是否为机器翻译 */