介绍
# Swiggy Skill
通过 Swiggy 的 MCP 服务器在印度订购食物、杂货并预订餐厅。
## 安装
该技能包含一个 `swiggy` CLI 二进制文件。安装技能后: ```bash cd skills/swiggy npm link ```
这将创建一个全局的 `swiggy` 命令。使用 `which swiggy` 进行验证。
## 何时使用
- 餐食外卖:“Order biryani”(点比尔亚尼菜),“What's open late?”(哪里开得晚?),“Team lunch for 8”(8人团队午餐) - 杂货 (Instamart):“Get eggs and milk”(买鸡蛋和牛奶),“Weekly groceries”(每周杂货),“Recipe ingredients”(食谱食材) - 餐厅预订 (Dineout):“Book dinner Saturday 8pm”(预订周六晚上8点的晚餐),“Italian in Koramangala”(Koramangala 的意大利餐厅)
## 可用命令
### 餐食外卖
```bash # Search restaurants swiggy food search "biryani" --location "Koramangala, Bengaluru"
# Get menu swiggy food menu <restaurant-id>
# Cart management swiggy food cart add <item-id> --quantity 2 swiggy food cart show swiggy food cart clear
# Order (requires confirmation) swiggy food order --address "home" --confirm ```
### Instamart(杂货)
```bash # Search products swiggy im search "eggs" --location "HSR Layout, Bengaluru"
# Cart operations swiggy im cart add <item-id> --quantity 3 swiggy im cart show swiggy im cart clear
# Checkout (requires confirmation) swiggy im order --address "home" --confirm ```
### Dineout(餐厅预订)
```bash # Search restaurants swiggy dineout search "Italian Indiranagar"
# Get details swiggy dineout details <restaurant-id>
# Check availability swiggy dineout slots <restaurant-id> --date 2026-01-30
# Book table (free bookings only, requires confirmation) swiggy dineout book <restaurant-id> --date 2026-01-30 --time 20:00 --guests 2 --confirm ```
## 关键:安全规则
### ⚠️ 切勿自动下单 **下单前务必获得明确确认。**
1. **首先显示购物车预览:** - 所有商品及其数量和价格 - 总金额 - 配送地址 - 预计送达时间(食品/杂货)
2. **请求确认:** ``` Ready to order: - 2x Chicken Biryani (₹500) - 1x Raita (₹60) Total: ₹560 + delivery Deliver to: Home (HSR Layout) ETA: 30-40 mins Confirm order? (yes/no) ```
3. **仅在用户确认(说是)后:** - 运行带有 `--confirm` 标志的下单命令 - 记录到 `memory/swiggy-orders.json`
### 货到付款警告 Swiggy MCP 目前仅支持**货到付款**。订单一旦下达**无法取消**。确认前务必反复核对。
### 地址处理 - 用户可能会说“home”(家)、“office”(办公室)等 —— 请从 USER.md 映射到实际地址或询问用户 - 始终在预览中确认配送位置 - 对于 Dineout,位置仅用于搜索(非配送)
## 工作流示例
### 餐食下单流程 ```bash # 1. Search swiggy food search "biryani near Koramangala"
# 2. Browse menu (use restaurant ID from search) swiggy food menu rest_12345
# 3. Add to cart swiggy food cart add item_67890 --quantity 1
# 4. Preview cart swiggy food cart show
# 5. Show preview to user, ask confirmation
# 6. If confirmed, order swiggy food order --address "HSR Layout, Sector 2, Bengaluru" --confirm ```
### 杂货购物流程 ```bash # 1. Search items swiggy im search "eggs" --location "Koramangala" swiggy im search "milk" --location "Koramangala"
# 2. Add to cart swiggy im cart add item_11111 --quantity 2 swiggy im cart add item_22222 --quantity 1
# 3. Preview swiggy im cart show
# 4. Confirm with user
# 5. Checkout swiggy im order --address "Koramangala, Bengaluru" --confirm ```
### 餐厅预订流程 ```bash # 1. Search swiggy dineout search "Italian Indiranagar"
# 2. Check details swiggy dineout details rest_99999
# 3. Check slots swiggy dineout slots rest_99999 --date 2026-01-30
# 4. Show options to user, confirm choice
# 5. Book swiggy dineout book rest_99999 --date 2026-01-30 --time 20:00 --guests 2 --confirm ```
## 错误处理
- **无结果:** 建议扩大搜索范围或更换位置 - **缺货:** 显示替代选项 - **无可用时段:** 建议其他时间/日期 - **需要身份验证:** 用户需要通过 OAuth 进行身份验证(由 MCP 处理)
## 提示
- 团队订单:迭代构建购物车,询问偏好 - 预算购物:按价格筛选结果,显示累计总额 - 食谱转购物车:搜索每种食材,逐步添加 - 深夜点单:在搜索条件中提及配送时间
## 订单记录
下单成功后,追加到 `memory/swiggy-orders.json`: ```json { "timestamp": "2026-01-28T21:16:00+05:30", "type": "food", "items": [...], "total": "₹560", "address": "HSR Layout", "orderId": "..." } ```
## 身份验证
Swiggy MCP 使用 OAuth。首次使用将触发身份验证流程。`swiggy` CLI 通过 mcporter 处理此过程。
## 依赖项
- 需要 `mcporter` 技能(底层使用它) - CLI 包装器需要 Node.js 运行时
## 已知限制
- 仅支持货到付款(暂不支持在线支付) - 订单无法取消 - Dineout:仅限免费预订 - 使用 MCP 时请勿打开 Swiggy 应用(会话冲突)
---
**记住:下单前先确认。每一次。每一个订单。** 🐾