meintechblog/cookidoo-master
GitHub: meintechblog/cookidoo-master
通过逆向 Cookidoo 未公开的 AI 注解 API,配合 Playwright 浏览器自动化,将任意来源的食谱全自动转换为 Thermomix 原生品质的个人食谱并发布上线。
Stars: 0 | Forks: 0
# Cookidoo Master
**将任何食谱(HelloFresh 卡片、烹饪书、网站)制作成原生品质的 Cookidoo“个人食谱” — 搭配 Thermomix 可自动播放的交互式烹饪指令标签。**
## 为什么会有这个仓库
HelloFresh 每周都会寄送一盒绝妙的创意食谱。在某些卡片的背面印着一行小字:**“Thermomix 版本”**。这听起来很棒——但在实际操作中,这个“版本”只是一段和原来一样的纯文本,附带一些诸如 _“加水,烹煮”_ 的额外提示。它存在以下问题:
- ❌ 没有引导式操作
- ❌ 没有时间/温度/速度标签
- ❌ 无法从 Cookidoo 启动
- ❌ 没有与设备连接
想要获得真正的 Thermomix 操作体验,用户必须在屏幕上手动输入卡片内容——一种配料接一种配料,一个步骤接一个步骤,手动选择每一个烹饪指令。而这正是 Thermomix 本应该 _消除_ 的繁琐操作。
**这个仓库填补了这一空白。** 它能将任何食谱全自动转换为 **原生品质的 Cookidoo 个人食谱** — 包含所有原始 Vorwerk 食谱所具备的特性:结构化的配料、符合 Thermomix 术语(`einwiegen`、`einhängen`、`aufsetzen`、`dampfgaren`)的逐步指南,以及最重要的 **交互式烹饪指令标签**,Thermomix 在点击时可直接执行它们(`18 分/Varoma/速度 1`,`6 分/100 °C/左转/速度 1`)。
## 技术发现
Cookidoo 在 `POST /created-recipes/de-DE/annotate/steps` 下有一个 **未公开的 AI 注解 API**。它接收纯文本步骤并返回结构化的 Token 列表:每一次提及的配料都会变成 `INGREDIENT` 注解,每一个烹饪指令都会变成 `TTS` 注解。直接调用此 API(而不是通过每个指令隐藏的 5-7 次点击的模态框进行操作),即可为您的个人食谱带来 **与原生 Vorwerk 食谱完全相同的引导式烹饪体验**。
完整的逆向工程过程——DOM、自定义元素、Bundle 字符串、保存奇技淫巧——详见 [LEARNINGS.md](LEARNINGS.md)。
## 状态
✅ **功能完整 + 两份食谱已在 Cookidoo 上公开:**
| 食谱 | 步骤数 · 配料数 · 标签数 | Cookidoo 在线链接 | HelloFresh 原版链接 |
|---|---|---|---|
| [糖醋甜椒碗配蜜汁茄子](recipes/sweet-chili-bowl/) | 5 · 17 · 2 (`Varoma` + `左转`) | [公开](https://cookidoo.de/created-recipes/public/recipes/de-DE/01KRNNR72NTN1C0PTD67PA8W7D) | [原版](https://www.hellofresh.de/recipes/sweet-chili-bowl-mit-glasierter-aubergine-thermomix-695b7cae2a2e2effad1837dd) |
| [印尼炒饭配素食肉片](recipes/nasi-goreng/) | 6 · 17 · 2 (`Varoma` + `搅拌`) | [公开](https://cookidoo.de/created-recipes/public/recipes/de-DE/01KRQ1JCX58H8QGDSBB47XVP5B) | [原版](https://www.hellofresh.de/recipes/nasi-goreng-mit-veganen-filetstucken-64e461d2e1f123211ed56789) |
### 证明:食谱中的原生品质标签



## 快速开始
一次性准备环境:
```
brew install python3
pip3 install playwright
playwright install chromium
git clone https://github.com/meintechblog/cookidoo-master.git
cd cookidoo-master
python3 automation/00_setup_profile.py
# 在浏览器中登录 cookidoo.de,接受 Cookie-Banner,关闭窗口。
# Login 持久化保存在 ~/cookidoo-automation/profile/ — 之后无需再次执行。
```
针对每个新食谱:
```
# 1. 准备 Quellmaterial(自己的照片 + slug-Verzeichnis)
mkdir -p recipes/{slug}
cp ~/eigenes-foto.jpg recipes/{slug}/hero.jpg
# 2. 编辑 automation/01_create_recipe.py 中的 INGREDIENTS + STEPS
# (经验法则:14-17 种 Zutaten 对应 5 个 Steps — 参见 PLAYBOOK.md Regel 8)
# 3. 运行 Pipeline(端到端约 2 分钟):
python3 automation/01_create_recipe.py # Anlage + Zutaten + Plain-Text-Steps
python3 automation/02_upload_image.py recipes/{slug}/hero.jpg # Hero-Bild
python3 automation/03_add_tips.py # Tipps (em-dash-Bullets + Quellen)
python3 automation/04_set_times.py # Arbeitszeit + Gesamtzeit
python3 automation/05_annotate_chips.py # 🪄 AI-Annotate → echte Chips
# 可选,仅限使用自己的照片:
python3 automation/06_publish.py # workStatus PUBLIC + Sharing-URL
```
详情及 9 条非显而易见的质量规则(每步唯一性、复合名称、原生动词词汇等):参见 [PLAYBOOK.md](PLAYBOOK.md)。
## 仓库布局
```
cookidoo-master/
├── README.md ← du bist hier — Why + Quick Start
├── PLAYBOOK.md ← Schritt-für-Schritt pro neuem Rezept + die 9 Qualitätsregeln
├── LEARNINGS.md ← Reverse-Engineering: APIs, DOM, Custom-Elements, Edge-Cases
├── automation/ ← 7 Pipeline-Scripts (00_setup_profile → 06_publish) + 1 Helper (99_replace_steps_helper)
├── research/ ← Deep-Research aus 12 nativen Vorwerk-Rezepten (Step-Median, Verben)
├── recipes/ ← Pro Rezept: Quellfoto, Markdown, Cookidoo-Link, Tipps-Narrativ
│ └── sweet-chili-bowl/ ← Das canonical example
└── docs/assets/ ← Screenshots fürs README
```
## 许可证与免责声明
- **代码**: MIT
- **食谱图片与内容**: 原始版权归 HelloFresh 或各自的权利人所有。本仓库仅展示技术工作流。任何希望通过此工具在 Cookidoo 上发布食谱的人,必须 **拥有图片的版权** 或使用自己拍摄的照片。`06_publish.py` 阶段会显式要求开启 `isImageOwnedByUser: true` 开关——这是一项法律上的自我声明。
- Cookidoo® 和 Thermomix® 是 Vorwerk International AG & Co. KmG 的注册商标。本项目 **不** 隶属于 Vorwerk,也非官方支持。
- `/created-recipes/de-DE/annotate/steps` API 是未公开的,随时可能发生变化。使用风险自负。
## 参与贡献
欢迎提交 Issue 和 PR。以下方面特别欢迎:
- **更多食谱**,以 `recipes/{slug}/` 的形式提供,并附带自己的照片和 Cookidoo 链接
- **其他语言环境**(`en-US`、`fr-FR` 等)— 注解 API 按语言环境存在,但动词词汇各不相同
- **注解 API 的边缘情况** — 目前已测试:沙拉碗、咖喱、平底锅煎炒。烘焙食谱(用于“揉面”的模式图标)、汤类(长时间烹饪)、冰沙(无 TTS)尚未测试
标签:AI注释API, API逆向, API集成, CISA项目, Cookidoo, HelloFresh, NLP, Thermomix, 云资产清单, 厨房电器, 可观测性, 引导式烹饪, 文本处理, 智能家居, 智能烹饪, 烹饪自动化, 特征检测, 程序化生成, 网络安全审计, 美善品, 美食科技, 自定义菜谱, 菜谱转换, 逆向工具, 逆向工程, 食谱数字化