老乡鸡风格菜谱 × 程序员做饭指南 — 一站查阅、规划、交给 AI
🍳 在线访问 · 作者主页 · 快速开始 · 部署 · Agent / MCP
MyCook 是 alexander.xin 站群下的静态菜谱站:把两个成熟开源项目合并成一张「厨房桌面」,并补上搜索、PWA、周菜单、AI Agent 等现代能力。
| 来源 | 入口 | 特点 |
|---|---|---|
| CookLikeHOC | 按做法 | 炒、炖、卤、汤…步骤详尽 |
| HowToCook | 按食材 | 荤素水产、难度星级、技巧库 |
| HowToCook 图片版 | /howtocook-images/ |
4K 配图浏览(可选构建) |
| Cook 食用手册 | 开冰箱 | 食材 CSV 轻量集成(~90KB) |
当前规模:577+ 菜谱 · 18 篇技巧 · 599 条食材反查(构建时同步)
| 类别 | 能力 |
|---|---|
| 找菜 | 站内搜索 Ctrl+K / / · 三种入口 · 快捷货架 |
| 玩厨房 | 开冰箱食材反查 · 转一转随机 · 一周菜单(localStorage) |
| 学技巧 | 厨房技巧速查(HowToCook tips 索引) |
| 做菜 | 收藏 · 多计时器 · 打印 · B 站搜视频 · 复制给 AI |
| 体验 | 深色模式 · PWA 可安装 · 无障碍快捷键 ? |
| Agent | OpenAPI · Agent Skills · Markdown 镜像 · MCP Server · WebMcp |
| 运维 | 每日上游同步 · GHCR 镜像 · 一键安装脚本 |
📂 项目结构
MyCook/
├── .github/workflows/ # CI:Pages / Docker / Release / PR
├── .vitepress/theme/ # Vue 主题与首页组件
├── mcp/server.mjs # MCP Server(stdio + HTTP)
├── scripts/ # 同步、生成、校验、安装
├── Dockerfile # nginx + 静态 dist(lite/full)
├── Dockerfile.mcp # MCP sidecar(可选)
└── docker-compose.yml # lite / full / dev / agent
菜谱正文目录 cooklikehoc/、howtocook/ 由 CI 克隆上游生成,不入库。
直接访问 cook.alexander.xin — 无需安装。
git clone https://github.com/AlexanderJ-Carter/MyCook.git
cd MyCook && npm install
# 需上级目录有 CookLikeHOC / HowToCook,或设环境变量指向路径
npm run sync
npm run docs:dev # http://localhost:5173npm run generate # stats / index / tips / agent 发现
npm run validate # 冒烟测试 JSON + MCP 工具
npm run docs:build:fast # 快速构建(跳过图片版)
npm run docs:build # 完整构建(含图片版)- Fork 本仓库
- Settings → Pages → Source 选 GitHub Actions
- 推送
main→ 自动 Sync & Build 发布
# 最快:拉取官方轻量镜像
./scripts/install.sh
# Windows: .\scripts\install.ps1
# 或 CLI
npm run mycook -- docker:pull
npm run mycook -- docker:lite # 本地构建 lite
npm run mycook -- docker:full # 含图片版| 镜像 | 标签 | 说明 |
|---|---|---|
| 站点 lite | :latest :lite |
~600MB 静态站,日常推荐 |
| 站点 full | :full |
+ 图片版子站(Actions 手动构建) |
| MCP | mycook-mcp:latest |
Streamable HTTP,:3001/mcp |
docker pull ghcr.io/alexanderj-carter/mycook:latest
docker run -d -p 8080:80 --name mycook ghcr.io/alexanderj-carter/mycook:latest
# 可选 MCP sidecar
docker compose --profile agent up -d --build详见 DOCKER.md · 镜像清单:/image-manifest.json
| 工作流 | 触发 | 作用 |
|---|---|---|
| Sync & Build | push main · cron · 手动 |
同步 → 构建 → Pages |
| Docker | push tag v* · 手动 |
构建并推送 GHCR 镜像 |
| Release | push tag v* |
创建 GitHub Release |
| PR Check | PR → main |
语法检查 · validate · 构建 |
发版步骤(维护者):
# 1. 更新 package.json 版本与 CHANGELOG.md
# 2. 提交 push main(自动部署 Pages)
# 3. 打 tag 触发 Release + Docker 镜像
git tag v1.6.1 && git push origin v1.6.1面向 任意 MCP 客户端(Cursor、Claude Desktop、Copilot、Windsurf、Cline 等)及 HTTP/OpenAPI 集成:
npm run generate
npm run mcp # stdio(合并 mcp/mcp-config.example.json)
npm run mcp:http # http://127.0.0.1:3001/mcp| 能力 | GitHub Pages | Docker |
|---|---|---|
| JSON / OpenAPI / Skills | ✅ | ✅ |
Accept: text/markdown |
❌ | ✅ |
| MCP HTTP sidecar | ❌ | ✅ |
文档:MCP.md · INTEGRATIONS.md · 站点 /ai-agents
| 变量 | 说明 |
|---|---|
COOKLIKEHOC_PATH / HOWTOCOOK_PATH |
上游仓库本地路径 |
SKIP_IMAGES=1 |
跳过图片版 |
SKIP_INTEGRATIONS=1 |
跳过食用手册 CSV 同步 |
MYCOOK_DATA |
MCP 数据目录(默认 ./public) |
MCP_PORT |
MCP HTTP 端口(默认 3001) |
SYNC_PULL=0 |
同步时不 pull 上游 |
- 自动:push
main或每天 10:00(北京)从 fork 拉取最新菜谱 - 手动:Actions → Sync & Build → Run workflow
- 改菜谱:到 CookLikeHOC / HowToCook fork 推送,等下次同步
- 改站点功能:直接改 MyCook 本仓库
| 现象 | 处理 |
|---|---|
Get Pages site failed |
Settings → Pages → Source 选 GitHub Actions |
| 图片版 404 | 查看 build-howtocook-images 日志;或 SKIP_IMAGES=1 |
| 开冰箱无数据 | 构建需联网同步 CSV;本地 npm run sync:integrations |
| 自定义域名 | CNAME → alexanderj-carter.github.io |
- HowToCook — Anduin2017 及社区
- CookLikeHOC — Gar-b-age
- HowToCook 图片版 — king-jingxiang
- Cook · 食用手册 — YunYouJun(MIT,仅 CSV 集成)
MyCook 的站点功能由以下贡献者与上游作者共同维护,谨致谢意:
- AlexanderJ-Carter — 站点主体、MCP、CI/CD
- WebBrain — 西班牙语 README 翻译
本项目亦借助 GitHub Copilot、Codex 与 Claude 协助开发。
完整名单见 GitHub Contributors。欢迎你的加入——见 贡献指南。
MIT License · 菜谱内容版权归各原作者所有