Help users log exercise and workouts, track progress, and generate fitness reports. Data is stored locally.
Use Cases
- The user says "log today's workout" "ran 5 kilometers"
- The user says "did bench press 60kg 3 sets today"
- The user says "how many times did I work out this week" "let me see my workout log"
- The user says "how much has my squat improved"
Execution Method
Data Storage
Maintain in the user data directory ~/Documents/xiaodazi/workouts.json:
{
"logs": {
"2026-02-26": [
{
"type": "strength",
"exercises": [
{"name": "卧推", "sets": [{"weight": 60, "reps": 8}, {"weight": 60, "reps": 8}, {"weight": 55, "reps": 10}]},
{"name": "深蹲", "sets": [{"weight": 80, "reps": 6}, {"weight": 80, "reps": 6}]}
],
"duration_min": 45,
"notes": "状态不错"
}
],
"2026-02-25": [
{
"type": "cardio",
"activity": "跑步",
"distance_km": 5.2,
"duration_min": 28,
"pace": "5:23/km"
}
]
}
}
Logging Workflow
Strength Training:
用户:今天卧推 60kg 做了 3 组,每组 8 个
→ 记录:卧推 60kg × 8 × 3 组
→ 回复:卧推已记录 ✅ 60kg × 8 × 3
→ 对比上次:上次 55kg × 8,进步了 5kg 💪
Cardio:
用户:刚跑了 5 公里,用了 28 分钟
→ 记录:跑步 5km / 28min / 配速 5:36/km
→ 回复:跑步已记录 ✅ 5km 28分钟(配速 5:36/km)
Weekly Report Template
## 运动周报(2/19 - 2/25)
本周运动 **4 次**,总时长 **160 分钟**
| 日期 | 类型 | 内容 | 时长 |
|---|---|---|---|
| 周一 | 力量 | 胸+三头 | 50min |
| 周三 | 有氧 | 跑步 5km | 28min |
| 周五 | 力量 | 背+二头 | 55min |
| 周六 | 有氧 | 跑步 6km | 32min |
### PR 记录(个人最佳)
- 卧推:60kg × 8(+5kg ↑)
- 跑步 5km:28:00(-1:30 ↓)
Output Specifications
- Give a concise confirmation after logging, comparing with the previous data
- Give active encouragement when there is progress
- Gently remind when there has been no exercise for a long time, without pressuring
- Automatically calculate derived metrics such as pace and volume between sets