用途:当用户想找住宿时触发本技能,例如按城市、日期、星级或人数搜索酒店。不适用于航班、旅游团、餐厅等非住宿查询。
主要能力:通过 travel-cli 搜索酒店,返回匹配酒店的列表,包含价格、评分以及用于预订或查看房型的 ID。支持按地点、入住/退房日期、入住人数、价格区间和筛选条件查询。
使用方式:需先确保 travel-cli 可用,通过 npx 调用: npx @tvl-justin/travel-cli@latest search-hotel --location "<city or destination>" --checkin <YYYY-MM-DD> --checkout <YYYY-MM-DD> --rooms "<occupancy>" --limit 5 若已全局安装(npm install -g @tvl-justin/travel-cli),可直接调用 travel-cli。
参数规则:--location 必填,使用用户给出的最具体地点;--checkin/--checkout 必填,格式 YYYY-MM-DD,相对日期需先换算;--rooms 为入住字符串,如 "2" 表示 1 间房 2 名成人,"2,5" 表示 2 名成人加 1 名 5 岁儿童,多间房用分号分隔,默认 "2";--limit 默认 5,可增至 10;--min-price/--max-price 为每晚美元价格,其他货币需先换算;--filters 支持 free_breakfast、swimming_pool、ocean_view、all_inclusive,仅包含用户明确要求的筛选;--lat/--lng 为可选坐标。
输出:CLI 向 stdout 打印 JSON,含 sessionId 和 hotels 数组,每个酒店有 hotelId、name、rating、star、pricePerNight、totalPrice、currency、packageId、refundability。需保存 sessionId 供后续 search-room、book-hotel 调用。向用户展示时应整理为简洁列表,不要直接输出原始 JSON,并给出查看房型或预订的下一步。
限制:若用户只给目的地未给日期,需询问一次入住和退房日期(或入住日期加时长);除非问题暗示非默认人数,否则不必询问入住人数。常见错误包括网络错误、400 错误(日期无效)和无结果,需相应提示或调整条件。