feat: 完成智能健康管家网站搭建
实现了 AI 对话、图片识别与营养分析、健康数据管理三大核心功能: - AI 对话:集成豆包大语言模型,支持流式输出和多轮对话 - 图片识别:使用视觉模型识别食物,自动分析卡路里和营养成分 - 健康档案:支持饮食记录、运动记录和数据统计,数据持久化存储 - UI 优化:使用 shadcn/ui 组件库,现代化响应式设计 所有功能已完成开发并通过类型检查。
This commit is contained in:
183
README.md
Normal file
183
README.md
Normal file
@@ -0,0 +1,183 @@
|
||||
# 智能健康管家
|
||||
|
||||
基于 AI 驱动的健康管理平台,提供智能对话、图片识别、卡路里计算和健康数据管理功能。
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 1. AI 智能对话
|
||||
- 基于 LLM 大语言模型的智能对话系统
|
||||
- 提供专业的健康咨询和建议
|
||||
- 支持多轮对话,记住上下文
|
||||
- 流式输出,实时响应
|
||||
|
||||
### 2. 图片识别与营养分析
|
||||
- 上传食物图片,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 组件
|
||||
```
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 启动开发环境
|
||||
|
||||
```bash
|
||||
# 安装依赖(首次运行)
|
||||
pnpm install
|
||||
|
||||
# 启动开发服务器
|
||||
coze dev
|
||||
```
|
||||
|
||||
访问:http://localhost:5000
|
||||
|
||||
### 功能使用
|
||||
|
||||
#### 1. AI 健康助手
|
||||
- 点击导航栏的 "AI 对话"
|
||||
- 输入健康相关问题
|
||||
- AI 会提供专业的建议和解答
|
||||
|
||||
#### 2. 图片识别与营养分析
|
||||
- 点击导航栏的 "图片识别"
|
||||
- 上传食物图片
|
||||
- 点击 "开始分析"
|
||||
- 查看详细的营养成分信息
|
||||
|
||||
#### 3. 健康档案
|
||||
- 点击导航栏的 "健康档案"
|
||||
- 在 "饮食记录" 标签页添加饮食数据
|
||||
- 在 "运动记录" 标签页添加运动数据
|
||||
- 在 "数据统计" 标签页查看统计信息
|
||||
|
||||
## API 接口
|
||||
|
||||
### POST /api/chat
|
||||
AI 对话接口,支持流式输出
|
||||
|
||||
**请求体:**
|
||||
```json
|
||||
{
|
||||
"message": "用户消息",
|
||||
"history": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": "历史消息"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**响应:** SSE 流式输出
|
||||
|
||||
### POST /api/analyze-food
|
||||
食物图片分析接口
|
||||
|
||||
**请求体:**
|
||||
```json
|
||||
{
|
||||
"image": "base64 图片数据"
|
||||
}
|
||||
```
|
||||
|
||||
**响应:**
|
||||
```json
|
||||
{
|
||||
"foodName": "食物名称",
|
||||
"calories": 100,
|
||||
"protein": 10,
|
||||
"carbs": 20,
|
||||
"fat": 5,
|
||||
"fiber": 2,
|
||||
"description": "食物描述"
|
||||
}
|
||||
```
|
||||
|
||||
## 数据存储
|
||||
|
||||
健康数据使用浏览器的 `localStorage` 进行本地存储:
|
||||
- `dietRecords`: 饮食记录
|
||||
- `exerciseRecords`: 运动记录
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **图片上传限制**:最大 5MB
|
||||
2. **支持格式**:JPG、PNG、WebP
|
||||
3. **图片质量**:建议使用清晰、光线充足的图片
|
||||
4. **数据安全**:所有数据存储在本地浏览器中,不会上传到服务器
|
||||
|
||||
## 开发
|
||||
|
||||
### 类型检查
|
||||
```bash
|
||||
npx tsc --noEmit
|
||||
```
|
||||
|
||||
### 构建生产版本
|
||||
```bash
|
||||
coze build
|
||||
```
|
||||
|
||||
### 启动生产环境
|
||||
```bash
|
||||
coze start
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
## 贡献
|
||||
|
||||
欢迎提交 Issue 和 Pull Request!
|
||||
|
||||
---
|
||||
|
||||
**智能健康管家** - 让 AI 帮助您管理健康生活 🏥💪
|
||||
Reference in New Issue
Block a user