diff --git a/README.md b/README.md index fa32339..5ce0aba 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Tennis Training Hub -AI 网球训练助手,提供训练计划、姿势分析、实时摄像头分析、在线视频录制与视频库管理。当前版本新增独立 Go 媒体服务,用于处理在线录制、分段上传、实时推流信令和归档回放。 +网球训练管理与分析应用,提供训练计划、姿势分析、实时摄像头分析、在线视频录制与视频库管理。当前版本新增独立 Go 媒体服务,用于处理在线录制、分段上传、实时推流信令和归档回放。 ## Architecture diff --git a/client/src/pages/Dashboard.tsx b/client/src/pages/Dashboard.tsx index 6cfebad..7fe1cb2 100644 --- a/client/src/pages/Dashboard.tsx +++ b/client/src/pages/Dashboard.tsx @@ -67,7 +67,7 @@ export default function Dashboard() {
diff --git a/client/src/pages/Home.tsx b/client/src/pages/Home.tsx index 18ff403..21aeaa4 100644 --- a/client/src/pages/Home.tsx +++ b/client/src/pages/Home.tsx @@ -30,18 +30,18 @@ export default function Home() {
- AI网球训练助手 + 网球训练系统

- 精准分析 - 高效提升 + 训练记录 + 分析与录制

- AI姿势识别 · 智能训练计划 · 实时动作分析 · 自动评分反馈 + 训练计划 · 姿势分析 · 实时录制 · 评分记录

@@ -50,43 +50,43 @@ export default function Home() { {/* Features */}
-

核心功能

+

功能

{[ { icon: Video, - title: "AI姿势识别", - desc: "MediaPipe实时分析33个关键点,精准评估挥拍动作", + title: "姿势识别", + desc: "使用 MediaPipe 分析 33 个关键点并记录挥拍数据", color: "bg-blue-50 text-blue-600", }, { icon: Target, - title: "智能训练计划", - desc: "根据水平和分析结果,AI自动生成和调整训练方案", + title: "训练计划", + desc: "根据水平和分析结果生成训练安排", color: "bg-green-50 text-green-600", }, { icon: Award, title: "NTRP自动评分", - desc: "USTA标准五维度评估,每次分析自动更新评分", + desc: "按 USTA 维度记录评分结果", color: "bg-purple-50 text-purple-600", }, { icon: Zap, title: "击球统计", - desc: "击球次数、挥拍速度、一致性,量化训练效果", + desc: "记录击球次数、挥拍速度和一致性", color: "bg-orange-50 text-orange-600", }, { icon: Footprints, title: "运动轨迹", - desc: "重心移动轨迹分析,优化脚步移动模式", + desc: "记录重心移动轨迹和脚步变化", color: "bg-teal-50 text-teal-600", }, { icon: TrendingUp, title: "进度追踪", - desc: "训练历史、能力趋势、评分变化一目了然", + desc: "查看训练历史、趋势和评分变化", color: "bg-indigo-50 text-indigo-600", }, ].map((feature) => ( @@ -103,11 +103,11 @@ export default function Home() { {/* How it works */}
-

使用流程

+

使用步骤

{[ { step: "1", title: "输入用户名", desc: "用户名登录即可" }, - { step: "2", title: "生成计划", desc: "AI个性化训练方案" }, + { step: "2", title: "生成计划", desc: "生成训练安排" }, { step: "3", title: "上传视频", desc: "录制挥拍并分析" }, { step: "4", title: "获取反馈", desc: "评分与矫正建议" }, ].map((item) => ( @@ -125,10 +125,10 @@ export default function Home() { {/* CTA */}
-

提升技术,从这里开始

-

输入用户名即可使用全部功能

+

登录入口

+

输入用户名后进入系统

@@ -141,7 +141,7 @@ export default function Home() { Tennis Hub
- AI网球训练助手 + 训练与分析
diff --git a/client/src/pages/LiveCamera.tsx b/client/src/pages/LiveCamera.tsx index efad014..04f6940 100644 --- a/client/src/pages/LiveCamera.tsx +++ b/client/src/pages/LiveCamera.tsx @@ -285,7 +285,7 @@ export default function LiveCamera() { 摄像头位置设置 - 为获得最佳分析效果,请按以下步骤调整设备位置 + 请按以下步骤调整设备位置
@@ -313,7 +313,7 @@ export default function LiveCamera() { ) : ( )} diff --git a/client/src/pages/Login.tsx b/client/src/pages/Login.tsx index 1de870f..8458faa 100644 --- a/client/src/pages/Login.tsx +++ b/client/src/pages/Login.tsx @@ -37,13 +37,13 @@ export default function Login() {

Tennis Hub

-

AI网球训练助手

+

训练与分析入口

- 开始训练 - 输入用户名即可开始使用 + 登录 + 输入用户名后进入系统
@@ -96,7 +96,7 @@ export default function Login() {

- 输入用户名即可使用全部功能 + 输入用户名后进入系统

diff --git a/client/src/pages/Training.tsx b/client/src/pages/Training.tsx index 1233052..5acaf86 100644 --- a/client/src/pages/Training.tsx +++ b/client/src/pages/Training.tsx @@ -96,7 +96,7 @@ export default function Training() {

训练计划

-

AI个性化训练方案

+

按水平和周期生成训练安排

@@ -109,7 +109,7 @@ export default function Training() { 生成训练计划 - 根据水平和目标,AI生成个性化训练方案 + 根据水平和目标生成训练安排 @@ -149,7 +149,7 @@ export default function Training() { className="w-full sm:w-auto gap-2" > {generateMutation.isPending ? ( - <>AI生成中... + <>生成中... ) : ( <>生成训练计划 )} @@ -186,7 +186,7 @@ export default function Training() { ) : ( )} - 智能调整 + 重新调整 {activePlan.adjustmentNotes && ( diff --git a/client/src/pages/Tutorials.tsx b/client/src/pages/Tutorials.tsx index 42056a1..4c4c3d4 100644 --- a/client/src/pages/Tutorials.tsx +++ b/client/src/pages/Tutorials.tsx @@ -98,7 +98,7 @@ export default function Tutorials() { 教程库 -

专业动作分解与要领,对照标准动作提升技术

+

查看动作分解、要点说明和常见错误

{/* Progress Overview */} diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7f12ebf..77a4adb 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -9,7 +9,7 @@ - **训练提醒通知**:支持训练/打卡/分析多类型提醒,自定义时间和重复日期 - **浏览器通知推送**:Notification API集成,权限管理和状态提示 - **通知记录管理**:未读计数、全部标记已读、历史记录浏览 -- **文案优化**:去除“在家”等冗余描述,简化为直接信息反馈 +- **文案调整**:去除冗余描述,简化为直接信息反馈 ### 数据库变更 @@ -33,11 +33,11 @@ - **每日打卡系统**:日历视图展示打卡记录,自动计算连续打卡天数 - **成就徽章系统**:24种成就徽章,涵盖里程碑、训练、连续打卡、视频、分析、评分6个类别 - **实时摄像头分析**:支持手机/电脑摄像头实时捕捉和MediaPipe姿势分析 -- **摄像头位置确认提示**:引导用户调整摄像头到最佳位置 +- **摄像头位置确认提示**:引导用户调整摄像头位置 - **在线录制系统**:稳定压缩流录制,自适应码率1-2.5Mbps - **断线自动重连**:摄像头意外断开时自动检测并重新连接 - **自动剪辑功能**:基于运动检测自动标记关键时刻 -- **移动端全面适配**:安全区域、触摸优化、横屏支持 +- **移动端适配**:安全区域、触摸优化、横屏支持 - **手机摄像头优化**:前后摄像头切换、自适应分辨率 ### 数据库变更 @@ -53,7 +53,7 @@ ### 文档 -- 新增完整README.md +- 新增 README.md - 新增API接口文档 - 新增数据库设计文档 - 新增功能列表清单 diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 3d3bc79..3c6914b 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -10,7 +10,7 @@ ### 用户与训练 - 用户名登录:无需注册,输入用户名即可进入训练工作台 -- AI 训练计划:按技能等级和训练周期生成个性化训练计划 +- 训练计划:按技能等级和训练周期生成训练计划 - 训练进度:展示训练次数、时长、评分趋势、最近分析结果 - 每日打卡与提醒:支持训练打卡、提醒、通知记录 @@ -31,7 +31,7 @@ - 归档回放:worker 合并片段并生成 WebM,FFmpeg 可用时额外生成 MP4 - 视频库登记:归档完成后自动写回现有视频库 -## 前端体验能力 +## 前端能力 ### 移动端 diff --git a/server/routers.ts b/server/routers.ts index 773ab6b..aa21e38 100644 --- a/server/routers.ts +++ b/server/routers.ts @@ -72,9 +72,9 @@ export const appRouter = router({ footworkScore: a.footworkScore, })); - const prompt = `你是一位专业网球教练。请为一位${ + const prompt = `你是一位网球教练。请为一位${ input.skillLevel === "beginner" ? "初级" : input.skillLevel === "intermediate" ? "中级" : "高级" - }水平的网球学员生成一个${input.durationDays}天的在家训练计划。 + }水平的网球学员生成一个${input.durationDays}天的训练计划。 要求: - 只需要球拍,不需要球场和球网 @@ -87,7 +87,7 @@ ${recentScores.length > 0 ? `- 用户最近的分析数据: ${JSON.stringify(rec const response = await invokeLLM({ messages: [ - { role: "system", content: "你是专业网球教练AI助手。返回严格的JSON格式。" }, + { role: "system", content: "你是网球训练计划生成器。返回严格的JSON格式。" }, { role: "user", content: prompt }, ], response_format: { @@ -175,7 +175,7 @@ ${recentScores.length > 0 ? `- 用户最近的分析数据: ${JSON.stringify(rec const response = await invokeLLM({ messages: [ - { role: "system", content: "你是专业网球教练AI助手。返回严格的JSON格式。" }, + { role: "system", content: "你是网球评分生成器。返回严格的JSON格式。" }, { role: "user", content: prompt }, ], response_format: { @@ -361,7 +361,7 @@ ${recentScores.length > 0 ? `- 用户最近的分析数据: ${JSON.stringify(rec messages: [ { role: "system", - content: "你是一位专业网球教练。根据MediaPipe姿势分析数据,给出具体的姿势矫正建议。用中文回答。", + content: "你是一位网球动作分析员。根据MediaPipe姿势分析数据,给出具体的姿势矫正建议。用中文回答。", }, { role: "user", diff --git a/todo.md b/todo.md index 31fd16e..b1adb68 100644 --- a/todo.md +++ b/todo.md @@ -63,4 +63,4 @@ - [x] 更新导航添加新页面入口 - [x] 编写新功能测试 - [x] 推送更新到Gitea仓库 -- [x] 去除“在家”等冗余说明文字,简化为直接信息反馈 +- [x] 去除冗余说明文字,简化为直接信息反馈