Install
openclaw skills install shop-review-generator为大众点评、高德扫街榜等平台生成高质量店铺点评。用户提供店铺地址(高德/大众点评链接)和菜品照片,技能会分析照片中的菜品、搜索店铺信息和历史评价,然后按照标准点评模板生成结构化的点评内容。当用户提到"写点评"、"店铺评价"、"餐厅点评"、"大众点评"、"高德扫街榜"、"帮我写个评价"、"生成点评"、"美食点评",或者提供了餐厅照片并希望生成评价文案时,都应该触发这个技能。
openclaw skills install shop-review-generator根据用户提供的店铺地址和菜品照片,生成符合大众点评/高德扫街榜风格的高质量结构化点评。点评需要基于真实照片分析和网络搜索到的店铺信息,做到真实、客观、有细节感。
确认用户提供了以下信息:
店铺地址或链接(必需)
菜品照片(必需)
如果缺少必需信息,礼貌地向用户索要。
用户提供的照片可能是 iPhone 拍摄的 HEIC 格式。不同模型对 HEIC 的支持不一致,因此需要一个降级处理流程:
处理策略(按优先级尝试):
直接识别:先尝试直接分析用户提供的原始图片。如果模型能正常识别 HEIC 格式,跳过转换直接进入菜品分析。
脚本转换:如果直接识别失败(报错、无法解析、返回空白描述),使用本技能自带的转换脚本:
python <skill-path>/scripts/convert_heic.py <图片路径或图片目录>
脚本会自动选择可用的转换工具(macOS sips → pillow-heif → ImageMagick),将 HEIC 转为 JPEG 后重新分析。
手动转换提示:如果脚本也失败(缺少依赖),提示用户手动转换:
sips -s format jpeg input.HEIC --out output.jpgpip install pillow-heif Pillow关键点:不要一上来就要求用户转换格式,先试再说。只有在确认当前环境无法处理时才降级。
使用视觉能力逐张分析用户提供的照片,提取以下信息:
对每张菜品照片识别:
对环境照片识别(如有):
将识别结果整理为结构化清单,供后续步骤使用。
重要:此步骤得到的菜品名称只是初步判断,不要直接用于最终点评。 纯靠看图猜菜名很容易出错(比如把"酸菜鱼"认成"水煮鱼",把"糖醋里脊"认成"锅包肉")。准确的菜品名称需要在步骤4搜索后交叉验证。
这一步通过多个渠道获取店铺信息和菜品数据,确保菜品名称准确、评价有据可依。
如果用户提供了高德地图链接或店铺名称,先用高德 API 获取准确的店铺信息:
# 从高德链接查询
python <skill-path>/scripts/amap_poi.py link "高德链接"
# 按店铺名+城市搜索
python <skill-path>/scripts/amap_poi.py search "店铺名" --city "城市"
从 API 返回中提取:
如果用户提供的是大众点评链接,跳过这步,直接进入 4b。
用 web search 工具搜索店铺菜单信息,这是获取准确菜品名称的关键步骤:
搜索查询(按顺序尝试,直到获取到菜品列表):
"店铺名" 大众点评 推荐菜 — 大众点评的推荐菜列表通常会出现在搜索摘要中"店铺名" 大众点评 菜单 — 获取更完整的菜单信息"店铺名" 美团 菜单 — 美团也有菜品列表"店铺名" 菜单 菜品 — 通用搜索兜底从搜索结果中重点提取:
小红书的探店内容通常最详细、最接近真实体验,是口味评价的重要参考:
搜索查询:
"店铺名" 小红书 探店 — 获取探店笔记"店铺名" 小红书 必点 — 获取推荐菜品"店铺名" 小红书 测评 — 获取详细评价从搜索结果中提取:
对照片中识别出的每道菜品,搜索该菜品在这家店的历史评价:
"店铺名" + "菜品名(步骤3识别的初步名称)"
这一步的目的:
核心原则:只通过搜索引擎获取摘要信息,绝不直接抓取大众点评、高德等平台页面。
这一步是确保菜品名称准确的关键环节,不可跳过。
验证流程:
"店铺名" + "照片识别的菜品名" 确认为什么这步很重要: 很多餐厅的菜品有自己的命名(比如"老板娘私房鸡"而不是"白切鸡"),直接用图片识别的通用名称会显得不真实,一看就不像去过这家店的人写的。
信息不足时的处理:
将照片分析结果和搜索到的信息整合,按照以下模板生成点评。
点评结构(严格遵循):
#[标题]
位置: [地址信息]
环境: [环境描述]
口味:
[菜品1名称]:[评价]
[菜品2名称]:[评价]
[菜品3名称]:[评价]
...
各部分的详细规范见 references/review-format-spec.md。
生成要点:
标题(15-20字)
位置(1句话)
环境(2-3句,不超过60字)
口味(每道菜 40-60字)
写作语气(非常重要):
点评要像一个普通人随手写的,不是文案策划精心打磨的。以下是核心原则:
正面示例(口语化、真实感):
三杯鸡:鸡肉挺嫩的不柴,酱汁很香,锅底还在冒泡,趁热吃很过瘾 ⭐️⭐️⭐️⭐️⭐️
卤肉饭:肥瘦比例刚好,不会太腻,就是饭给的有点少 ⭐️⭐️⭐️⭐️
珍珠奶茶:珍珠挺Q弹的,甜度正好,中规中矩吧 ⭐️⭐️⭐️
反面示例(AI味、过度夸赞):
❌ 三杯鸡:鸡肉嫩滑不柴,酱汁浓郁香醇,口感层次分明,温度恰到好处 ⭐️⭐️⭐️⭐️⭐️
❌ 卤肉饭:卤汁渗透米饭,肥瘦相间不腻人,咸甜适中,回味悠长 ⭐️⭐️⭐️⭐️⭐️
❌ 珍珠奶茶:珍珠Q弹有嚼劲,奶茶茶香浓郁,甜度适宜,清爽怡人 ⭐️⭐️⭐️⭐️⭐️
生成点评后,执行以下检查:
格式检查:
内容检查:
风格检查(去 AI 味):
如果检查发现问题,修正后再输出最终版本。
生成点评时,优先使用右列的口语化表达,避免左列的"书面体":
| 书面体(少用) | 口语化(多用) |
|---|---|
| 嫩滑不柴 | 挺嫩的,不柴 |
| 酱汁浓郁香醇 | 酱汁很香 / 酱给的足 |
| 口感层次分明 | 吃起来有层次 |
| 色泽诱人 | 看着就有食欲 / 卖相不错 |
| 摆盘精致 | 摆盘挺用心的 |
| 鲜美可口 | 挺鲜的 |
| 回味悠长 | 吃完嘴里还有味 |
| 分量充足 | 量挺大的 |
| 温度适宜 | 上菜挺快,还是热的 |
| 咸淡适宜 | 咸淡刚好 |
| 入口即化 | 一咬就化了 |
| 外酥里嫩 | 外面脆脆的,里面很嫩 |
可以用的"不完美"表达(让点评更真实):
更完整的词汇表和格式规范见 references/review-format-spec.md。
scripts/convert_heic.py 自动转换,最后才提示用户手动处理scripts/amap_poi.py 获取店铺基础信息(名称、地址、评分),API Key 已内置在脚本中