一个基于 AI 的智能食物识别和营养分析系统,帮助你轻松追踪饮食和管理健康目标。
🎯 在线演示: https://lucas8848168.github.io/Calorie-AnalysisDEMO/
- 📸 拍照即可识别食物并计算卡路里
- 🎯 支持多种食物同时识别
- 📊 自动估算食物重量和分量
- 💡 提供详细的营养成分分析
- 🎯 个性化健康目标设置(减重/增肌/维持)
- 📊 智能营养目标计算(基于 BMR/TDEE)
- 📈 每日进度追踪和可视化
- 🏆 连续达标天数统计
- 🤖 基于历史数据的个性化饮食建议
- ⚖️ 营养均衡度分析
- 🥗 健康食物推荐
⚠️ 营养摄入预警
- 📱 PWA 支持,可安装到手机
- 🔄 离线功能,无网络也能使用
- 🎨 响应式设计,适配各种设备
- ⚡ 快速加载,流畅体验
- 框架: React 19 + TypeScript
- 构建工具: Vite 7
- 样式: 原生 CSS3(响应式设计)
- 图表: Recharts
- PWA: Service Worker + Manifest
- 存储: IndexedDB + LocalStorage
- 平台: Cloudflare Pages Functions(Serverless)
- AI: 豆包 1.6 Vision API
- 部署: GitHub Pages + Cloudflare Pages
- Node.js 18+
- npm 或 yarn
# 克隆仓库
git clone https://github.com/lucas8848168/Calorie-AnalysisDEMO.git
cd Calorie-AnalysisDEMO
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 访问 http://localhost:5173npm run build构建产物在 dist/ 目录,包含前端和 Cloudflare Pages Functions。
项目已配置 GitHub Actions 自动部署:
- 推送代码到
main分支 - GitHub Actions 自动构建并部署到 GitHub Pages
- 访问 https://lucas8848168.github.io/Calorie-AnalysisDEMO/
如需完整功能(包括 AI 识别),需要部署到 Cloudflare Pages:
- 登录 Cloudflare Dashboard
- 创建 Pages 项目,连接此 GitHub 仓库
- 配置构建设置:
- 构建命令:
npm run build - 输出目录:
dist
- 构建命令:
- 添加环境变量:
DOUBAO_API_KEY: 豆包 API 密钥DOUBAO_API_ENDPOINT:https://ark.cn-beijing.volces.com/api/v3
- 部署完成后访问分配的域名
首次使用需要创建账号,所有数据存储在本地浏览器中,保护隐私。
填写身高、体重、年龄等信息,系统会自动计算基础代谢率(BMR)和每日总能量消耗(TDEE)。
- 选择目标类型:减重、增肌、维持体重或健康饮食
- 设置目标体重和时间
- 系统自动计算每日卡路里和营养目标
- 点击上传按钮或拍照
- AI 自动识别食物并计算营养
- 查看详细的营养分析和健康建议
- 保存到历史记录
在数据分析页面查看:
- 每日营养摄入趋势图
- 目标完成进度
- 营养素分布饼图
- 连续达标天数
- ✅ 所有用户数据存储在本地浏览器
- ✅ 不上传个人信息到服务器
- ✅ 仅上传食物图片用于识别
- ✅ 图片不会被保存
- ✅ 符合 GDPR 和隐私法规
- 在 Safari 中打开应用
- 点击分享按钮
- 选择"添加到主屏幕"
- 在 Chrome 中打开应用
- 点击菜单
- 选择"安装应用"
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- 使用 TypeScript 严格模式
- 遵循 ESLint 配置
- 使用 Prettier 格式化代码
- 编写清晰的注释
本项目采用 ISC 许可证。详见 LICENSE 文件。
Lucas
- GitHub: @lucas8848168
- Email: lucas8848168@gmail.com
- React - UI 框架
- Vite - 构建工具
- Recharts - 图表库
- Cloudflare Pages - 部署平台
- 豆包 AI - AI 识别服务
本应用提供的营养数据和健康建议仅供参考,不能替代专业的营养咨询或医疗建议。如有特殊饮食需求或健康问题,请咨询专业营养师或医生。
© 2025 Lucas. All rights reserved.
Made with ❤️ by Lucas