mcpField
P
pricewin-flight-search

pricewin-flight-search

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

关于 pricewin-flight-search

pricewin-flight-search 是供 Agent 配合 pricewin MCP 服务搜索实时机票价格的技能。它指导跨 Agoda、Trip.com 和 Traveloka 的异步搜索,并规定轮询、票价展示和预订链接的处理方式。

主要功能

  1. 01跨三个旅游网站搜索实时票价
  2. 02轮询异步搜索结果
  3. 03要求使用 IATA 机场代码
  4. 04规范票价和预订链接的展示
  5. 05区分全体乘客总价与人均价

适用场景

  1. 01比较计划路线的机票价格
  2. 02分别搜索去程和返程航段
  3. 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.sh
reference.md
SECURITY.md
skill-card.md

详细介绍

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

设置(每台机器仅需一次)

如果未注册 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,此时没有航班。

  1. 使用出发地、目的地、departureDate(YYYY-MM-DD)调用 search_flights_live;仅往返行程需要提供 returnDate。根据需要添加 adults、cabin、language="vi"。
  2. 调用 poll_flight_results(sessionId)。此工具会在内部阻塞最多约 30 秒,并在首批票价到达时立即返回——调用前不要休眠。
  3. status 的值为 pending | searching | completed | failed。如果返回 searching,且航班很少或没有,请再次调用,最多再调用 4 次。
  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。

评论

支持 Markdown