返回顶部
f

foodlens食物透镜

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
98
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

foodlens

FoodLens — AI餐食照片与营养追踪器

触发条件

用户发送餐食/食物照片并附带以下背景信息:
  • - breakfast / lunch / dinner / snack / supper / 早饭 / 午饭 / 晚饭 / 加餐 / 零食

配置

为你的部署设置以下路径(显示默认值):

FOODLENS_DIR=~/.openclaw/workspace/skills/foodlens
FOODLENSDATA=$FOODLENSDIR/data # 每日JSON日志:YYYY-MM-DD.json
FOODLENSVENV=$FOODLENSDIR/venv

营养目标可由用户配置。默认值(编辑foodlens_config.json):

  • - 热量:2000千卡/天
  • 蛋白质:80克 | 碳水化合物:250克 | 脂肪:65克



核心流程

步骤1 — 分析照片(主要方式)

将传入的照片保存到临时路径,然后运行:

bash
cd $FOODLENS_DIR && source venv/bin/activate
python3 analyze_photo.py /path/to/photo.jpg lunch

此脚本:

  1. 1. 调用GPT-4o Vision(备用:Gemini)识别食物,并利用容器/餐具参照物估算份量
  2. 与nutrition_db(778种食物+197个别名)交叉验证;若偏差超过30%,则信任数据库
  3. 将餐食追加到data/YYYY-MM-DD.json
  4. 输出格式化的营养报告

直接将脚本输出转发给用户。



步骤2 — 备用方案(API不可用)

如果analyze_photo.py失败,使用image工具:

image(
image=/path/to/photo.jpg,
prompt=你是一名专业营养师。识别这张餐食照片中的所有食物。
观察容器大小和餐具,估算每样食物的实际克数。
参考标准:外卖盒500-800毫升,一碗米饭约150-200克,
炒面约400-500克。列出每种食物:名称、估算克数、
每100克千卡数、每100克蛋白质/碳水化合物/脂肪。
)

然后通过Python写入结果:

bash
cd $FOODLENS_DIR && source venv/bin/activate && python3 - < import json, uuid, sys
sys.path.insert(0, .)
from foodlens import (ensureitemnutrition, calc_total,
healthscoreandcomment, loadday, save_day,
todaystr, recalcday_totals)
from datetime import datetime

datestr = todaystr()
day = loadday(datestr)

替换为image工具的结果

items = [ ensureitemnutrition({name: 食物名称, grams: 300, source: image_tool}), ]

mealtotal = calctotal(items)
score, comment = healthscoreandcomment(mealtotal, len(items))
meal = {
mealid: fmeal{uuid.uuid4().hex[:10]},
timestamp: datetime.now().isoformat(),
label: lunch,
items: items,
mealtotal: mealtotal,
health_score: score,
comment: comment,
}
day[meals].append(meal)
recalcdaytotals(day)
saveday(datestr, day)
print(json.dumps({meal: meal, dailytotal: day[dailytotal]}, ensure_ascii=False, indent=2))
EOF



步骤3 — 格式化回复

🍽️ [午餐] 营养分析

🔍 识别到的食物:
• 炒面 ~400克(720千卡)
• 虾 ~30克(27千卡)
• 鸡肉片 ~60克(90千卡)

📊 餐食总计:
• 热量:837千卡
• 蛋白质:38克 | 碳水化合物:102克 | 脂肪:29克

⭐ 健康评分:7/10
评论:...

📈 每日总计(第N餐):
• 热量:X / [目标]千卡(X%)
• 蛋白质:X / [目标]克(X%)



步骤4 — 用户修正

如果用户说那不是X而是Y或只有大约X克:

  1. 1. 重新查询nutrition_db获取修正后的食物信息
  2. 更新JSON条目
  3. 回复修正后的营养总计



步骤5 — 重复检测

如果再次发送同一张照片,提醒用户该照片已记录,并询问是否再次记录。



摘要

每日摘要:
bash
cd $FOODLENS_DIR && source venv/bin/activate
python3 analyze_photo.py --summary today

每周趋势(过去7天):
bash
cd $FOODLENS_DIR && source venv/bin/activate
python3 analyze_photo.py --weekly-summary yesterday 7



数据布局


路径描述
data/YYYY-MM-DD.json每日餐食日志
nutrition_db.py
778种食物+197个别名 |
| analyze_photo.py | 主入口点 |
| foodlens_config.json | 用户营养目标 |
| venv/ | Python虚拟环境 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 foodlens-1776017970 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 foodlens-1776017970 技能

通过命令行安装

skillhub install foodlens-1776017970

下载

⬇ 下载 foodlens v1.0.0(免费)

文件大小: 2.75 KB | 发布时间: 2026-4-13 10:20

v1.0.0 最新 2026-4-13 10:20
AI-powered meal photo recognition and nutrition tracking. GPT-4o Vision with 778-food nutrition database cross-validation.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部