关于 restaurant-search
该技能指导 AI Agent 使用 `hpp` 命令行和 HotPepper Gourmet API 查找日本餐厅,并将地点、人数、菜系、预算和设施偏好转为搜索条件及结果表格。
主要功能
- 01解析地区和菜系代码
- 02按地点或坐标搜索
- 03按预算和设施筛选
- 04将结果整理为表格
- 05用命令行参数细化搜索
适用场景
- 01查找车站附近的餐厅
- 02寻找适合团体且有包间的餐厅
- 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
前置条件
- 已安装
hppCLI,并设置了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 日元 |
| B002 | 2001~3000 日元 |
| B003 | 3001~4000 日元 |
| B008 | 4001~5000 日元 |
| B004 | 5001~7000 日元 |
| B005 | 7001~10000 日元 |
| B006 | 10001~15000 日元 |
| B012 | 15001~20000 日元 |
| B013 | 20001~30000 日元 |
| B014 | 30001 日元~ |
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