闲社服务运行正常AI智能体自动化平台
f

食物透镜

技能标识:foodlens

>

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

食物透镜

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.
返回顶部