外卖推荐

Other

外卖推荐技能。当用户提到"点外卖"、"外卖"、"订餐"、"叫外卖"、"推荐外卖"、"附近外卖"等关键词时自动触发。通过询问用户当前位置,综合大众点评、高德地图、美团、饿了么、京东外卖五大平台数据,搜索附近3km范围内支持堂食的优质外卖商家,按好评数量进行排名并推荐给用户。

Install

openclaw skills install food-delivery-recommend

外卖推荐技能 🍜

概述

帮助用户发现附近高评价外卖商家。综合大众点评、高德地图、美团、饿了么、京东外卖五大平台公开评价数据,仅筛选有实体门店且支持堂食的优质商家(排除纯外卖厨房/幽灵厨房),按多维度好评排名推荐 Top 5。

触发条件

以下任意关键词出现时,立即激活本技能:

  • 点外卖 / 叫外卖 / 订外卖 / 外卖
  • 推荐外卖 / 附近外卖 / 外卖推荐
  • 订餐 / 叫餐
  • 中午吃什么 / 晚上吃什么(结合点餐语境)

避免误触发的负面规则:

  • 若用户同时提到"自己做/煮饭/烧菜/食堂/出去吃/下楼吃",说明没有外卖需求,不要激活
  • "饿了"单独出现时不激活,除非上下文明确是点外卖

核心原则:堂食优先 🏠

"能堂食的店,外卖也不会差"

硬性筛选规则:

  • 只推荐有实体门店、支持堂食的商家。堂食店有线下客流倒逼品质,食材周转快、出餐标准高。
  • 坚决排除以下类型:
    • 纯外卖厨房 / 幽灵厨房(无堂食区域、仅线上接单)
    • 档口型外卖(商场美食广场无独立座位的柜台)
    • 无实体地址的"云厨房"品牌
  • 堂食判断依据(任一满足即可):
    • 平台标注"可堂食"/"到店吃"
    • 搜索结果中有门店实拍图/环境图
    • 有实体地址且非居民楼/写字楼纯厨房
    • 大众点评/美团有"环境"评分维度

时段感知 🕐

"午餐推火锅?不存在的。"

激活技能后,首先获取当前时间(通过系统上下文中的 current_time),根据时段调整推荐策略:

时段判断表

时段时间范围搜索侧重推荐策略时长标注
🥐 早餐06:00-10:00早餐、粥、面点、豆浆油条推出餐快、清淡⚡ 15-25分钟
🍱 午餐10:00-14:00快餐、简餐、煲仔饭、面食、盖浇饭优先出餐快 + 性价比高,人均 <¥50⚡ 20-30分钟
🍰 下午茶14:00-17:00奶茶、甜品、点心、咖啡、轻食推饮品甜点、港式点心🕐 不限
🍲 晚餐17:00-21:00正餐、火锅、湖北菜、韩料、日料推正餐场景,人均可放宽🕐 30-45分钟
🌙 深夜21:00-06:00夜宵、烧烤、小龙虾(季节)⚠️ 先提醒"多数堂食店可能已打烊",推营业到深夜的⚡ 25-35分钟

时段影响规则

  • 午餐时段:排名公式中距离权重从 20% 上调至 30%,降低价格权重,优先推「出餐快 + 近」
  • 晚餐时段:恢复标准权重,优先推「正餐品质 + 评价多」
  • 下午茶时段:自动替换菜系筛选为"饮品/甜品/点心/轻食"
  • 深夜时段:在第二步搜索中增加 夜宵 营业中 深夜 关键词

天气适配(如能获取)

搜索时若能从上下文/搜索结果获知天气:

  • 🌧️ 下雨天:自动优先推距离 < 1km 的商家,提醒"今天下雨配送可能变慢"
  • ☀️ 高温天(>35°C):优先推轻食/凉面/沙拉,提醒"天热注意饮食卫生"

营业状态检查 🈺

数据采集

在第二步搜索时,每个搜索模板增加 营业中 关键词:

平台原模板追加
大众点评...可堂食 {菜系} 营业中
美团...实体店 {菜系} 营业中
饿了么...实体门店 {菜系} 营业中
京东外卖...到店吃 营业中
高德地图...可外卖 营业中

营业状态标记

整理数据时,为每个商家标注:

  • 🟢 确认营业 — 搜索结果提及"营业中"或有时段标注
  • 🟡 未确认 — 搜索结果未提及营业状态
  • 🔴 疑似打烊 — 搜索结果提到"已休息"/"暂停营业"/"即将打烊"

排序惩罚

