---
name: daily-meal-planner
version: "1.3.0"
description: "每日智能菜谱推荐。触发词：今天吃什么/中午吃什么/晚餐推荐/下午茶/夜宵/一周菜单/清淡/辣的/快手菜/减肥。支持按餐次、口味、心情、季节、天气、地域智能推荐，带详细做法和营养数据。"
---

# Daily Meal Planner

智能推荐菜谱，支持用户画像记忆和偏好学习。每餐推荐3套完整套餐（主菜+配菜+汤/主食）。

## ⚠️ 安全与隐私说明

**网络请求**：
- 首次运行时会从 GitHub/jsdelivr（官方镜像）下载菜谱数据库
- 查询 wttr.in 获取实时天气
- 查询 date.nager.at 获取节假日信息
- **不使用第三方代理**（已移除 ghproxy）

**数据存储**：
- 会在本地保存 `user_profile.json`（用户画像，包含地点、口味偏好等）
- 如不希望持久化，可删除该文件
- 下载的 JSON 数据文件存储在 scripts 目录

**无敏感数据**：
- 不请求任何密钥、系统凭据或个人隐私信息
- 不收集或上传用户数据

**安全建议**：
- 首次运行建议在沙箱/容器中执行
- 可审计 GitHub 仓库（https://github.com/GMMG55/daily-meal-planner）
- 下载的 JSON 文件可用文本编辑器查看内容
- 如担心隐私，可删除 user_profile.json

## ⚠️ AI 执行规则

**本 skill 不需要保存任务摘要文件**。直接在对话中展示推荐结果即可，无需写入任何 md 文件。

### 🎯 推荐算法优化规则

#### 1. 餐次权重优先+大模型智能推荐
**示例**：
- **早餐**：优先推荐快手菜（15分钟内完成）、清淡养胃、粥类、营养均衡
  - ❌ 避免推荐：硬菜、大荤、功夫菜（如开水白菜）、耗时>30分钟的菜
  - ✅ 优先推荐：蒸蛋、粥、三明治、煎蛋、快手面食、牛奶燕麦等
- **午餐**：推荐饱腹、家常、营养均衡
- **晚餐**：推荐清淡养胃、快手、可以硬菜犒劳自己
- **夜宵**：推荐清淡、快手、粥类、小食、炸串、小啤酒

#### 2. 使用大模型智能推荐
不要死板地使用固定模式，要根据用户画像、天气、心情、时间段综合判断：
**示例**：
- 用户说"疲惫" → 推荐清淡养胃、快手菜
- 用户说"想吃川菜" → 优先川菜，但早餐要注意不要太辣
- 用户说"减肥" → 推荐低卡、高蛋白
- 下雨天 → 推荐热汤、暖身菜
- 天气热 → 推荐清淡、凉菜

#### 3. 推荐理由优化
每道菜的推荐理由要：
- **详细具体**：不要只说"周二营养跟上"，要说明为什么推荐这道菜
- **可爱有食欲**：使用表情符号、口语化表达
- **个性化**：结合用户画像、天气、心情

**示例**：
- ✅ "早餐吃蒸蛋羹，嫩滑如豆腐，温和不刺激，胃暖暖的开始新的一天～"
- ✅ "下雨天来碗热汤，从胃暖到心，舒服～"
- ✅ "快手早餐，10分钟搞定，懒人福音，多睡会儿也能吃好！"
- ❌ "周二营养跟上"（太简单）

### 🌟 头部标题优化规则

每次推荐时，头部标题要包含以下信息（动态生成）：

#### 必须包含：
1. **日期信息**：周几
2. **节假日提醒**：如果临近节假日，显示倒计时
3. **天气信息**：查询实时天气并描述
4. **温馨激励文案**：结合周几、天气、餐次

#### 模板示例：

**早餐模板**：
```
🍽️ 📍北京 今日早餐推荐  晴天 20°C · 周三 · 春季
🌸 春天来啦！肝气旺盛的日子，来点绿叶菜疏通疏通～

明天是周四哦，还有2天就是五一假期了，天气不错，来吃点清淡营养的开启元气满满的一天吧！
```

**晚餐模板**：
```
🍽️ 📍北京 今日晚餐推荐  雨天 15°C · 周二 · 春季
🌸 春天来啦！

周二新开始，继续加油～外面下着雨，来碗热汤暖暖身子，犒劳忙碌一天的自己！
```

**节假日模板**：
```
🍽️ 📍北京 今日晚餐推荐  晴天 · 周五 · 春季

🎉 五一假期快乐！放假就要好好吃～来点硬菜犒劳自己！
```

**周五模板**：
```
周五啦！周末倒计时开始！来点好吃的庆祝一下～
```

**周中模板**：
```
这周已经过去3天了，哈哈哈哈哈哈，来点好吃的，准备迎接周末吧！
```

#### 节假日与特殊日子获取
**必须实时获取**，不要写死！

AI 需要自己决定从哪里获取以下信息：
1. **中国法定节假日**：元旦、春节、清明、五一、端午、中秋、国庆等
2. **世界节日/特殊日子**：世界舞蹈日(4.29)、世界读书日(4.23)、国际妇女节(3.8)、世界卫生日(4.7)、世界环境日(6.5)、国际瑜伽日(6.21)、世界粮食日(10.16)、儿童节(6.1)、情人节(2.14)、圣诞节(12.25)等

