Skip to content
ryanuoPublic

About

今天吃什么?的决策工具,帮助你快速选择合适的菜谱。A decision tool for "What to eat today?" to help you quickly choose the right recipe.

Resources

Stars

108 stars

Watchers

0 watching

Forks

Repository files navigation

whatToEat

whatToEat logo

今天吃什么?的决策工具,帮助你快速选择合适的菜谱。

项目介绍

whatToEat 是一个基于 Nuxt 构建的应用,旨在解决日常饮食选择的困扰。通过提供丰富的菜谱数据,帮助用户随机选择或筛选适合的菜品,轻松解决"今天吃什么"的难题。

whatToEat 分享卡片

功能特性

  • 🎲 随机抽菜:老虎机式高速轮换,一键定格今日菜品,菜名点击直达图文菜谱
  • 🎨 换肤与主题色:5 套手绘背景 + 5 组主题色自由搭配,本地记忆选择
  • 🧁 分类筛选:气泡式选择弹窗,按菜系缩小抽取范围,空选即全部
  • 📺 视频做法:一键搜索 B 站视频教程,页面内弹窗直接播放(移动端为底部抽屉)
  • ✨ AI 助手:底部智能输入栏自然语言点菜(「想吃辣的」「家里有鸡蛋牛肉」),支持多语言语音输入;抽中菜品自动生成劝吃文案。任意 OpenAI 兼容厂商可用(内置 OpenAI / DeepSeek / 通义千问 / Kimi / 智谱快捷方式,亦可自定义),模型列表从厂商接口动态获取,配置仅需测试连接一次,API Key 仅存本地浏览器
  • 📱 全端适配:响应式布局,键盘焦点与无障碍支持

快速开始

在线体验

直接访问 体验

本地运行

  1. 克隆仓库
git clone https://github.com/ryanuo/whatToEat.git
cd whatToEat
  1. 安装依赖
pnpm install
  1. 启动开发服务器
pnpm dev
  1. 在浏览器中访问 http://localhost:3000

构建部署

构建生产版本

pnpm build

预览构建结果

pnpm preview

部署选项

Netlify Vercel

Docker 部署

默认使用镜像内置的菜谱数据(构建时打包仓库内的 public/recipes.json)。如需指向自定义菜谱源,设置 RECIPES_URL 环境变量(支持 base URL 或完整 recipes.json URL):

RECIPES_URL=http://your-recipes-host:5000 docker compose up -d --build

Docker 部署(服务器不构建:从 GHCR 拉镜像运行)

仓库提交到 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 许可证 开源。

About

今天吃什么?的决策工具,帮助你快速选择合适的菜谱。A decision tool for "What to eat today?" to help you quickly choose the right recipe.

Resources

Stars

108 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages