mcpField
R
restaurant-search

restaurant-search

github.com/jackchuka其他15223 次安装今天更新
代码仓库

关于 restaurant-search

该技能指导 AI Agent 使用 `hpp` 命令行和 HotPepper Gourmet API 查找日本餐厅,并将地点、人数、菜系、预算和设施偏好转为搜索条件及结果表格。

主要功能

  1. 01解析地区和菜系代码
  2. 02按地点或坐标搜索
  3. 03按预算和设施筛选
  4. 04将结果整理为表格
  5. 05用命令行参数细化搜索

适用场景

  1. 01查找车站附近的餐厅
  2. 02寻找适合团体且有包间的餐厅
  3. 03按菜系和价格范围筛选

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackchuka/skills --skill restaurant-search

安装后在 Claude Code 中输入/restaurant-search确认已加载。

详细介绍

餐厅搜索

使用 hpp CLI(HotPepper Gourmet API)查找日本餐厅。 https://github.com/jackchuka/hpp

前置条件

  • 已安装 hpp CLI,并设置了 HOTPEPPER_API_KEY 环境变量

工作流

1. 解析请求

从用户的请求中提取:

  • 位置:车站名称、区域名称或坐标
  • 用餐人数:人数(对应 --party-capacity)
  • 日期/时间:用于确定哪些餐厅营业(检查 open/close 字段)
  • 菜系偏好:例如居酒屋、中餐、意大利菜(对应 --genre)
  • 预算:价格范围(对应 --budget)
  • 特色:包间(--private-room)、禁烟(--non-smoking)、WiFi(--wifi)、免费畅饮(--free-drink)等
  • 关键词:如“拉面”“寿司”等自由文本(对应 --keyword)
2. 解析区域代码

API 需要区域代码,而不是自由文本的位置名称。解析位置:

hpp area small --keyword "<location-name>"

这会返回小区域代码(例如,浜松町对应 X085),以及其上级中区域代码和大区域代码。

如果没有匹配的小区域,请尝试中区域:

hpp area middle --keyword "<location-name>"

如果用户提供的是坐标(纬度/经度),则跳过区域查询,改用 --lat、--lng、--range。

3. 解析菜系代码(如需要)

如果用户指定了特定菜系:

hpp genre

常见菜系代码:

代码菜系
G001居酒屋
G002餐吧·酒吧
G003创意料理
G004日式料理
G005西式料理
G006意大利菜·法式料理
G007中餐
G008烤肉·内脏料理
G009亚洲·民族料理
G010各国料理
G011卡拉 OK·派对
G012酒吧·鸡尾酒
G013拉面
G014咖啡馆·甜点
G016大阪烧·文字烧
G017韩国料理

如果不确定,请运行 hpp genre 获取完整列表。

4. 解析预算代码(如需要)

如果用户指定了预算:

hpp budget

常见预算代码:

代码范围
B001~1500 日元
B0022001~3000 日元
B0033001~4000 日元
B0084001~5000 日元
B0045001~7000 日元
B0057001~10000 日元
B00610001~15000 日元
B01215001~20000 日元
B01320001~30000 日元
B01430001 日元~
5. 搜索餐厅

使用解析出的代码和标志构建 hpp search 命令:

hpp search --small-area <code> --party-capacity <N> --count 10

根据用户需求应用以下关键标志:

需求标志
用餐人数--party-capacity <N>
菜系--genre <code>
预算--budget <code>
包间--private-room
禁烟--non-smoking
WiFi--wifi
免费畅饮--free-drink
免费自助餐--free-food
英文菜单--english
刷卡支付--card
深夜营业(晚上 11 点后)--midnight
午餐--lunch
关键词--keyword "<text>"
坐标--lat <lat> --lng <lng> --range <1-5>

坐标搜索的范围值:1=300 米,2=500 米,3=1 公里,4=2 公里,5=3 公里。

始终使用 JSON 输出(默认)进行解析,然后以表格形式展示结果。

6. 展示结果

以 Markdown 表格展示结果,包含以下列:

列来源
#行号
餐厅name
类型genre.name
预算budget.average
交通access(概括为车站 + 步行时间)
包间private_room(有/无/半包间)
营业时间open(仅显示相关日期)
链接urls.pc(以可点击的 Markdown 链接形式显示)

表格后,简要推荐最符合用户具体需求的选项(例如:离车站最近、最适合团体、有包间)。

7. 细化(如有需要)

如果用户想缩小范围,添加更多标记并重新搜索。常见细化方式:

  • “有包间” → 添加 --private-room
  • “4000 日元以内” → 添加 --budget B001,B002,B003
  • “禁烟” → 添加 --non-smoking
  • “多显示一些” → 增加 --count 或使用 --start 翻页

其他实用命令

  • hpp shop --name "<name>" — 按名称查询特定餐厅
  • hpp special list — 浏览特色项目/标签
  • hpp creditcard — 列出接受的信用卡类型

重要说明

  • 始终使用 --count 限制结果数量(默认 10,最多 100)
  • API 返回日文文本 — 按原样呈现,不要翻译,除非用户要求
  • 星期一 = 月,检查 open/close 字段,确认餐厅在指定日期营业
  • 用户指定日期时,检查 close 字段,确认是否为常规休息日(例如,日 = 星期日)
  • 优惠券链接位于 coupon_urls.sp — 如果用户询问优惠,请提及

评论

支持 Markdown