mcpField
P
pricewin-price-comparison

pricewin-price-comparison

github.com/price-win生产力210.5k 次安装11 周前更新
代码仓库

关于 pricewin-price-comparison

pricewin-price-comparison 是依赖 pricewin MCP 服务的酒店比价技能,适用于按城市或指定酒店查询价格的旅行规划。它指导客户端跨 Booking.com、Agoda、Traveloka 和 OpenTravel 返回的数据进行比较;技能本身不发起网络请求。

主要功能

  1. 01按城市查询酒店价格
  2. 02查询指定酒店详情
  3. 03比较多个来源的价格
  4. 04查询 OpenTravel 取消政策

适用场景

  1. 01比较某城市指定日期的酒店价格
  2. 02核对指定酒店在 OTA 的房价
  3. 03查看 OpenTravel 房价的取消期限

MCP 相关

此技能要求连接 pricewin MCP 服务,并通过其工具查询酒店和价格。查询数据发送至 PriceWin 托管的 MCP 服务;技能本身不进行网络调用。

安装

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

$npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-price-comparison

安装后在 Claude Code 中输入/pricewin-price-comparison确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference.md
SECURITY.md
skill-card.md

详细介绍

需要 pricewin MCP 服务。此技能本身不会发起网络请求。

价格比较

MCP 服务: pricewin。比较 Booking.com、Agoda、Traveloka(爬取)以及 OpenTravel(直接 API)的实时价格。

比较需要基于返回的来源进行——服务端没有比较调用。根据用户提供的信息选择入口:

用户提供的信息工具
城市——“比较岘港的酒店价格”search_hotels_live → poll_search_results
酒店名称——“美居岘港在 Agoda 还是 Booking 上更便宜?”get_ota_hotel_detail
已确认是 OpenTravel 直连的酒店(source: "OPENTRAVEL_DIRECT",且有 propertyId)get_hotel_detail

全城比较

search_hotels_live 会立即返回 sessionId——不会返回酒店。

  1. search_hotels_live——必填:city、checkIn、checkOut(YYYY-MM-DD)。可选:adults(默认值为 2)、rooms、area、hotelName、priceMin、priceMax、language
  2. 等待 5 秒 → poll_search_results(sessionId, nights)
  3. 当 status 为 pending 或 partial 时:等待 5 秒后再次轮询——最多 18 次(90 秒)
  4. 一旦 status == "partial" 且有酒店,就立即呈现;继续静默轮询并完善结果

然后按酒店对比各来源的价格。完整的去重与呈现规范请参见 pricewin-hotel-search;此处请勿另行描述。

单家指定酒店

get_ota_hotel_detail——用于用户指定的某家 Booking.com/Agoda 酒店。

  • 必填:checkIn、checkOut。只要已知,就传入 hotelName、city 和 queryText(用户原话)
  • 不要对指定酒店调用 search_hotels_live——该工具会返回全城列表
  • 实时爬取,约需 20–60 秒。在实际返回结果前,不要提及“正在加载”
  • 加速方式:如果之前的搜索已提供 prices.booking.url,将其作为 propertyUrl 传入,以跳过名称解析
  • 如果在负载较高时返回未找到,请只重试一次

返回该酒店的客房、价格、设施、照片和评价。

OpenTravel 直连酒店

get_hotel_detail——仅用于 source: "OPENTRAVEL_DIRECT" 的结果。

  • 有 propertyId 时传入该参数(UUID 来自 opentravelResults[].propertyId)
  • hotelName + city 仅可作为已确认是 OpenTravel 直连酒店时的备用参数
  • 必填:checkIn、checkOut。可选:adults、children、language
  • 返回包含 roomTypeId 和 ratePlanId 的房型——这些信息可用于预订酒店

⚠️ 路由规则:有 propertyId → get_hotel_detail。只有名称 → get_ota_hotel_detail。

取消条款

仅适用于 OpenTravel 价格方案:get_cancellation_policy(propertyId, ratePlanId, checkInDate) → 不可退款标记、免费取消期限、退款比例和计算得出的截止时间。

ratePlanId 来自 get_hotel_detail → roomTypes[].ratePlanId。请传入 checkInDate, 否则不会返回截止时间。OTA 酒店没有结构化政策——请按爬取结果说明。

呈现比较结果

  • 仅按价格排序,不优先考虑任何来源,包括 OpenTravel
  • 最便宜的来源放在最前面,其余来源依次列出: Agoda $X · Booking $Y · OpenTravel $Z
  • 与次低价相比的节省比例:(次低价 - 最低价) / 次低价 * 100 → “节省 Z%”
  • 价差较小时,优先选择可免费取消的选项,并说明原因
  • 除非工具另有说明,否则所有价格均为美元。不进行货币换算

工具输入和响应字段: reference.md。

安全与数据处理

仅包含文档——没有代码、依赖项,也不会自行发起网络请求。唯一发送的数据是比较查询(城市或酒店名称、日期、入住人数,以及 queryText——用户消息的原文),发送至 PriceWin 托管的 MCP 服务 https://mcp.price.win/mcp(无需凭据或账户)。不包含任何个人身份信息,此技能无法预订或支付任何费用。完整披露信息——运营方、后端来源、各工具的具体字段——请参阅 SECURITY.md。

评论

支持 Markdown