Calorie Visualizer
A local skill for meal logging and visual nutrition analysis.
Core Flow
- 1. User sends meal text/photo (upstream extracts calorie/protein values or calls food-db lookup).
- INLINECODE0 (or
add-food) writes to calorie_data.db. - After write,
visual_renderer.py generates a fresh report image. - CLI prints
REPORT_IMAGE:<path> so the chat layer can send the image.
Daily Goal Priority
- 1.
config.daily_goal (manual override) - TDEE derived from INLINECODE6
- If user explicitly refuses profile data: logging only, no repeated prompting
- Fallback default in renderer: INLINECODE7
CLI Commands
CODEBLOCK0
Dependencies
CODEBLOCK1
- - Python libs:
html2image, INLINECODE9 - Online fallback: optional USDA API (
USDA_API_KEY) - Database: SQLite (built into Python)
- Rendering: requires system Chromium/Chrome (called by html2image)
Storage
- -
calorie_data.db (local SQLite) - No automatic external sync
卡路里可视化工具
一个用于记录饮食和进行视觉营养分析的本地技能。
核心流程
- 1. 用户发送餐食文本/照片(上游提取卡路里/蛋白质数值,或调用食物数据库查询)。
- add(或 add-food)将数据写入 caloriedata.db。
- 写入后,visualrenderer.py 生成一份新的报告图片。
- CLI 输出 REPORT_IMAGE:<路径>,以便聊天层发送该图片。
每日目标优先级
- 1. config.daily_goal(手动覆盖)
- 从 USER.md 推导出的 TDEE
- 如果用户明确拒绝提供个人资料:仅记录,不重复提示
- 渲染器中的回退默认值:2000 kcal
CLI 命令
bash
添加带有明确营养数值的餐食
python3 scripts/calorie_visualizer.py add 食物名称 500 25 [--photo /path/to/image.jpg]
从本地食物数据库添加(优先本地,可选在线回退)
python3 scripts/calorie_visualizer.py add-food 赛百味鸡肉三明治 --multiplier 1.0
python3 scripts/calorie_visualizer.py add-food 米饭 --offline
每日总结
python3 scripts/calorie_visualizer.py summary
重新生成报告图片
python3 scripts/calorie_visualizer.py report
配置
python3 scripts/calorie
visualizer.py config dailygoal 2000
python3 scripts/calorie
visualizer.py config userrefused_profile True
依赖项
bash
cd skills/calorie-visualizer
python3 -m pip install -r requirements.txt
- - Python 库:html2image、Pillow
- 在线回退:可选的 USDA API(USDAAPIKEY)
- 数据库:SQLite(Python 内置)
- 渲染:需要系统安装 Chromium/Chrome(由 html2image 调用)
存储
- - calorie_data.db(本地 SQLite)
- 无自动外部同步