标记处理
🔴 疑似打烊直接排除,不出现在推荐列表中
🟡 未确认不惩罚,但输出时加提示
🟢 确认营业优先推荐(+5% 权重)

输出标注

对于 🟡 未确认营业的商家,在推荐卡片中显示:

⚠️ 营业状态未确认,建议在 App 中查看

对于深夜时段,所有推荐顶部加全局提示:

🌙 当前已过 21:00,多数堂食店可能已打烊,以下商家建议先在 App 确认营业~

工作流程

第一步:询问用户位置 + 偏好

激活技能后,第一件事是检查记忆然后询问:

首次使用(无记忆):

"帮您找附近好外卖 🍜 请问您现在在哪?(街道/小区/地标都可以)另外有没有菜系或预算偏好?没有的话我直接推荐综合好评 Top 5~"

有历史记忆:

"帮您找附近好外卖 🍜 还是上次的 {地址} 吗?上次您偏好 {菜系},这次还来这类,还是换换口味?"

  • 如果用户只给地址、没提偏好 → 直接搜索推荐,省一轮对话
  • 地址模糊时追问具体地标
  • 接受格式:街道地址、小区名、商圈名、地标建筑名

地址与口味偏好记忆机制:

搜索完成后,向 ~/.workbuddy/MEMORY.md 写入/更新以下两项持久记忆:

## 外卖偏好
- 常用地址:{地址}
- 口味偏好:{菜系偏好 / 忌口 / 预算范围 / 其他偏好}
  • 地址记忆:下次激活时,若存在常用地址,优先询问:"还是上次的 {地址} 吗?"
  • 口味偏好记忆:下次激活时,若存在口味偏好,在询问中自动带上:"上次您偏好 {菜系},这次还来这类吗?"
  • 偏好更新时机:每次点餐结束后,若用户表达了新的菜系偏好、忌口、预算习惯,更新口味偏好条目

第二步:时段感知搜索

获得用户地址后,根据当前时段拼接搜索关键词,并行搜索五大平台:

时段关键词映射:

时段自动追加关键词
早餐早餐 粥 面点 豆浆
午餐午餐 快餐 简餐 出餐快
下午茶下午茶 奶茶 甜品 点心
晚餐晚餐 正餐 火锅
深夜夜宵 深夜营业

搜索模板({时段关键词} 按上表自动替换):

平台搜索查询模板数据侧重点
大众点评大众点评 {地址} 附近 外卖 好评排行 可堂食 {菜系} {时段关键词} 营业中用户真实评价、环境评分、必吃榜
美团美团 {地址} 附近 外卖 评分高 好评多 实体店 {菜系} {时段关键词} 营业中月销量、评分、配送时间
饿了么饿了么 {地址} 附近 外卖 高评分 实体门店 {菜系} {时段关键词} 营业中评分、起送价、优惠
京东外卖京东外卖 {地址} 附近 餐饮 好评 到店吃 营业中京东秒送覆盖商家、品质餐饮
高德地图高德地图 {地址} 3公里 餐厅 评分高 有堂食 可外卖 营业中距离精确、位置验证、营业状态

并行搜索技巧: 使用 query_keyword_groups 参数将 5 组查询合并到一次 WebSearch 调用中。示例(午餐时段):

query: "{地址} 外卖 堂食 好评排行 午餐 营业中"
query_keyword_groups: [
  "大众点评 {地址} 附近 外卖 好评排行 可堂食 {菜系} 午餐 快餐 营业中",
  "美团 {地址} 附近 外卖 评分高 好评多 实体店 {菜系} 午餐 营业中",
  "饿了么 {地址} 附近 外卖 高评分 实体门店 {菜系} 午餐 营业中",
  "京东外卖 {地址} 附近 餐饮 好评 到店吃 营业中",
  "高德地图 {地址} 3公里 餐厅 评分高 有堂食 可外卖 营业中"
]

数据采集目标(每个商家尽量收集):

  • 商家名称、实体地址
  • 各平台评分(标明来源平台)
  • 好评数量 / 月销量 / 评价人数
  • 主营菜系
  • 人均消费
  • 配送时间(如可获取)
  • 距离(如可获取)
  • 是否标注可堂食 ✅ / ❌
  • 营业状态 🟢 确认营业 / 🟡 未确认 / 🔴 疑似打烊

第三步:信息整理与跨平台交叉验证

堂食标记规则: 在数据整理阶段,明确标注每个商家的堂食状态:

  • ✅ 已确认可堂食 — 有门店实拍图、环境评分、或平台标注
  • ⚠️ 待确认 — 搜索结果未明确提及堂食,酌情降权
  • ❌ 纯外卖/不可堂食 — 直接排除

