Recipe to List

🛒 拍张菜谱,购物清单自动生成

将食谱照片或网页一键转为Todoist购物清单,自动去重、合并数量、跳过调料,并归档至个人食谱库。

收藏
10.5k
安装
2.4k
版本
0.1.0
CLS 安全性认证2026-07-06
点击查看完整报告 >

使用说明

核心用法

recipe-to-list 是一个打通视觉识别、网页抓取与任务管理的食谱工作流工具。用户可通过拍照搜索食谱网页两种方式输入,系统自动提取食材清单,智能比对现有Todoist购物列表后增量更新,同时将食谱永久保存至本地知识库 recipes/

技术路径

  • 照片模式:调用 Gemini 2.0 Flash 视觉模型直接解析食材清单
  • 网页模式:先 web_search 定位食谱 → web_fetch 抓取文本 → Gemini 提取结构化数据
  • 清单管理:拉取现有 Shopping 项目,通过保守的同义词映射(如 coriander↔cilantro)合并重复项,相同单位时累加数量
  • 智能过滤:默认跳过盐、胡椒等 pantry staples,避免清单冗余

显著优点
1. 端到端自动化:从图像/URL 直达待办事项,无需手动转录

2. 去重逻辑严谨:重叠检测 + 同义词归一化,防止购物车爆炸

3. 知识沉淀:自动写入 recipes/index.md,形成可检索的个人食谱库

4. 安全可控--dry-run 预览、--no-save 跳过归档,操作可回溯

潜在缺点与局限性

  • 依赖 Gemini 视觉 OCR 质量,复杂排版或手写食谱可能解析失败
  • 单位换算未自动化("2 cups" vs "500ml" 视为不同项),需人工复核
  • 保守的同义词规则可能漏掉地域变体(如 aubergine/eggplant 已覆盖,但 scallion/spring onion 可能未收录)
  • 需自行维护 GEMINI_API_KEYTODOIST_API_TOKEN,Token 管理成本由用户承担

适合人群

  • 每周规划餐饮、依赖Todoist管理生活的效率型用户
  • 希望将散落食谱集中归档的烹饪爱好者
  • 能接受CLI工具、具备基础环境变量配置能力的用户

常规风险

  • API 调用成本:Gemini Flash 按量计费,高频使用需关注账单
  • 隐私泄露:食谱照片可能包含地理位置EXIF或桌面敏感信息,建议上传前清理元数据
  • 任务污染:若 --no-overlap-check 误用或同义词规则误判,可能导致购物清单重复或遗漏关键食材

安全解读

核心用法

recipe-to-list 是一款将食谱转化为结构化购物清单的自动化工具,支持两种输入模式:

  • 拍照识图:通过 Gemini Flash Vision 解析食材清单照片
  • 网页抓取:搜索并提取在线食谱的食材信息

系统会自动比对现有 Todoist「Shopping」项目中的物品,基于保守的同义词映射(如 coriander↔cilantro)智能合并重复项,跳过基础调味品(盐/胡椒),并在单位一致时累加数量。最终清单同步至 Todoist,同时将食谱永久保存至本地 recipes/ 知识库。

显著优点

  • 零依赖部署:纯 Python 标准库实现,无第三方包风险
  • 密钥管理规范:API 密钥全部通过环境变量读取,无硬编码
  • 智能去重逻辑:重叠检测与语义匹配减少重复购买
  • 知识库沉淀:自动构建个人食谱索引,形成可复用的烹饪档案

潜在局限

  • 隐私数据外发:食材照片需上传至 Google Gemini 云端处理,虽经 HTTPS 加密,但存在第三方数据共享
  • 单位匹配严格:仅相同单位可自动累加,「2 个柠檬」与「100g 柠檬」将列为两项
  • 同义词覆盖保守:当前映射集较精简,部分地域用词(如「芫」)可能无法识别
  • CLI 依赖:需本地安装 todoist-ts-cli 工具,Windows 兼容性待验证

适合人群

  • 每周规划菜单并批量采购食材的家庭烹饪者
  • 希望数字化管理食谱库的料理爱好者
  • 已使用 Todoist 进行任务管理的效率工具用户

常规风险

  • 图片内容敏感:避免拍摄包含家庭住址、银行卡等背景信息的食材照片
  • API 配额消耗:频繁使用可能触发 Google Gemini 速率限制
  • 清单冲突:多人共用 Todoist Shopping 项目时,并发更新可能导致状态不一致

---

评分依据:来源可信度 T3(个人/社区项目),安全等级 A(72/100),静态与动态分析均无高危漏洞,主要减分项为图像数据外发与 T3 来源信任度。

Recipe to List 内容

scripts文件夹
手动下载zip · 8.2 kB
recipe_to_list.pytext/plain
请选择文件