今天吃什么?的决策工具,帮助你快速选择合适的菜谱。
whatToEat 是一个基于 Nuxt 构建的应用,旨在解决日常饮食选择的困扰。通过提供丰富的菜谱数据,帮助用户随机选择或筛选适合的菜品,轻松解决"今天吃什么"的难题。
- 🎲 随机抽菜:老虎机式高速轮换,一键定格今日菜品,菜名点击直达图文菜谱
- 🎨 换肤与主题色:5 套手绘背景 + 5 组主题色自由搭配,本地记忆选择
- 🧁 分类筛选:气泡式选择弹窗,按菜系缩小抽取范围,空选即全部
- 📺 视频做法:一键搜索 B 站视频教程,页面内弹窗直接播放(移动端为底部抽屉)
- ✨ AI 助手:底部智能输入栏自然语言点菜(「想吃辣的」「家里有鸡蛋牛肉」),支持多语言语音输入;抽中菜品自动生成劝吃文案。任意 OpenAI 兼容厂商可用(内置 OpenAI / DeepSeek / 通义千问 / Kimi / 智谱快捷方式,亦可自定义),模型列表从厂商接口动态获取,配置仅需测试连接一次,API Key 仅存本地浏览器
- 📱 全端适配:响应式布局,键盘焦点与无障碍支持
直接访问 体验
- 克隆仓库
git clone https://github.com/ryanuo/whatToEat.git
cd whatToEat- 安装依赖
pnpm install- 启动开发服务器
pnpm dev- 在浏览器中访问
http://localhost:3000
pnpm buildpnpm preview默认使用镜像内置的菜谱数据(构建时打包仓库内的 public/recipes.json)。如需指向自定义菜谱源,设置 RECIPES_URL 环境变量(支持 base URL 或完整 recipes.json URL):
RECIPES_URL=http://your-recipes-host:5000 docker compose up -d --build仓库提交到 GitHub 后,会通过 GitHub Actions 自动构建并发布镜像到 GHCR。
在服务器上部署(无需构建):
docker pull ghcr.io/ryanuo/whattoeat:latest
docker run -d --name whattoeat \
-p 3000:3000 \
ghcr.io/ryanuo/whattoeat:latest菜谱数据由 scripts/crawl.py 每周从 HowToCook 抓取生成 public/recipes.json(通过 GitHub Actions 自动提交)。服务端接口 server/routes/api/recipes.ts 默认读取本地内置数据,也可通过 RECIPES_URL 环境变量指向自定义菜谱源。
本项目基于 MIT 许可证 开源。

