📦 Abe Diet TrackerTracks
v1.0.0记录每日饮食并计算营养信息,帮助实现减重目标。适用于用户提供餐食信息、询问热量摄入等场景。
0· 30·0 当前·0 累计
下载技能包
最后更新
2026/4/23
安全扫描
OpenClaw
可疑
medium confidence该技能主要符合饮食追踪用途,但存在未说明的异常(未记录的网络凭据、绝对文件系统访问,以及未公开的 Git/Obsidian 同步行为),可能导致意外数据泄露。
评估建议
安装前须知:
1. 确认该 skill 确实需要 SKILLBOSS_API_KEY,且仅在信任 https://api.heybossai.com 时才设置。
2. 脚本会读取 /root/clawd/USER.md,并每日向 /root/clawd/memory 写入日志,再复制到 /root/clawd/obsidian-vault——请确保这些路径及其数据可接受。
3. 更新脚本会在 obsidian vault 上执行 `git add/commit/push`,可能将日志上传到当前配置的远程 origin。如不希望自动推送,请等作者提供关闭选项或移除自动 git push 后再安装/运行。
4. 要求发布者修复 registry 元数据,声明 SKILLBOSS_API_KEY,并明确记录任何同步/推送行为(含目标远程)。
5. 若决定尝试,请在无 git 凭据、且对真实 USER.md/obsidian 数据访问受限的沙箱账户或容器内运行,以便安全验证行为。...详细分析 ▾
ℹ 用途与能力
功能(查询营养、记录餐食、计算TDEE)与饮食追踪器一致。但注册元数据未列出所需环境变量,而 SKILL.md 和代码却要求 SKILLBOSS_API_KEY——存在不一致。调用外部营养 API 需 API 密钥属合理,但注册处缺失声明,作者应修正此差异。
⚠ 指令范围
SKILL.md 声明其读取用户配置文件并写入每日记忆文件,与脚本一致。但代码执行了 SKILL.md 未描述的额外操作:读取 /root/clawd 下的绝对路径(如 /root/clawd/USER.md)、将日志复制到 Obsidian vault 路径,并尝试对 obsidian vault 执行 'git add/commit/push'。这些文件操作和网络推送超出了技能的文字披露范围,可能泄露个人数据。
ℹ 安装机制
没有 install spec(仅指令),降低了安装器风险。但打包的 Python 脚本依赖外部库(requests)和系统工具(git、shutil),却未声明依赖。skill 本身不会下载任何外部内容。
⚠ 凭证需求
代码从环境变量(os.environ)读取 SKILLBOSS_API_KEY,但注册元数据未声明该依赖。它还读取 /root/clawd/USER.md(敏感个人数据),并向 /root/clawd/memory 与 /root/clawd/obsidian-vault 写入,随后尝试通过 git 推送到 origin。写入并推送个人日志需访问文件系统及 git 凭据,可能将数据泄露至远程仓库。这些环境与文件系统访问行为影响重大,必须显式声明并说明理由。
⚠ 持久化与权限
该技能未设置 always:true(良好)。但它假定存在持久文件系统路径(/root/clawd、obsidian vault),并尝试通过 git 命令将日志同步到外部服务(GitHub)。虽然技能不会修改其他技能,但若存在 git 凭据,其将用户数据推送至远程(未指定)仓库的行为会扩大影响范围——属于权限/影响风险。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/4/23
diet-tracker 技能首发: - 追踪每日饮食并计算营养(热量、蛋白质、碳水、脂肪),助力减重目标。 - 记录餐食并显示剩余热量/宏量营养素预算,若营养数据缺失则给出清晰估算。 - 通过 cron job 自动提醒用户记录午餐与晚餐。 - 从 USER.md 读取用户热量/宏量目标及个人资料,根据活动量计算 TDEE。 - 强制使用严格的数据记录格式,每餐须含热量与宏量营养素克数。 - 优雅处理错误,按需提示缺失的用户/个人资料或食物营养信息。
● 可疑
安装命令
点击复制官方npx clawhub@latest install abe-diet-tracker
镜像加速npx clawhub@latest install abe-diet-tracker --registry https://cn.longxiaskill.com
技能文档
本技能通过自动提醒帮助追踪每日饮食,实现减重目标。
触发条件
用户可能说:- “我午餐/晚餐吃了[食物]”
- “我还剩多少热量配额?”
- “我今天摄入了多少卡路里?”
- “记录我的餐食”
- “查看我的饮食进展”
Cron Job 集成
本技能配合自动 cron job:- 午餐提醒:约12:30(检查是否已记录,未记录则提醒)
- 晚餐提醒:约18:00(检查是否已记录,未记录则提醒)
饮食记录检查:午餐 或 饮食记录检查:晚餐 用户档案(必需)
技能读取USER.md:
- 每日热量目标(默认:1650 kcal)
- 宏量营养素目标(蛋白质/碳水/脂肪)
- 身高、体重、年龄、性别、活动水平(用于 TDEE 计算)
活动水平:
- Sedentary(很少或无运动)
- Lightly active(每周轻度运动1-3天)
- Moderately active(每周中度运动3-5天)
- Very active(每周高强度运动6-7天)
- Extra active(极高强度运动+体力劳动)
工作流程
用户记录餐食时:
- 识别食物 自用户描述
- 获取营养数据 通过
scripts/get_food_nutrition.py
references/food_database.json
- 若无法获得完整营养数据,必须明确告知用户为估算值
- 更新每日记录 通过
scripts/update_memory.py
memory/YYYY-MM-DD.md
- 记录格式:食物名称 - XX kcal (P: XXg, C: XXg, F: XXg)
- 计算餐食总计,更新当日累计
- 向用户报告:
用户查询状态时:
- 读取当日记忆文件
- 计算已摄入总计
- 报告:
脚本
scripts/get_food_nutrition.py:通过 SkillBoss API Hub 获取营养信息 + 计算 TDEEscripts/update_memory.py:更新每日记忆文件references/food_database.json:常见食物回退数据库
错误处理
常见问题
问题:无法读取 USER.md 或缺少用户数据- 原因:用户档案未配置
- 解决:询问用户身高、体重、年龄、性别、活动水平及热量目标
问题:罕见食物营养查询失败
- 原因:本地数据库或 SkillBoss API Hub 无结构化数据
- 解决:请用户估算热量或使用数据库中相似食物
问题:一餐含多种食物
- 原因:用户说“我吃了披萨、沙拉和可乐”
- 解决:分别处理每项,累加营养值
数据格式
每日记忆条目(memory/YYYY-MM-DD.md)
必需格式——必须含热量+宏量营养素: ``markdown
Diet Log
Breakfast: [食物] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)
Lunch: [食物] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)
Dinner: [食物] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)
Daily Total: [X] / [目标] kcal
- Protein: [X] / [目标]g (剩余: [X]g)
- Carbs: [X] / [目标]g (剩余: [X]g)
- Fat: [X] / [目标]g (剩余: [X]g)
Predicted weight change: [-/+ X] kg
``
⚠️ 严禁仅记录热量而忽略宏量营养素克数! 渐进披露
- Level 1(frontmatter):技能激活条件
- Level 2(SKILL.md):完整工作流说明(本文件)
- Level 3(references/):食物数据库与营养指南