2026-09-20 · 原文发布日
用LINE拍照登记冰箱库存并收临期提醒
免费n8n模板:在LINE里给机器人发食品包装照片,工作流下载图片交给Google Gemini识别品名、保质期、存放位置和备注,追加到Google Sheets库存表并回复确认。每天早上9点扫描在库且三天内到期的条目,汇总后让Gemini生成简短的日语菜品建议,通过LINE推送给用户。需要自建LINE Messaging API频道并配置表格列名映射。
原文要点
该n8n工作流接收LINE Messaging API的POST webhook:用户发食品包装照片后,工作流从LINE下载图片内容,交Google Gemini按固定文本格式识别品名、保质期、存放位置和备注,追加到Google Sheets(状态为在库,附登记时间戳和LINE用户ID),并在LINE回复确认。每天早上9点读全表,筛出在库且今天起3天内到期的条目,聚合后让Gemini生成简短日语菜品建议,再用LINE推送通知。需自建LINE频道、配HTTP Header Auth令牌、Google Sheets OAuth2与Gemini(PaLM)凭据,且表格列名须与映射一致。
这次做成什么
搭一套LINE冰箱库存机器人:拍照登记→Gemini抽取字段→入Google Sheets→每天9点推送临期清单和菜品建议。本站补充字段映射对照与一条合成识别结果练习,方便你在真机连线前先核对解析与筛选逻辑。
准备什么
- LINE Developers账号并已创建Messaging API频道、取得channel access token并启用webhook
- n8n实例(Cloud或自托管)且有可公网访问的webhook URL
- Google Sheets OAuth2凭据与一张空白库存表
- Google Gemini (PaLM) API凭据,并确认所选模型在你的区域/项目可用
具体怎么做
建LINE频道与凭据
在LINE Developers建Messaging API频道,开启webhook。在n8n新建Header Auth凭据,头部Authorization值为Bearer加channel access token,供LINE取图、回复、推送三个HTTP节点共用。
建库存表并对齐列名
在Google Sheets建一行表头:Food Name、Expiration Date、Storage Location、Status、Notes、AI Output、LINE User ID、Registered At。n8n加Google Sheets OAuth2凭据,指向该表;若你改用中文列名,筛选节点里的列名引用必须同步改。
接webhook与登记链路
把n8n的webhook路径/line-fridge复制到LINE频道webhook设置。链路为:webhook收图→调LINE内容接口下载图片→Gemini按固定格式抽取→追加行(Status写在库、Registered At写当前时间、LINE User ID取自事件)→reply接口回执明细。
配每日9点临期推送
定时分支每天9:00读全表,筛选Status为在库且Expiration Date落在今天至+3天的行,聚合成列表,交给Gemini生成简短日语菜品建议,再用LINE push接口发给用户。先用下方合成行手动触发一次验证筛选窗口。
可直接复制的材料
Gemini图片抽取提示词(供参考改写)
本站按原模板「固定文本格式抽取四项」的描述独立编写,原模板实际提示词以模板内为准;日期格式须与筛选节点一致。
你是食品标签识别助手。从这张食品包装照片中抽取四项,严格按如下四行输出,不要多输出任何其他文字:
品名:<商品名>
保质期:<YYYY-MM-DD,若只看到年月则取该月末>
存放位置:<冷藏/冷冻/常温,无法判断写常温>
备注:<包装上的份量或开封说明,没有则写无>库存表合成测试数据
本站编造数据:以2026-09-20为「今天」,鲜奶在3天窗口内应入选;鸡蛋超出窗口、水饺更远、吐司状态为已用完,三条都应被筛掉。用户ID为假测试值。
Food Name,Expiration Date,Storage Location,Status,Notes,AI Output,LINE User ID,Registered At
鮮奶 900ml,2026-09-22,冷藏,在库,开封后三天内饮用,,Utest0001,2026-09-19T21:00:00+09:00
雞蛋 10入,2026-09-25,冷藏,在库,,,Utest0001,2026-09-18T21:00:00+09:00
冷凍水餃,2026-12-01,冷冻,在库,,,Utest0001,2026-09-10T21:00:00+09:00
吐司,2026-09-20,常温,已用完,,,Utest0001,2026-09-15T21:00:00+09:00输入与输出示例
本站虚构演示,未实际调用Gemini或LINE接口;菜品文案为示意,实际输出由模型生成。
输入
以上合成表,手动触发每日分支,系统日期视为2026-09-20,窗口为9月20日至9月23日。对应输出
筛选结果仅1行:鮮奶 900ml(2026-09-22到期,冷藏,在库)。聚合后交Gemini,推送示意:「もうすぐ期限切れ:牛乳。おすすめ:ホットミルクやフレンチトーストに。」LINE推送一条消息发给Utest0001(测试值)。做完检查这些
- LINE发图后几秒内收到回复,且回复内容与Sheets新行的品名、日期一致
- 新行自动写入在库状态、登记时间戳和正确的LINE User ID
- 以9月20日为准时每日分支只筛出鲜奶一行,鸡蛋、水饺、已用完的吐司均不入选
- 抽查库存表确认Expiration Date统一为YYYY-MM-DD格式,格式混杂会让3天窗口筛选静默漏行
容易卡住的地方
- 表格列名与模板映射不一致会导致追加或筛选失败,中文列名必须逐个改引用
- webhook必须公网可达并在LINE后台完成验证,本地n8n需要隧道
- 日期格式混杂(如9/22与2026-09-22并存)会让3天窗口筛选漏行
- Gemini模型的区域可用性、以及Gemini与LINE接口用量可能产生费用,免费仅指模板
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Manage fridge inventory and expiry alerts with LINE, Google Sheets and Gemini
- 原作者
- AKIKO SASAKI
- 原始发布日期
- 2026-09-20T08:35:01.452Z
- 来源
- https://n8n.io/workflows/19754