跨平台加权规则: 商家出现在越多平台、评分越一致 → 可信度越高,应优先推荐:

  • 5 平台一致好评:+15% 权重加成
  • 3-4 平台一致好评:+10%
  • 1-2 平台:标准权重
  • 单平台且无堂食确认:降权 30%

综合评分公式:

综合分 = 评分(35%) × 归一化评分 + 好评数(35%) × 归一化好评数 + 距离(15%) × 距离近分 + 性价比(15%) × 性价比分
        + 时段权重调整 + 跨平台加成(最高+15%) - 堂食未确认惩罚(最高-30%) - 营业状态惩罚

性价比分计算:

性价比分 = 归一化评分 / 归一化人均 × 100

即:同样 4.5 分的店,¥40 比 ¥120 得分高 3 倍,上班族午餐更友好。

时段权重调整:

时段距离权重价格权重说明
午餐30% 🔼15%快比便宜重要
晚餐15%20%品质比距离重要
下午茶/深夜25%10%距离比价格重要

若用户明确说"好吃优先" → 恢复标准权重;说"性价比优先" → 性价比权重翻倍至 30%。

营业状态调整:

  • 🟢 确认营业:+5% 权重
  • 🔴 疑似打烊:直接排除
  • 深夜时段:🟡 未确认的不惩罚,但提醒

筛选标准(按优先级):

  1. 🏠 堂食确认:仅保留 ✅ 已确认可堂食 的商家;⚠️ 待确认的最多保留 1 家标注说明
  2. 评分门槛:≥ 4.0(5分制)或 ≥ 8.0(10分制)
  3. 📊 评价基数:好评/评价人数 ≥ 50 条优先
  4. 📍 距离:3km 以内
  5. 🚫 排除:已停业、装修中、纯外卖厨房

推荐数量: 默认 Top 5,用户要求时提供 Top 10。

第四步:以结构化格式输出推荐结果

## 🍜 {用户地址} · {时段标签} 附近外卖好评推荐 Top 5

> 🕐 当前时段:{时段标签}({时间范围}) · 📊 数据来源:大众点评 + 美团 + 饿了么 + 京东外卖 + 高德地图
> 🏠 筛选条件:仅支持堂食的实体门店 | 范围:3km | 🈺 优先确认营业中
> 📈 排序依据:多平台综合好评 + 跨平台交叉验证 + 性价比

---

### 🥇 第1名:{商家名称} 🏠 🟢
- **菜系:** {菜系}
- **综合评分:** ⭐ {评分} / 5.0({来源平台1} {评分1} · {来源平台2} {评分2})
- **好评数:** {好评数} 条评价 · 月销 {月销量} 单
- **人均消费:** ¥{人均} · 性价比 {性价比标签}(💰 超值 / 👍 不错 / ⚖️ 正常)
- **距离:** 约 {X} km(高德地图)
- **招牌推荐:** {招牌菜1}、{招牌菜2}、{招牌菜3}
- **用户热评:** "{精选好评摘要}" ——(来源:{平台名})
- **覆盖平台:** 大众点评 ✅ · 美团 ✅ · 饿了么 ✅ · 京东 ✅ · 高德 ✅
- **营业状态:** 🟢 确认营业 / 🟡 请确认(显示对应状态)

---

### 🥈 第2名:{商家名称}
(格式同上)

...(依次列出)

---

💡 **小贴士:**
- 🏠 = 已确认可堂食的实体门店,品质更有保障
- 🟢 = 确认营业中 · 🟡 = 请在App确认营业状态
- 💰 超值 = 同评分下人均低 · 👍 不错 = 性价均衡 · ⚖️ 正常 = 品质优先
- 以上数据来自五大平台公开评价,非实时库存。建议在 App 确认当前可配送状态
- 🔗 快速下单:美团/饿了么/京东App 搜商家名即可
- {天气提示:🌧️ 今天下雨配送可能变慢,优先选近的!/ ☀️ 天热注意饮食卫生~}

---

🎲 不知道吃什么吧?我帮你选好了——

今天就吃 **[商家名称]**!{俏皮话术}

{招牌菜1}、{招牌菜2} 点起来,不会错!🍻

第五步:提供跟进服务 + 点单闭环

推荐结束后主动询问:

"需要按菜系(川菜/日料/奶茶…)或预算筛选吗?也可以查看某家店的详细评价~ 😊"

可选跟进:

  • 按菜系二次筛选
  • 按价格区间(实惠 < ¥30 / 适中 ¥30-60 / 精致 > ¥60)
  • 查看某家店的详细评价摘要
  • 重新搜索其他地址

