关于 shopping-agent
shopping-agent 根据餐单、冰箱库存和价格数据生成按商店分组的购物清单,并支持预算优化及通过 Telegram 和 Discord 发送。
主要功能
- 01根据餐单生成清单
- 02排除冰箱已有食材
- 03按商店和最低价分组
- 04按预算优化清单
- 05发送到 Telegram 和 Discord
适用场景
- 01根据餐单准备分店购物清单
- 02购物清单超预算时调整食材
- 03将清单发到 Telegram 并通知 Discord
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mary4data/ clawbee --skill shopping-agent安装后在 Claude Code 中输入/shopping-agent确认已加载。
附带文件LICENSE.txtreferences/display-format.md
详细介绍
购物 Agent
根据餐食计划优化购物清单 → 通过 Telegram + Discord 发送。
/shopping list
- 加载餐食计划:
sqlite3 /data/workspace/pantry.db "SELECT plan_json FROM meal_plans ORDER BY created_at DESC LIMIT 1;" 2>/dev/null - 加载冰箱清单(排除已有物品):
sqlite3 /data/workspace/pantry.db "SELECT item FROM fridge;" 2>/dev/null - 加载最优价格:
sqlite3 /data/workspace/pantry.db "SELECT item, store, MIN(price) as price, unit FROM prices GROUP BY item;" 2>/dev/null - 按商店分组显示,并按价格从低到高排序。输出格式请参阅
references/display-format.md。
如果没有计划:"未找到餐食计划。请先运行 /meals plan 或 /plan weekly。"
/shopping send
构建 Telegram 消息并发送:
{"action":"send","channel":"telegram","to":"$TELEGRAM_CHAT_ID","message":"*Shopping List*\n\n*Aldi*\n• pasta 500g — €0.89\n\n*Lidl*\n• chicken — €5.09\n\n*Estimated total: €[amount]*\n\n_OpenClaw Meal Planner_"}
同时通知 Discord:
{"action":"send","channel":"discord","to":"channel:$DISCORD_CHANNEL_ID","message":"Shopping list sent to Telegram! Check your phone."}
如果 Telegram 发送失败,则回退为在聊天中显示完整清单及错误消息。
Agent 反馈循环 — 超出预算
如果总额超出预算,请在最终确认前向 Meal Planner 发送反馈:
- 找出价格最高的 2-3 种食材
- 请 Meal Planner 将对应餐食替换为更便宜的选项:
- 三文鱼 → 罐装金枪鱼或鸡蛋
- 鸡胸肉 → 鸡腿肉或扁豆
- 新鲜香草 → 干香草
- 根据更新后的计划重新计算清单
- 仅在清单符合预算后才发送至 Telegram(否则向用户说明超出的金额)
/shopping optimize [budget]
默认预算:€80。
- 根据价格数据计算总额
- 如果在预算内:"符合 €[budget] 的预算。预估金额:€[total]。"
- 如果超出预算:建议更便宜的替代品(例如用罐装金枪鱼替代三文鱼)
替代建议请参阅 references/display-format.md。
评论
支持 Markdown