核心功能
Calorie Visualizer 是一款本地优先的饮食记录与营养可视化工具,专注于通过简洁的 CLI 交互实现卡路里追踪与自动图表生成。
核心用法
用户可通过两种方式记录饮食:
1. 直接输入:add "食物名称" 卡路里 蛋白质 [--photo 图片路径]
2. 数据库查询:add-food "食物名称" [--multiplier 倍数] [--offline],支持本地食品数据库优先、USDA API 在线回退
每次记录后,系统自动触发 visual_renderer.py 生成可视化报告图片,并通过 REPORT_IMAGE:<path> 协议返回给聊天层,实现"记录即反馈"的即时可视化体验。
显著优点
- 完全本地优先:SQLite 数据库、Python 脚本、可选离线模式,无需持续联网
- 自动可视化:每次记录后即时生成图表,降低用户认知负担
- 灵活目标设定:支持三级日摄入目标——手动配置 → 基于 TDEE 自动计算 → 2000 kcal 默认兜底
- 隐私尊重:可显式拒绝个人资料采集,进入纯记录模式且不反复打扰
- 轻量依赖:仅需 Python3 + Chromium + 两个 pip 包,无重型框架
潜在局限
- 渲染依赖外部浏览器:
html2image调用系统 Chromium/Chrome,跨平台兼容性需验证 - USDA API 可选但有限:离线模式下数据库覆盖范围决定查询成功率
- 无自动云端同步:多设备场景需手动处理
calorie_data.db文件 - 图片生成开销:高频记录场景下重复渲染可能影响响应延迟
适合人群
- 注重数据隐私、偏好本地存储的健康追踪者
- 需要即时可视化反馈以建立饮食习惯的用户
- 具备基础 CLI 操作能力的技术用户或开发者
- 不希望订阅 SaaS 服务的轻量需求场景
常规风险
- 数据库文件损坏:单文件 SQLite 在异常断电时可能需手动恢复
- Chromium 路径配置:部分 Linux 发行版需手动指定浏览器可执行文件
- 营养数据准确性:USDA API 或本地数据库的条目质量依赖第三方来源
- 图片存储累积:长期运行需定期清理
REPORT_IMAGE输出目录