网淘吧来吧,欢迎您!

Recipe to List

2026-03-31 新闻来源:网淘吧 围观:25
电脑广告
手机广告

创建购物清单(Gemini Flash + Todoist)

目标流程:

  1. 输入可以是照片或一个食谱网页搜索
  2. 提取食材(照片使用Gemini Flash;网站使用web_fetch获取文本 → Gemini处理)
  3. 拉取当前Todoist购物清单
  4. 使用重叠度 + 同义词映射进行比较(保持保守;仅合并高置信度的等价项,如香菜↔芫荽、面包糠↔面包屑)
  5. 更新购物清单(默认:仅添加缺少的物品;跳过盐/胡椒)

使用捆绑脚本来处理照片 → 食材 → 购物清单更新部分。

Recipe to List

它还会自动保存一个markdown条目到recipes/(你的食谱知识库)并追加到recipes/index.md.

对于菜谱名称 → 网络搜索,请先使用web_search+web_fetch进行确认优先的操作,然后将获取的食材信息输入到相同的更新逻辑中(并保存菜谱)。

前提条件

  • 环境变量:GEMINI_API_KEY(或GOOGLE_API_KEY)用于 Gemini
  • 环境变量:TODOIST_API_TOKEN用于 Todoist
  • 二进制程序:todoist(todoist-ts-cli)

输出格式

  • 项目被重新格式化,以食材名称开头,后跟括号内的数量。
  • 购物清单保持扁平化(无Todoist分区/分组)。

运行

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

可选标志

  • --model gemini-2.0-flash(默认;会自动回退)或任何兼容的Gemini视觉模型
  • --dry-run用于打印提取的项目而不创建任务
  • --prefix "[食谱] "用于为每个创建的任务添加前缀
  • --no-overlap-check用于跳过检查您现有的购物清单
  • --include-pantry用于包含盐/胡椒
  • --no-save用于跳过保存到recipes/

发送给模型的内容

脚本会提示Gemini返回严格的JSON

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

如果解析失败,请使用更清晰的裁剪(仅限配料表)重新运行或提供手动列表。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第373680名访客 今日有262篇新文章/评论