shopping-agent

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Shopping Agent

购物Agent

Optimized shopping list from meal plan → Telegram + Discord delivery.
从餐食计划生成优化购物清单 → 发送至Telegram + Discord。

/shopping list

/shopping list

  1. Load meal plan:
    bash
    sqlite3 /data/workspace/pantry.db "SELECT plan_json FROM meal_plans ORDER BY created_at DESC LIMIT 1;" 2>/dev/null
  2. Load fridge (to exclude already-owned items):
    bash
    sqlite3 /data/workspace/pantry.db "SELECT item FROM fridge;" 2>/dev/null
  3. Load best prices:
    bash
    sqlite3 /data/workspace/pantry.db "SELECT item, store, MIN(price) as price, unit FROM prices GROUP BY item;" 2>/dev/null
  4. Display grouped by store, cheapest first. See
    references/display-format.md
    for output format.
If no plan: "No meal plan found. Run
/meals plan
or
/plan weekly
first."
  1. 加载餐食计划:
    bash
    sqlite3 /data/workspace/pantry.db "SELECT plan_json FROM meal_plans ORDER BY created_at DESC LIMIT 1;" 2>/dev/null
  2. 加载冰箱库存(排除已有物品):
    bash
    sqlite3 /data/workspace/pantry.db "SELECT item FROM fridge;" 2>/dev/null
  3. 加载最优价格:
    bash
    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

/shopping send

Build Telegram message and send:
json
{"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_"}
Also notify Discord:
json
{"action":"send","channel":"discord","to":"channel:$DISCORD_CHANNEL_ID","message":"Shopping list sent to Telegram! Check your phone."}
Fallback if Telegram fails: display full list in chat with error message.
构建Telegram消息并发送:
json
{"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:
json
{"action":"send","channel":"discord","to":"channel:$DISCORD_CHANNEL_ID","message":"Shopping list sent to Telegram! Check your phone."}
如果Telegram发送失败则回退:在聊天中展示完整清单并附带错误信息。

/shopping optimize [budget]

/shopping optimize [budget]

Default budget: €80.
  • Calculate total from price data
  • If within budget: "Fits within €[budget]. Estimated: €[total]."
  • If over: suggest cheaper substitutions (e.g., canned tuna instead of salmon)
See
references/display-format.md
for substitution suggestions.
默认预算:€80。
  • 根据价格数据计算总金额
  • 如果在预算内:“符合€[budget]要求,预估总金额:€[total]。”
  • 如果超出预算:推荐更便宜的替代品(例如用金枪鱼罐头代替三文鱼)
替代品推荐格式可参考
references/display-format.md