mcpField
S
shopping-agent

shopping-agent

github.com/mary4data生产力187 次安装
代码仓库

关于 shopping-agent

shopping-agent 根据餐单、冰箱库存和价格数据生成按商店分组的购物清单,并支持预算优化及通过 Telegram 和 Discord 发送。

主要功能

  1. 01根据餐单生成清单
  2. 02排除冰箱已有食材
  3. 03按商店和最低价分组
  4. 04按预算优化清单
  5. 05发送到 Telegram 和 Discord

适用场景

  1. 01根据餐单准备分店购物清单
  2. 02购物清单超预算时调整食材
  3. 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

  1. 加载餐食计划:
    sqlite3 /data/workspace/pantry.db "SELECT plan_json FROM meal_plans ORDER BY created_at DESC LIMIT 1;" 2>/dev/null
    
  2. 加载冰箱清单(排除已有物品):
    sqlite3 /data/workspace/pantry.db "SELECT item FROM fridge;" 2>/dev/null
    
  3. 加载最优价格:
    sqlite3 /data/workspace/pantry.db "SELECT item, store, MIN(price) as price, unit FROM prices GROUP BY item;" 2>/dev/null
    
  4. 按商店分组显示,并按价格从低到高排序。输出格式请参阅 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 发送反馈:

  1. 找出价格最高的 2-3 种食材
  2. 请 Meal Planner 将对应餐食替换为更便宜的选项:
    • 三文鱼 → 罐装金枪鱼或鸡蛋
    • 鸡胸肉 → 鸡腿肉或扁豆
    • 新鲜香草 → 干香草
  3. 根据更新后的计划重新计算清单
  4. 仅在清单符合预算后才发送至 Telegram(否则向用户说明超出的金额)

/shopping optimize [budget]

默认预算:€80。

  • 根据价格数据计算总额
  • 如果在预算内:"符合 €[budget] 的预算。预估金额:€[total]。"
  • 如果超出预算:建议更便宜的替代品(例如用罐装金枪鱼替代三文鱼)

替代建议请参阅 references/display-format.md。

评论

支持 Markdown