diet-tracker
概述
提供每餐饮食记录、食物条目管理、每日/每周营养摘要、热量趋势分析等功能。与 mediwise-health-tracker 共享数据库,可与 weight-manager 联动形成"饮食 → 热量 → 体重"完整闭环。
数据模型
diet_records(一餐记录)
| 字段 |
说明 |
| id |
记录 ID |
| member_id |
成员 ID |
| meal_type |
餐次: breakfast/lunch/dinner/snack |
| meal_date |
日期 YYYY-MM-DD |
| meal_time |
时间 HH:MM(可选) |
| total_calories |
总热量 kcal |
| total_protein |
总蛋白质 g |
| total_fat |
总脂肪 g |
| total_carbs |
总碳水 g |
| total_fiber |
总膳食纤维 g |
| note |
备注 |
diet_items(食物条目)
| 字段 |
说明 |
| id |
条目 ID |
| record_id |
关联 diet_records.id |
| food_name |
食物名称 |
| amount |
数量 |
| unit |
单位(g/ml/份/个等) |
| calories |
热量 kcal |
| protein |
蛋白质 g |
| fat |
脂肪 g |
| carbs |
碳水 g |
| fiber |
膳食纤维 g |
| note |
备注 |
功能列表
diet.py — 饮食记录 CRUD
| 动作 |
子命令 |
必要参数 |
可选参数 |
说明 |
| add-meal |
add-meal |
--member-id, --meal-type, --meal-date |
--meal-time, --note, --items (JSON) |
添加一餐记录(可同时包含多个食物条目) |
| add-item |
add-item |
--record-id, --food-name |
--amount, --unit, --calories, --protein, --fat, --carbs, --fiber, --note |
向已有餐次追加食物条目 |
| list |
list |
--member-id |
--date, --start-date, --end-date, --meal-type, --limit |
查看饮食记录 |
| delete |
delete |
--id |
--type (record/item) |
删除记录或条目 |
| daily-summary |
daily-summary |
--member-id, --date |
|
某日营养摘要 |
nutrition.py — 营养分析
| 动作 |
子命令 |
必要参数 |
可选参数 |
说明 |
| weekly-summary |
weekly-summary |
--member-id |
--end-date |
一周营养趋势(每日热量、平均三大营养素) |
| calorie-trend |
calorie-trend |
--member-id |
--days (默认 7) |
热量趋势分析(N 天每日总热量) |
| nutrition-balance |
nutrition-balance |
--member-id |
--days (默认 7) |
三大营养素比例分析 |
使用流程
- 确认成员身份(通过 mediwise-health-tracker 的 list-members)
- 使用
add-meal 记录一餐,通过 --items JSON 一次录入多个食物
- 如需追加食物,使用
add-item 向已有餐次添加
- 使用
daily-summary 查看当天营养摄入
- 使用
weekly-summary 或 calorie-trend 查看长期趋势
items JSON 格式
--items 参数接受 JSON 数组:
[
{"food_name": "米饭", "amount": 200, "unit": "g", "calories": 232, "protein": 4.6, "fat": 0.6, "carbs": 51.5, "fiber": 0.3},
{"food_name": "炒青菜", "amount": 150, "unit": "g", "calories": 45, "protein": 2.1, "fat": 2.5, "carbs": 3.2, "fiber": 1.8}
]
注意事项
- 热量和营养素数值由 AI 估算或用户手动输入,不保证精确
- 建议 AI 在记录时主动帮用户估算常见食物的营养成分
- meal_type 支持: breakfast(早餐)、lunch(午餐)、dinner(晚餐)、snack(加餐/零食)
1---2name: diet-tracker-23description: 日常饮食记录与营养分析。用于记录每餐、维护食物条目、查看每日或每周营养摘要、 分析热量趋势,并与 `mediwise-health-tracker`、`weight-manager` 联动形成饮食与体重闭环。 Use when recording meals, managing food items, reviewing nutrition summaries, or analyzing calorie trends for a family member.4---5
6# diet-tracker
7
8## 概述
9
10提供每餐饮食记录、食物条目管理、每日/每周营养摘要、热量趋势分析等功能。与 `mediwise-health-tracker` 共享数据库,可与 `weight-manager` 联动形成"饮食 → 热量 → 体重"完整闭环。
11
12## 数据模型
13
14### diet_records(一餐记录)
15| 字段 | 说明 |
16|------|------|
17| id | 记录 ID |
18| member_id | 成员 ID |
19| meal_type | 餐次: breakfast/lunch/dinner/snack |
20| meal_date | 日期 YYYY-MM-DD |
21| meal_time | 时间 HH:MM(可选) |
22| total_calories | 总热量 kcal |
23| total_protein | 总蛋白质 g |
24| total_fat | 总脂肪 g |
25| total_carbs | 总碳水 g |
26| total_fiber | 总膳食纤维 g |
27| note | 备注 |
28
29### diet_items(食物条目)
30| 字段 | 说明 |
31|------|------|
32| id | 条目 ID |
33| record_id | 关联 diet_records.id |
34| food_name | 食物名称 |
35| amount | 数量 |
36| unit | 单位(g/ml/份/个等) |
37| calories | 热量 kcal |
38| protein | 蛋白质 g |
39| fat | 脂肪 g |
40| carbs | 碳水 g |
41| fiber | 膳食纤维 g |
42| note | 备注 |
43
44## 功能列表
45
46### diet.py — 饮食记录 CRUD
47
48| 动作 | 子命令 | 必要参数 | 可选参数 | 说明 |
49|------|--------|----------|----------|------|
50| add-meal | add-meal | --member-id, --meal-type, --meal-date | --meal-time, --note, --items (JSON) | 添加一餐记录(可同时包含多个食物条目) |
51| add-item | add-item | --record-id, --food-name | --amount, --unit, --calories, --protein, --fat, --carbs, --fiber, --note | 向已有餐次追加食物条目 |
52| list | list | --member-id | --date, --start-date, --end-date, --meal-type, --limit | 查看饮食记录 |
53| delete | delete | --id | --type (record/item) | 删除记录或条目 |
54| daily-summary | daily-summary | --member-id, --date | | 某日营养摘要 |
55
56### nutrition.py — 营养分析
57
58| 动作 | 子命令 | 必要参数 | 可选参数 | 说明 |
59|------|--------|----------|----------|------|
60| weekly-summary | weekly-summary | --member-id | --end-date | 一周营养趋势(每日热量、平均三大营养素) |
61| calorie-trend | calorie-trend | --member-id | --days (默认 7) | 热量趋势分析(N 天每日总热量) |
62| nutrition-balance | nutrition-balance | --member-id | --days (默认 7) | 三大营养素比例分析 |
63
64## 使用流程
65
661. 确认成员身份(通过 mediwise-health-tracker 的 list-members)
672. 使用 `add-meal` 记录一餐,通过 `--items` JSON 一次录入多个食物
683. 如需追加食物,使用 `add-item` 向已有餐次添加
694. 使用 `daily-summary` 查看当天营养摄入
705. 使用 `weekly-summary` 或 `calorie-trend` 查看长期趋势
71
72## items JSON 格式
73
74`--items` 参数接受 JSON 数组:
75```json
76[
77 {"food_name": "米饭", "amount": 200, "unit": "g", "calories": 232, "protein": 4.6, "fat": 0.6, "carbs": 51.5, "fiber": 0.3},
78 {"food_name": "炒青菜", "amount": 150, "unit": "g", "calories": 45, "protein": 2.1, "fat": 2.5, "carbs": 3.2, "fiber": 1.8}
79]
80```
81
82## 注意事项
83
84- 热量和营养素数值由 AI 估算或用户手动输入,不保证精确
85- 建议 AI 在记录时主动帮用户估算常见食物的营养成分
86- meal_type 支持: breakfast(早餐)、lunch(午餐)、dinner(晚餐)、snack(加餐/零食)