Diet Tracker

⚠️ 智能饮食记录与热量追踪

来自个人开发者的自动化饮食追踪助手,能记录餐食、计算营养数据并推送用餐提醒,帮助用户达成减重目标。

收藏
8.7k
安装
2.9k
版本
1.2.0
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

核心用法

Diet Tracker 是一款专为体重管理设计的自动化饮食日志工具。它允许用户通过自然语言描述日常饮食(例如“我午餐吃了鸡胸肉沙拉和一杯橙汁”),技能会立即调用 USDA FoodData Central 官方营养数据库,查询并匹配每一款食物的热量和三大宏量营养素(蛋白质、碳水、脂肪)数据,并自动更新到当日的饮食日志文件中。

技能还集成了定时提醒 cron 任务,在午餐(约12:30)和晚餐(约18:00)时段自动检查用户是否已记录餐食,若未记录则推送提醒,帮助用户建立规律记录习惯。除了事后记录,用户也可随时查询当日剩余热量预算、各项营养素剩余额度,以及基于热量缺口/盈余预测的体重变化趋势。

该技能内置 TDEE(每日总能量消耗)计算器,基于用户身高、体重、年龄、性别和活动水平,自动生成科学的热量目标(默认为1650千卡)。所有饮食数据以标准格式保存在本地 memory 目录下的 Markdown 文件中,结构清晰,既可用于自我回顾,也支持通过 Git 同步到个人 Obsidian 知识库。

显著优点

  • 权威数据源支撑:直接调用美国农业部官方 FoodData Central API,确保营养数据来源可靠、可追溯。
  • 精细化的宏量营养素追踪:不仅记录热量,更同步追踪蛋白质、碳水、脂肪克数,满足增肌减脂等精细化营养调配需求。
  • 主动式行为引导:通过定时 cron 提醒,将“事后补录”转变为“即时记录”,显著提升饮食日志的完整性和坚持率。
  • 行为与功能高度一致:安全审查报告确认,技能行为与声明功能完全一致,无后门程序、无数据外泄、无 Agent 注入等严重威胁。
  • 本地化数据主权:饮食记录全部保存在用户本地 memory 文件内,结合 Git 同步功能,用户对自身数据拥有完整掌控权。

潜在缺点与局限性

  • 需提前配置用户档案:技能高度依赖 USER.md 中的身高、体重、性别、活动水平等参数。初次使用者需花时间准确填写这些信息,否则热量目标计算会不准确。
  • 非专业级营养分析:该技能定位为自助式饮食追踪,不提供专业营养师级别的膳食指导,也不分析食物血糖生成指数或微量元素。
  • 提醒依赖 cron 运行环境:用餐提醒功能要求 Agent 平台拥有稳定的 cron 任务调度能力,若运行环境不支持 cron 或调度失败,提醒服务将失效。
  • 数据库覆盖局限性:部分非常见食物或地方特色菜肴在 USDA 数据库中可能查询不到,系统只能使用近似食物或要求用户手动估算,影响数据精确度。
  • 路径配置硬编码:当前代码将数据存储路径硬编码为 /root/clawd/,这既降低了跨环境可移植性,也默认要求 root 权限运行,存在一定安全与兼容性隐患。

适合的目标群体

  • 正在进行体重管理的自助用户:有明确减重、维持体重或增肌目标,并且希望通过量化记录保持执行动力和方向感的人。
  • 已养成数字记录习惯的极客:习惯使用 Markdown、Obsidian、Git 等工具构建个人知识库的数字化生活爱好者,diet-tracker 能无缝融入其现有工作流。
  • 对饮食结构有基本认知的健康人士:能够大致识别食物中的蛋白质和碳水来源,希望通过数据追踪调优自身饮食结构,而非完全依赖 AI 指导的用户。
  • 习惯“被动提醒”模式的用户:容易忘记主动记录饮食,需要一个定时唤醒机制来辅助养成记录习惯的人。

使用该技能可能存在的常规风险

  • 低来源可信度风险(T3):该技能由个人开发者 yonghaozhao722 维护,未提供开源仓库地址或组织背书。SKILL.md 中缺少开源许可证声明,长期可用性与维护支持存在不确定性。
  • subprocess 调用的潜在隐患:代码使用 subprocess.run 执行 Git add/commit/push 操作。虽然当前所有参数均已硬编码且避免了 shell 注入,但若未来版本维护者在 commit message 中引入外部输入,就可能带来命令注入风险。
  • API 调用的速率与稳定性风险:当前使用 USDA 公开 DEMO_KEY,每小时仅限 30 次请求。在频繁记录或测试场景下容易触发限流,导致营养查询失败。此外,代码中未设置请求超时参数,在网络不佳时可能长时间阻塞。
  • 数据管理功能缺失:技能目前仅支持写入记录,缺少用户数据导出或删除接口。这在 GDPR 等严格隐私法规地区可能构成合规短板。
  • 硬编码 root 路径风险:代码默认在 /root/ 目录运行,这一方面强制要求 root 权限(违背最小权限原则),另一方面降低了在不同操作系统和用户环境中的部署灵活性。

安全解读

核心用法

Diet Tracker 是一款专为体重管理设计的智能饮食记录工具。用户通过自然语言描述餐食(如"午餐吃了鸡胸肉沙拉"),系统自动调用USDA官方API查询食物营养数据,精确计算卡路里、蛋白质、碳水化合物和脂肪四大核心指标。技能内置TDEE(每日总能量消耗)计算器,根据用户的身高、体重、年龄、性别及活动水平个性化设定每日热量目标。

自动化功能是该技能亮点:通过cron定时任务在12:30和18:00自动检测午餐/晚餐记录状态,未记录时主动发送提醒,大幅降低漏记概率。数据以结构化格式持久化存储,支持实时查询剩余热量预算、各营养素缺口及预测体重变化趋势。

显著优点

1. 权威数据源:直接对接USDA官方食品数据库,营养信息准确可靠
2. 全自动化体验:餐食识别→营养查询→数据记录→预算计算全流程自动完成

3. 宏量营养素追踪:超越单纯卡路里计数,完整记录蛋白质/碳水/脂肪摄入,适合健身人群

4. 智能预测:基于当日热量盈余/缺口估算体重变化,提供即时反馈

5. 定时提醒机制:cron驱动的被动触发设计,培养规律记录习惯

潜在局限与风险

安全风险(B级):代码中存在硬编码API密钥(USDA DEMO_KEY)和固定绝对路径(/root/clawd/),存在路径遍历隐患;使用subprocess执行Git自动推送命令,若参数被篡改可能导致非预期命令执行。

隐私风险:需收集身高、体重、年龄、性别等敏感健康数据,数据存储于本地但存在Obsidian和GitHub自动同步行为,用户可能 unaware 数据外传。

功能局限:依赖外部API可用性,DEMO_KEY有速率限制;非常见食物可能查询失败需人工估算;当前版本无饮食历史趋势分析功能。

适合人群

  • 有明确减脂/增肌目标的健身爱好者
  • 需要严格监控宏量营养素摄入的生酮、高蛋白饮食执行者
  • 希望建立规律饮食记录习惯但易遗忘的上班族
  • 注重数据驱动、愿意接受一定隐私收集的理性管理者

常规风险提示

建议部署前替换DEMO_KEY为个人密钥,审查并修改固定路径配置,关闭或确认GitHub自动推送选项,并为USER.md等敏感文件设置严格文件权限。

Diet Tracker 内容

references文件夹
scripts文件夹
手动下载zip · 7.1 kB
food_database.jsonapplication/json
请选择文件