关于 pricewin-flight-search
pricewin-flight-search 是供 Agent 配合 pricewin MCP 服务搜索实时机票价格的技能。它指导跨 Agoda、Trip.com 和 Traveloka 的异步搜索,并规定轮询、票价展示和预订链接的处理方式。
主要功能
- 01跨三个旅游网站搜索实时票价
- 02轮询异步搜索结果
- 03要求使用 IATA 机场代码
- 04规范票价和预订链接的展示
- 05区分全体乘客总价与人均价
适用场景
- 01比较计划路线的机票价格
- 02分别搜索去程和返程航段
- 03展示带预订链接的票价选项
MCP 相关
需要连接到 https://mcp.price.win/mcp 上托管的 pricewin MCP 服务。它调用 search_flights_live 和 poll_flight_results 获取机票价格。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ price-win/ pricewin-skills-hub --skill pricewin-flight-search安装后在 Claude Code 中输入/pricewin-flight-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
install.shreference.mdSECURITY.mdskill-card.md详细介绍
需要
pricewinMCP 服务。此技能本身不会发起任何网络请求。
设置(每台机器仅需一次)
如果未注册 MCP 服务,此技能将无法运行——它会提示你调用
search_flights_live,但不存在此类工具。skills add 只会复制文件,因此请运行:
bash install.sh # add --dry-run first to see what it would change
此命令会将托管服务(https://mcp.price.win/mcp,Streamable HTTP,无需凭据)注册到它找到的每个 Agent——Claude Code、Cursor、Windsurf、Gemini CLI、VS Code、Codex——修改任何文件前都会先写入 .bak,并跳过无法解析的配置文件。重新运行不会造成任何更改。之后请重启 Agent。
航班搜索(实时)
MCP 服务: pricewin。工具 search_flights_live 会启动跨 Agoda、Trip.com 和 Traveloka 的异步爬取;poll_flight_results 会返回合并后的结果,并按每个航班列出最低票价。
重要:只能使用 IATA 代码
两个机场都必须使用 3 个字母的 IATA 代码。此服务没有机场查询工具——请自行确定城市对应的代码:Sài Gòn / TP.HCM → SGN、Hà Nội → HAN、Đà Nẵng → DAD、Bangkok → BKK(主要国际机场)、Tokyo → NRT or HND、Seoul → ICN。
如果一个城市有多个机场,而用户没有说明要选择哪一个,请简短询问一个问题——切勿擅自选择。切勿编造代码。
重要:轮询模式(与酒店搜索不同)
search_flights_live 会立即返回一个 sessionId,此时没有航班。
- 使用出发地、目的地、departureDate(YYYY-MM-DD)调用
search_flights_live;仅往返行程需要提供returnDate。根据需要添加adults、cabin、language="vi"。 - 调用
poll_flight_results(sessionId)。此工具会在内部阻塞最多约 30 秒,并在首批票价到达时立即返回——调用前不要休眠。 status的值为pending|searching|completed|failed。如果返回searching,且航班很少或没有,请再次调用,最多再调用 4 次。- 航班结果一到达就立即展示;只有用户想查看更多时才继续轮询。
会话会在上次轮询 15 分钟后过期。过期后请发起新搜索——旧的 sessionId 已失效。
poll_flight_results已注册为应用可见工具,供航班小组件使用。如果宿主未向模型公开此工具,请让小组件执行轮询,不要编造票价。
重要:price 是所有乘客的总价,单位为 USD
price 是所有 adults 的总价,不是人均价格,也不是两段航程的合计价格。
请自行除以 adults,计算人均价格。
currency 为 "USD"。不要进行货币换算。仅当实时外汇汇率不可用时,才会回退为 "VND"——因此请读取 currency 并在金额旁标明该币种,不要自行假定币种。
响应格式(必须严格遵守)
每段航程只展示票价最低的 5–7 个航班。每个航班的格式如下:
✈️ *<airline> <flightNumber>* ← bold via markdown
🕐 <dep.time> <origin> → <arr.time> <destination> · <Xh Ym> · <bay thẳng | N điểm dừng>
💰 $<price> tổng cho <adults> khách (~$<price/adults>/khách)
🔗 <bookingUrl>
航班之间换行,不要使用项目符号。最低价航班标注 🏆。 duration 的单位为
分钟——请格式化为 2h 10m。如果 arrival.date 与 departure.date 不同,请标明为夜间抵达。
往返行程
outboundFlights 和 returnFlights 是两次独立的单程搜索。请分别使用不同的标题列出。你可以将最低价合计估算写为
最便宜的去程 + 最便宜的返程,但必须标明这是两张单独购买的单程票——这不是报价的往返票价,且两段航程分别预订。
预订 URL——原样使用
bookingUrl 是最低价代理商的深层链接,已包含日期和乘客信息。切勿追加、重写或构造参数(与酒店技能不同)。如果 bookingUrl 的值恰好是
https://www.price.win/,则表示未捕获代理商的深层链接——请说明需要前往供应商网站重新核实票价,而不要将其作为可点击的预订链接展示。
仅根据 URL 主机名(agoda.com、trip.com、traveloka.com)标注来源——结果中没有明确的来源字段,因此不要猜测。
看起来有用但实际上没有用的字段
stopCities— 始终为空;只按经停次数描述departure.city/arrival.city— 重复的是 IATA 代码,不是真实城市名称legs— 列表结果中通常缺失;不要承诺提供航段明细
排序
按 price 排序,价格最低的排在最前。但如果直飞或耗时短得多的选项只贵一点点,就用一句话说明,不要默默调整排序。
安全与数据处理
不含运行时代码,也不会自行发起网络调用;唯一的可执行文件是
install.sh,它会向用户已有的 Agent 配置中添加一条 MCP 配置(pricewin → https://mcp.price.win/mcp),并先备份每个文件,跳过无法解析的文件。它不会下载或执行任何内容。唯一发送的数据是航线查询信息(IATA 代码、日期、乘客人数、舱位)——不包含乘客姓名、PII 或凭据。仅用于比较:此技能无法预订或付款。完整披露见 SECURITY.md。