智能健康管家
基于 AI 驱动的健康管理平台,提供智能对话、图片识别、卡路里计算和健康数据管理功能。
功能特性
1. AI 智能对话
- 基于 LLM 大语言模型的智能对话系统
- 提供专业的健康咨询和建议
- 支持多轮对话,记住上下文
- 流式输出,实时响应
2. 图片识别与营养分析
- 上传食物图片,AI 智能识别食物
- 自动分析营养成分:
- 卡路里
- 蛋白质
- 碳水化合物
- 脂肪
- 膳食纤维
- 使用先进的视觉模型,识别准确
- 份量调整功能:
- AI 提供每 100g 的标准营养数据
- AI 估算图片中食物的大致份量
- 用户可手动调整实际重量
- 营养数据按份量比例自动计算
- 支持一键保存到健康档案
3. 健康数据管理
- 饮食记录:记录每日摄入的食物和营养数据
- 运动记录:记录运动项目和消耗的卡路里
- 数据统计:
- 总摄入卡路里
- 总消耗卡路里
- 净卡路里计算
- 营养成分统计
- 运动时长统计
- 数据持久化存储(localStorage)
4. 用户界面
- 现代化、响应式设计
- 支持深色模式
- 直观的操作界面
- 流畅的交互体验
技术栈
- 框架:Next.js 16 (App Router)
- 语言:TypeScript
- UI 组件:shadcn/ui (Radix UI)
- 样式:Tailwind CSS 4
- 图标:Lucide React
- AI 集成:coze-coding-dev-sdk
- 大语言模型:doubao-seed-1-8-251228
- 视觉模型:doubao-seed-1-6-vision-250815
项目结构
src/
├── app/
│ ├── api/
│ │ ├── chat/ # AI 对话 API
│ │ └── analyze-food/ # 食物分析 API
│ ├── chat/ # AI 对话页面
│ ├── recognition/ # 图片识别页面
│ ├── health/ # 健康档案页面
│ ├── layout.tsx # 根布局
│ └── page.tsx # 首页
└── components/ui/ # shadcn/ui 组件
使用说明
启动开发环境
# 安装依赖(首次运行)
pnpm install
# 启动开发服务器
coze dev
功能使用
1. AI 健康助手
- 点击导航栏的 "AI 对话"
- 输入健康相关问题
- AI 会提供专业的建议和解答
2. 图片识别与营养分析
- 点击导航栏的 "图片识别"
- 上传食物图片
- 点击 "开始分析"
- AI 会返回每 100g 的标准营养数据
- 调整实际份量(克),营养数据会自动按比例计算
- AI 会提供图片中食物的大致份量估算作为参考
- 可将分析结果保存到健康档案
3. 健康档案
- 点击导航栏的 "健康档案"
- 在 "饮食记录" 标签页添加饮食数据
- 在 "运动记录" 标签页添加运动数据
- 在 "数据统计" 标签页查看统计信息
API 接口
POST /api/chat
AI 对话接口,支持流式输出
请求体:
{
"message": "用户消息",
"history": [
{
"role": "user",
"content": "历史消息"
}
]
}
响应: SSE 流式输出
POST /api/analyze-food
食物图片分析接口
请求体:
{
"image": "base64 图片数据"
}
响应:
{
"foodName": "食物名称",
"calories": 100,
"protein": 10,
"carbs": 20,
"fat": 5,
"fiber": 2,
"standardWeight": 100,
"weightHint": "图片中约200g",
"description": "食物描述"
}
说明:
standardWeight: 标准份量,固定为 100gweightHint: AI 估算的图片中食物大致份量- 其他营养数据均为每 100g 的标准值
数据存储
健康数据使用浏览器的 localStorage 进行本地存储:
dietRecords: 饮食记录exerciseRecords: 运动记录
注意事项
- 图片上传限制:最大 5MB
- 支持格式:JPG、PNG、WebP
- 图片质量:建议使用清晰、光线充足的图片
- 份量估算:AI 仅供参考,建议结合实际情况调整份量
- 营养数据:基于标准营养数据库,实际含量可能因食材和烹饪方式不同
- 数据安全:所有数据存储在本地浏览器中,不会上传到服务器
开发
类型检查
npx tsc --noEmit
构建生产版本
coze build
启动生产环境
coze start
License
MIT
贡献
欢迎提交 Issue 和 Pull Request!
智能健康管家 - 让 AI 帮助您管理健康生活 🏥💪
Description
Languages
TypeScript
97.1%
CSS
1.9%
Shell
0.8%
JavaScript
0.2%