关于 search-hotel
用于住宿查询的技能,通过 travel-cli 搜索符合条件的酒店,并返回价格、评分及后续查房或预订所需的酒店 ID。
主要功能
- 01按目的地与日期搜索酒店
- 02按入住人数和房间数筛选
- 03设置价格范围与酒店条件
- 04返回价格、评分和酒店 ID
适用场景
- 01比较指定城市的酒店选择
- 02查找符合预算的住宿
- 03按泳池或免费早餐等条件筛选
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ justintravala/ travel-skills --skill search-hotel安装后在 Claude Code 中输入/search-hotel确认已加载。
详细介绍
搜索酒店
使用 travel-cli 搜索酒店。返回符合条件的酒店列表,包括价格、评分,以及预订或查看房型所需的 ID。
适用场景
当用户想寻找住宿时,触发此技能。例如:
- “帮我找 5 月 1 日至 5 月 5 日在东京的酒店”
- “给我看看巴黎有海景的 4 星级酒店”
- “下个周末涩谷附近有什么地方可以住”
- “我需要曼谷一间可住 2 位成人和 1 位儿童的房间”
请勿将此技能用于航班、旅行团、餐厅或其他非住宿类旅行查询。
前提条件
必须能使用 travel-cli CLI。通过 npx 运行:
npx @tvl-justin/travel-cli@latest search-hotel ...
如果用户已全局安装(npm install -g @tvl-justin/travel-cli),请直接调用 travel-cli。
调用方式
完整命令:
npx @tvl-justin/travel-cli@latest search-hotel \
--location "<city or destination>" \
--checkin <YYYY-MM-DD> \
--checkout <YYYY-MM-DD> \
--rooms "<occupancy>" \
--limit 5
参数规则
--location(必填)——城市、街区或目的地名称。使用用户提供的最具体地点。如果用户只说“Tokyo”,则使用"Tokyo";如果用户说“Shinjuku, Tokyo”,则使用"Shinjuku, Tokyo"。--checkin/--checkout(必填)——使用YYYY-MM-DD格式。调用前,先根据今天的日期换算相对日期(如“下个周末”“明天”)。如果用户只提供了单个日期和住宿时长(如“从 5 月 1 日开始住 3 晚”),请计算退房日期。--rooms——入住人数字符串。格式:"2"= 1 间客房,2 位成人"2,5"= 1 间客房,2 位成人 + 1 位 5 岁儿童"2,3,8"= 1 间客房,2 位成人 + 3 岁和 8 岁儿童- 多间客房用
;分隔:"2;2,5"= 第 1 间客房住 2 位成人,第 2 间客房住 2 位成人 + 1 位 5 岁儿童 - 用户未指定时的默认值:
"2"。
--limit——返回的酒店数量。默认值为 5。如果用户想要更多选项,则增加到 10。--min-price/--max-price——每晚价格,单位为 USD。传入前,请务必将其他货币换算为 USD。例如,“低于 200 万 VND” →--max-price 80。--filters——用逗号分隔。允许的值:free_breakfast、swimming_pool、ocean_view、all_inclusive。仅添加用户明确提出的筛选条件。--lat/--lng——可选的坐标,用于提高精确度。已知知名城市的坐标时使用。
询问缺失信息
如果用户提供了目的地但未提供日期,请一次性询问入住和退房日期(或入住日期加住宿时长)。除非用户的问题暗示了非默认入住人数(例如“适合我一家 4 口入住”),否则不要询问入住人数。
输出
CLI 会将 JSON 输出到 stdout:
{
"sessionId": "abc123",
"hotels": [
{
"hotelId": "h_001",
"name": "Park Hyatt Tokyo",
"rating": 9.2,
"star": 5,
"pricePerNight": 450,
"totalPrice": 1800,
"currency": "USD",
"packageId": "pkg_001",
"refundability": "free_cancellation_until_2026-04-29"
}
]
}
重要——保存 sessionId。用户后续调用(search-room、book-hotel)时需要用到它。
向用户展示结果
以简洁、易浏览的列表展示结果,包括名称、每晚价格、评分和一项显著特色。不要直接输出原始 JSON。示例:
在东京找到 5 家酒店,日期为 5 月 1 日至 5 月 5 日:
- Park Hyatt Tokyo — $450/晚 · 9.2/10 · 4 月 29 日前可免费取消
- Hotel Gracery Shinjuku — $180/晚 · 8.5/10 · 免费早餐
- ...
您想查看其中任何一家酒店的房型,还是直接预订?
始终明确提出下一步:查看房型(search-room 技能)或直接预订(book-hotel 技能)。
常见错误
Network error— Travel API 无法访问。告知用户并询问是否要重试。400 Bad Request— 通常是日期无效(退房日期早于入住日期,或日期已过)。重新验证输入并再次询问用户。No hotels found— 尝试更宽泛的地点或更换日期。
评论
支持 Markdown