Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

122
plan.md Normal file
View File

@@ -0,0 +1,122 @@
# 运动训练监测与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获取对应语言的文本
*/
/*
多语言报告系统设计说明:
1. 报告翻译基本原理:
- 原始报告存储在ak_sport_reports表中带有source_language_id标识源语言
- 各语言翻译存储在ak_sport_report_translations表中
- 通过report_id和language_id的组合唯一索引确保每种语言只有一个翻译版本
2. AI翻译集成
- ak_translation_jobs表跟踪所有翻译请求及其状态
- 支持多种内容类型的翻译通过source_type区分
- 记录翻译处理时间和使用的AI模型
3. 翻译状态追踪:
- pending: 等待翻译
- processing: 正在翻译
- completed: 翻译完成
- failed: 翻译失败
4. 获取报告内容:
- 通过get_report_translation函数获取指定语言的报告
- 如果没有对应语言的翻译,返回原始内容
- 如果用户未指定语言,使用其语言偏好
5. 发起翻译请求:
- 通过request_report_translation函数请求AI翻译
- 自动创建翻译任务和初始翻译记录
- 避免重复翻译已翻译内容
6. 前端集成:
- 使用vw_sport_reports_i18n视图简化前端查询
- 可显示翻译状态和是否为机器翻译
*/