skills/fitbuddy/fitbuddy-data/。脚本 cwd 为 skills/fitbuddy/如果 fitbuddy-data/profile.json 不存在 → 读 references/init-guide.md
用户说执行记录体重record.py weight --date 今天 --kg 数值 → 更新 profile → 汇报+对比昨天吃了什么record.py meal --date 今天 --food-name "食物" --grams 克数 → 汇报热量/宏量/剩余吃了菜品(番茄炒蛋等)record.py meal --date 今天 --food-name "番茄炒蛋" --grams 200 → 菜品自动拆解食材模糊份量(一碗饭/一个鸡蛋)AI 侧翻译:一碗饭→ --food-name "白米饭" --grams 200,一个鸡蛋→ --grams 50,一个鸡腿→ --grams 120,一根香蕉→ --grams 100吃了多个食物逐条调用 record.py meal,每条自动保存跟昨天一样record.py meal --date 今天 --like-yesterday → 追加昨日餐食记错了/撤销record.py undo --date 今天还剩多少/今天吃了啥record.py today --date 今天 → 读取后汇报看进度record.py progress --date 今天 → 进度条看周报record.py weekly --date 今天看常吃什么record.py patterns喝水record.py water --date 今天 --ml 数值运动了record.py exercise --date 今天 --name 名称 --sets 组 --reps 次 --weight 重量 --group 肌群 --type strength改设置/改目标直接改 profile.json训练建议读 references/exercise.md + references/training-plan.md营养知识读 references/nutrition-guide.md该吃啥/推荐读今日记录 + calc.py daily 算剩余 → 推荐补蛋白质缺口的食物组合
餐次自动判断: --meal 不填时按时间自动归类(早6-10/午10-14/加14-16/晚16-21)
默认份量:food-db.json 的 serving_g 字段。 --grams 不填时自动使用
食物匹配: food-db search 模糊匹配 → 找到用DB数据 → 找不到则估算营养素并用 food-db add 存入DB
菜品:food-db 中 type: dish 的条目,记录时自动按比例拆解成食材计算
碳日目标: python scripts/calc.py daily --profile fitbuddy-data/profile.json --date 日期 返回当天热量/宏量目标
逻辑统一在 references/reminder-logic.md。
Cron 任务: 执行 fitbuddy 定时提醒。读取 skills/fitbuddy/references/reminder-logic.md,按照 <TYPE> 类型的逻辑执行。
类型:weight / breakfast / lunch / dinner / water / preworkout
text
fitbuddy-data/
profile.json — 用户档案
records/YYYY-MM-DD.json — 每日记录
food-db.json — 食物数据库
user-patterns.json — 用户习惯(自动维护)
文件内容references/init-guide.md初始化引导references/nutrition-guide.md营养知识&份量估算references/nutrition.md公式参考references/exercise.md运动指南references/training-plan.md训练计划references/budget-meals.md平价饮食方案references/reports.md报告&图表references/channels.md提醒频道配置references/reminder-logic.md提醒逻辑