点单闭环(如有互动): 如果用户回复了选了哪家,写入记忆:

## 外卖偏好
- 最近一次点单:{商家名}({日期})

用于下次盲选时自动避开,制造新鲜感。


搜索质量与降级策略

多轮搜索策略

若首轮 5 平台并行搜索返回结果不足(< 5 家有堂食的商家),执行第二轮:

轮次策略
第1轮5 平台并行搜索,限 3km
第2轮扩大至 5km,增加 site:dianping.com site:meituan.com 限定搜索
第3轮放宽堂食确认要求(⚠️ 待确认的也推荐,但标注说明),并用"必吃榜/热门榜/老字号"做品质兜底

数据不足时的诚实输出

当多轮搜索后仍缺乏结构化评分数据,输出中必须明确标注

⚠️ 本次搜索未获取到完整的平台实时评分数据,以下推荐基于公开口碑文章、必吃榜商家及用户评价摘要,建议在 App 中查看最新评分。

绝对禁止: 捏造评分、编造好评数、虚构用户评价摘要。

第六步:智能盲选推荐(收尾彩蛋)

不再纯随机!根据时段、距离和历史做出聪明选择。

智能加权规则(从 Top 5 中选出盲选推荐):

维度午餐晚餐下午茶深夜
出餐速度⬆️ 权重 ×2正常正常⬆️ 权重 ×1.5
距离近⬆️ 权重 ×1.5正常⬆️ 权重 ×1.5⬆️ 权重 ×2
性价比⬆️ 权重 ×1.5正常正常正常
评价数量多正常⬆️ 权重 ×1.5正常正常

额外规则:

  • 🚫 换口味:如果记忆中有"上次选了{商家名}",自动避开,换一家
  • 🌧️ 下雨天:距离权重 ×3,推荐最近的
  • 🔥 按菜系:如果 Top 5 里有火锅/烧烤,在晚餐时段权重 +20%

输出模板(不变):

---

🎲 不知道吃什么吧?我帮你选好了——

今天就吃 **[商家名称]**!{俏皮话术}

{招牌菜1}、{招牌菜2} 点起来,不会错!🍻

特殊场景处理

用户指定平台

若用户说"美团上有什么好的" / "饿了么推荐" / "京东外卖看看":

  • 优先展示该平台数据,但仍跨平台交叉验证
  • 输出时标注"主搜平台:{平台名}"

特殊饮食需求

需求搜索关键词补充标注
素食素食、蔬食、素🥬 素食友好
清真清真、halal☪️ 清真认证
忌辣不辣、清淡、微辣可调🌶️ 辣度可调
减脂/轻食轻食、减脂餐、沙拉、健康餐🥗 健康轻食

多人点餐

用户说"N个人一起吃"时:

  • 搜索中加入"团餐、拼单、大份、聚餐"
  • 优先推荐人均 ¥30-80、分量足、菜品多样的餐厅
  • 人均预算按总预算/N人计算

浏览器自动化增强(可选) 🤖

如果安装了 agent-browser Skill,可用它直接打开外卖平台获取实时数据,替代 WebSearch 的"二手信息"。

触发条件

满足以下全部条件时,优先使用浏览器自动化:

  1. 已安装 agent-browser Skill
  2. 用户指定了具体平台(如"帮我看看美团上有什么")

工作流

1. 加载 agent-browser Skill
2. 打开平台首页(如 meituan.com / ele.me)
3. 在搜索框输入:{地址} + {菜系} + {时段关键词}
4. 截图搜索结果列表
5. 提取:商家名、评分、月销量、人均、配送时间、起送价、营业状态
6. 将提取的结构化数据传给第三步的排名引擎

降级策略

  • 若 agent-browser 不可用 → 回退到 WebSearch 模式
  • 若页面反爬/验证码 → 回退到 WebSearch
  • 若只能提取部分数据 → 用 WebSearch 补全

可提取的实时字段(远优于 WebSearch)

字段WebSearchagent-browser
评分可能过时实时
月销量可能缺失精确数字
配送时间无法获取实时估算
起送价无法获取精确数字
满减优惠无法获取当前活动
营业状态间接推断直接显示
是否可配送无法获取直接显示

参考资源

以下 reference 文件包含平台搜索技巧和排名补充规则。当遇到以下情况时读取对应文件:

  • 需要各平台深度搜索技巧、堂食验证方法、跨平台商家匹配规则时 → 读取 references/search_templates.md
  • 需要堂食确认评分调整表、多平台交叉验证加分表、搜索降级话术时 → 读取 references/ranking_criteria.md