**特殊日子推荐权重示例**：
- 世界舞蹈日 → 推荐高蛋白、有活力的菜（牛排、海鲜、意面）
- 世界读书日 → 推荐适合看书时吃的菜（下午茶、甜点、小食）
- 国际妇女节 → 推荐养颜美容、滋补的菜
- 世界卫生日 → 推荐健康营养、清淡养生的菜
- 世界环境日 → 推荐素食、环保食材
- 国际瑜伽日 → 推荐轻食、沙拉、低卡菜
- 世界海洋日 → 推荐海鲜类菜品

**特殊日子的趣味文案**：根据节日性质生成相应的温馨文案，增加趣味性和仪式感

## 智能三菜推荐

1. **📌 综合智能推荐** — 季节+周几+天气+用户画像加权
2. **🌿 时令之选** — 按当季食材筛选
3. **🎲 随机惊喜** — 换换口味

## 用户画像

自动保存到本地 `user_profile.json`：地点、心情、想吃类别、偏好菜系、喜欢的菜、不喜欢的菜、饮食目标、过敏食材。

## 天气适配

11种天气类型自动适配（炎热→清热、雨天→暖汤、雾霾→护肺等）。天气来源：wttr.in实时查询 > CLI参数 > 本地保存。每次运行优先获取实时天气，失败则回退用户画像。

## 使用方法

```bash
python scripts/meal_recommend.py daily                    # 今日推荐
python scripts/meal_recommend.py daily -m 晚餐            # 指定餐次
python scripts/meal_recommend.py daily -w rainy           # 指定天气
python scripts/meal_recommend.py search 辣                # 搜索
python scripts/meal_recommend.py detail 西红柿牛腩         # 详细做法
python scripts/meal_recommend.py weekly                   # 输出一周菜谱上下文 JSON（供 AI 智能规划）
```

## ⚠️ daily 和 weekly 模式

**daily 和 weekly 模式不直接输出菜谱，而是输出上下文 JSON**（天气、季节、用户画像、菜谱库）。

AI Agent 需要根据这个 JSON **直接用自己的大模型能力**来智能推荐菜谱，而非依赖脚本随机输出。

### 菜谱规划核心规则（AI 必须遵守）
1. **工作日午餐**：必须是能吃饱的正经餐食（如：XX炒肉+米饭、XX面、XX饺子、披萨等），**绝对不能是凉菜、小食、纯汤类**
2. **工作日晚餐**：可以略复杂但不费事（炖菜、蒸菜、炒菜、粥、手抓饼等），不要推荐火锅等费时的
3. **周末**：可以安排功夫菜、硬菜、火锅等需要时间的菜
4. **早餐**：快手为主（粥、蛋、面食、三明治等），15分钟内搞定，**不能推荐苦瓜炒蛋、开水白菜这类不适合早餐的菜**
5. **主食多样性**：不要天天米饭！穿插面条、馒头、饼、饺子、花卷、烙饼等，可以中西餐结合
6. **营养均衡**：每天至少有一餐有荤菜，搭配蔬菜；不要连续两天吃太类似的菜
7. **菜品尽量不重复**
8. **结合用户偏好**：偏好菜系权重高，注意口味搭配（不要连续几天都辣）
9. **天气适配**：热天清热解暑、雨天暖汤、冷天温补
10. **每餐推荐理由**要结合天气、周几、心情、用户偏好等具体说明

## 触发场景

- 餐次：「今天吃什么」「晚餐推荐」「下午茶」「夜宵」「一周菜单」
- 口味：「清淡的」「辣的」「快手菜」「硬菜」
- 营养：「低卡」「减肥」「高蛋白」「养生」「滋补」

## 输出格式

```
  ────────────────────────────────
  ☀️ 推荐1  西红柿牛腩
  📝 酸甜浓郁肉烂汤鲜
  💡 应季食材，周五庆祝，晴天清爽
  🔥 650kcal  ⏱ 30min  难度: 中等
  📊 蛋白质:28g | 铁:4mg
  🏠 南方,江浙,粤菜
  🥗 食材: 牛腩400g,番茄3个,土豆1个,洋葱半个
  🥬 +配: 清炒时蔬（120kcal）
  🍲 +汤/饭: 白灼虾（150kcal）
  ────────────────────────────────
  💡 回复「要」或「1/2/3」查看详细做法 👨‍🍳  ·  「换个」换一批
```

## 心情→菜品

疲惫→清淡养胃、忙碌→快手清淡、开心→硬菜家常、放松→素食清淡、庆祝→硬菜经典、慵懒→快手饱腹

## 数据文件

| 文件 | 用途 |
|---|---|
| `meals_db_compressed.json` + `meals_tags_index.json` | 42道完整菜谱（含做法、营养） |
| `menu_names_compressed.json` + `tags_index.json` | 595道菜单名索引 |
| `user_profile.json` | 用户画像（自动生成） |

> 数据文件首次运行时自动从 GitHub 下载。

## 脚本

- `scripts/meal_recommend.py` — 推荐引擎
- `scripts/meal_search.py` — 全网搜索提示
- `scripts/requirements.txt` — 依赖
