← 返回
开发者工具 Key 中文

Recipe to List

Turn recipes into a Todoist Shopping list. Extract ingredients from recipe photos (Gemini Flash vision) or recipe web pages (search + fetch), then compare against the existing Shopping project with conservative synonym/overlap rules, skip pantry staples (salt/pepper), and sum quantities when units match. Also saves each cooked recipe into the workspace cookbook (recipes/).
将食谱转化为 Todoist 购物清单。通过 Gemini Flash 视觉识别食谱图片或抓取网页内容提取食材,依据同义词与重叠规则与现有购物项目比对去重,自动跳过盐和胡椒等基础调料,并在单位一致时合并数量。同时将烹制过的食谱保存至工作区食谱库。
borahm
开发者工具 clawhub v0.1.3 1 版本 99651.3 Key: 需要
★ 0
Stars
📥 2,858
下载
💾 5
安装
1
版本
#latest

概述

Create Shopping List (Gemini Flash + Todoist)

Target flow:

1) Input is either a photo or a recipe web search

2) Extract ingredients (Gemini Flash for photos; web_fetch text → Gemini for websites)

3) Pull current Todoist Shopping list

4) Compare using overlap + synonym mapping (kept conservative; only merge high-confidence equivalents like coriander↔cilantro, panko↔breadcrumbs)

5) Update Shopping (default: add only missing items; skip salt/pepper)

Use the bundled script to handle the photo → ingredients → Shopping update part.

It also automatically saves a markdown entry into recipes/ (your cookbook knowledge base) and appends to recipes/index.md.

For recipe-name → web search, do it confirm-first using web_search + web_fetch, then feed the ingredients into the same update logic (and save the recipe).

Prereqs

  • Env: GEMINI_API_KEY (or GOOGLE_API_KEY) for Gemini
  • Env: TODOIST_API_TOKEN for Todoist
  • Bin: todoist (todoist-ts-cli)

Output formatting

  • Items are reformatted to start with the ingredient name, followed by a parenthetical quantity.
  • The Shopping list is kept flat (no Todoist sections/groups).

Run

python3 skills/recipe-to-list/scripts/recipe_to_list.py \
  --image /path/to/photo.jpg \
  --title "<optional title>" \
  --source "photo:/path/to/photo.jpg"

Optional flags

  • --model gemini-2.0-flash (default; falls back automatically) or any compatible Gemini vision model
  • --dry-run to print extracted items without creating tasks
  • --prefix "[Recipe] " to prefix each created task
  • --no-overlap-check to skip checking your existing Shopping list
  • --include-pantry to include salt/pepper
  • --no-save to skip saving into recipes/

What to send to the model

The script prompts Gemini to return strict JSON:

{
  "items": ["2 large globe eggplants", "kosher salt", "..."],
  "notes": "optional"
}

If parsing fails, rerun with a clearer crop (ingredients list only) or provide a manual list.

版本历史

共 1 个版本

  • v0.1.3 当前
    2026-03-28 13:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

WHOOP

borahm
WHOOP晨间打卡(恢复/睡眠/负荷)及建议。
★ 1 📥 2,761
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 66 📥 179,944
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 323,906