Skill: jixinda/flyai-price-compare (version 1.2.0)

--- name: flyai-price-compare description: 使用 FlyAI 进行高铁票和飞机票比价，给用户推荐最优出行方式。以明天出发的高铁票（时间最短车次）为基准价进行对比。支持弃程票搜索和前后一天价格对比。 license: MIT --- # FlyAI 高铁 vs 飞机比价 ## 核心功能 使用 FlyAI 搜索高铁票和机票，进行价格和时间对比，给用户推荐最优出行方式。 ## 比价逻辑 ### 1. 基准价设定 **以明天出发的高铁票为基准**： - 搜索明天（或用户指定日期）的高铁车次 - 选择**时间最短**的车次作为基准 - 记录该车次的：价格、时长、出发/到达时间 ### 2. 机票搜索（含前后一天比价） **搜索 3 天的机票价格**： - 用户指定日期 D - 搜索 D-1、D、D+1 三天的机票 - 直飞航班优先 - 筛选合理时间段（如 6:00-23:00） - 记录每天的最低价格航班 **目的**：帮助用户选择最便宜的出行日期，有时提前或推后一天能省很多钱。 ### 2.5 弃程票搜索（可选） **核心定义**（来自 flyai-skipticket）： - **弃程票**：中转城市 = 实际目的地，在中转城市下机，放弃后续航段 - **示例**：想去昆明，买北京→昆明→曼谷联程票，在昆明下机 - **对比对象**：只对比直飞价格和弃程票价格，不展示普通中转票 **搜索策略**： 1. **直飞搜索**：出发地 → 实际目的地（如北京→昆明） 2. **弃程票搜索**：出发地 → 更远城市（中转城市=实际目的地） - 示例：北京→昆明→曼谷（昆明是中转城市=实际目的地） **"更远城市"Y 的选择策略**（完整来自 flyai-skipticket）： #### 策略 1：目的地附近省份的省会城市 对于实际目的地 X，选择 X 周边省份的省会作为 Y： | 实际目的地 X | 附近省份省会 Y（推荐搜索顺序） | |-------------|----------------------| | 西安（陕西） | 成都（四川）、重庆（直辖市）、兰州（甘肃）、银川（宁夏）、太原（山西）、郑州（河南）、武汉（湖北） | | 成都（四川） | 重庆、昆明（云南）、贵阳（贵州）、西安（陕西）、兰州（甘肃） | | 重庆 | 成都、贵阳、昆明、西安、兰州 | | 武汉（湖北） | 长沙（湖南）、郑州（河南）、合肥（安徽）、南昌（江西）、西安（陕西） | | 长沙（湖南） | 武汉、广州（广东）、南宁（广西）、贵阳、南昌 | | 郑州（河南） | 武汉、西安、太原、石家庄、济南（山东） | | 济南（山东） | 郑州、石家庄（河北）、太原、北京、天津 | | 南京（江苏） | 上海、杭州（浙江）、合肥、武汉、郑州 | | 杭州（浙江） | 上海、南京、福州（福建）、南昌、合肥 | | 广州（广东） | 南宁（广西）、海口（海南）、福州、南昌、长沙 | | 昆明（云南） | 贵阳、成都、重庆、南宁、拉萨（西藏） | | 厦门（福建） | 福州、杭州、上海、南昌、广州 | #### 策略 2：本省份的热门城市/旅游城市 对于实际目的地 X（非省会），选择本省份的省会或热门旅游城市作为 Y： | 实际目的地 X | 本省热门城市 Y | |-------------|---------------| | 青岛（山东） | 济南、烟台、威海 | | 大连（辽宁） | 沈阳、丹东 | | 厦门（福建） | 福州、泉州 | | 深圳（广东） | 广州、珠海 | | 宁波（浙江） | 杭州、温州 | | 苏州（江苏） | 南京、无锡 | | 北海（广西） | 南宁、桂林 | | 三亚（海南） | 海口 | | 丽江（云南） | 昆明、大理、西双版纳 | | 桂林（广西） | 南宁、柳州 | | 珠海（广东） | 广州、深圳 | | 烟台（山东） | 济南、青岛 | | 威海（山东） | 济南、青岛 | #### 策略 3：跨省热门旅游城市 一些热门旅游城市本身就是很好的"更远城市"选项： | 热门旅游城市 Y | 可作为 Y 的中转城市 X | |---------------|---------------------| | 北海（广西） | 南宁、桂林、贵阳、昆明 | | 三亚（海南） | 海口、广州、南宁 | | 丽江（云南） | 昆明、大理、成都、重庆 | | 西双版纳（云南） | 昆明、成都、重庆 | | 厦门（福建） | 福州、杭州、上海 | | 青岛（山东） | 济南、北京、上海 | | 大连（辽宁） | 沈阳、北京 | | 桂林（广西） | 南宁、贵阳、长沙 | **FlyAI 搜索命令示例**： ```bash # 直飞 flyai search-flight --origin 北京 --destination 昆明 --dep-date 2026-05-01 # 弃程票（昆明是中转城市=实际目的地） # 策略 1：附近省份省会 flyai search-flight --origin 北京 --destination 成都 --dep-date 2026-05-01 --journey-type 2 flyai search-flight --origin 北京 --destination 重庆 --dep-date 2026-05-01 --journey-type 2 flyai search-flight --origin 北京 --destination 贵阳 --dep-date 2026-05-01 --journey-type 2 # 策略 3：热门旅游城市 flyai search-flight --origin 北京 --destination 曼谷 --dep-date 2026-05-01 --journey-type 2 flyai search-flight --origin 北京 --destination 三亚 --dep-date 2026-05-01 --journey-type 2 ``` **注意**：FlyAI 搜索时，目的地是联程票的最终目的地 Y，中转城市是用户实际想去的地方 X。 **推荐规则**： - 如弃程票价格 < 直飞价格 * 0.8，推荐弃程票方案（便宜 20%+） - 必须清晰告知风险和限制 **⚠️ 重要风险提示**（必须告知用户）： 1. **不可托运行李** - 行李直挂最终目的地，只能手提行李 2. **后续航段取消** - 放弃任何非最后一段，航空公司会取消所有后续航段（含返程） 3. **常旅客风险** - 可能影响里程、会员资格，甚至被禁飞 4. **航班变动风险** - 如原航班取消，航司可能改签不经过实际目的地的航线 5. **违反承运合同** - 虽不违法，但违反航司合同条款 **最佳实践**：仅用于单程票，或往返票的回程最后一段。 ### 3. 对比维度 | 维度 | 高铁 | 飞机 | |------|------|------| | 价格 | 基准价 | 最低价 | | 时长 | 高铁行驶时间 | 飞行时间 + 往返机场 + 安检候机（通常 +3 小时） | | 舒适度 | 座位宽敞、可走动 | 空间有限、起降耳压 | | 准点率 | 高（>95%） | 中（受天气影响） | | 便利性 | 市区到市区 | 郊区机场，需额外交通 | | 行李 | 宽松 | 有限制，托运额外收费 | ### 4. 推荐规则 ``` # 基础比价 if 机票价格 < 高铁价格 * 0.8: 推荐飞机（便宜 20% 以上） elif 机票价格 < 高铁价格: if 总时长（飞机）< 总时长（高铁）: 推荐飞机（更便宜且更快） else: 推荐高铁（时间相近，高铁更舒适） elif 机票价格 < 高铁价格 * 1.3: if 总时长（飞机）< 总时长（高铁）* 0.6: 推荐飞机（贵一点但快很多） else: 推荐高铁（性价比更高） else: 推荐高铁（明显更便宜） # 弃程票检查 if 弃程票价格 < 直飞价格 * 0.8: 提示弃程票选项（便宜 20%+），但告知风险 # 前后一天比价 if D-1 或 D+1 价格 < D 价格 * 0.8: 推荐调整日期（提前/推后一天能省 20%+） ``` ## 总时长计算 ### 高铁总时长 ``` 高铁总时长 = 高铁行驶时间 + 市区到火车站（约 30 分钟） ``` ### 飞机总时长 ``` 飞机总时长 = 飞行时间 + 市区到机场（约 60 分钟） + 安检候机（约 90 分钟） + 机场到市区（约 60 分钟） = 飞行时间 + 约 3.5 小时 ``` ## 输出格式 ### 推荐结果 ```markdown ## 🚄 vs ✈️ 出行方式对比 ### 📍 行程：[出发地] → [目的地] ### 📅 日期：[出发日期] --- ### 🚄 高铁（推荐 ✓） **车次**：Gxxx **时间**：HH:MM - HH:MM（x 小时 x 分） **价格**：¥xxx（二等座） **总时长**：约 x 小时（含市区交通） **优势**： - ✅ 市区到市区，交通便利 - ✅ 准点率高，不受天气影响 - ✅ 座位宽敞，可自由走动 - ✅ 无需提前很久到站 --- ### ✈️ 飞机 **航班**：xxxx **时间**：HH:MM - HH:MM（飞行 x 小时 x 分） **价格**：¥xxx（经济舱） **总时长**：约 x 小时（含往返机场 + 安检） **劣势**： - ❌ 机场较远，往返需约 2 小时 - ❌ 需提前 90 分钟到机场 - ❌ 受天气影响可能延误 --- ### 📅 前后一天价格对比（如适用） | 日期 | 最低机票 | 差价 | 建议 | |------|---------|------|------| | D-1（提前 1 天） | ¥xxx | -¥xxx | ⭐ 更便宜 | | D（原定） | ¥xxx | - | - | | D+1（推后 1 天） | ¥xxx | +¥xxx | - | **建议**：[如调整日期能省多少钱，是否值得] --- ### 🎫 弃程票选项（如适用） **直飞价格**： | 航班 | 价格 | 时间 | |------|------|------| | [航班号] | ¥xxx | HH:MM-HH:MM | **弃程票选项**（中转城市=实际目的地）： | 联程路线 | 价格 | 相比直飞 | 节省 | |---------|------|---------|------| | [出发地]→[实际目的地]→[更远城市 1] | ¥xxx | -¥xxx | ✅ 省 xx% | | [出发地]→[实际目的地]→[更远城市 2] | ¥xxx | +¥xxx | ❌ 无优惠 | **推荐**： ✅ [联程路线] ¥xxx，可在 [实际目的地] 下机，省¥xxx ⚠️ **风险提示**： - 不可托运行李（行李直挂最终目的地） - 放弃后续航段，航司会取消所有后续航段（含返程） - 可能影响常旅客里程和会员资格 - 仅推荐用于单程票或往返票的回程最后一段 **建议**：[如弃程票便宜 20% 以上且用户无行李，可考虑；否则不推荐] --- ### 💡 推荐理由 [根据比价逻辑给出具体推荐原因] **价格对比**：高铁 ¥xxx vs 飞机 ¥xxx（差价 ¥xxx） **时间对比**：高铁 x 小时 vs 飞机 x 小时（含往返机场） **综合建议**：[具体建议] ``` ## 特殊情况处理 ### 1. 无高铁直达 - 搜索高铁中转方案 - 如中转总时长 > 飞机总时长 * 1.5，直接推荐飞机 ### 2. 无直飞航班 - 搜索中转航班 - 中转航班总时长 = 飞行时间 + 中转等待时间 + 额外机场时间 - 如中转等待 > 3 小时，提示用户高铁可能更舒适 ### 3. 价格波动大 - 提示用户机票价格实时变动 - 建议观望或尽快下单 ### 4. 特殊日期（春运、节假日） - 高铁票难买，提示提前抢票 - 机票价格可能翻倍，提示错峰出行 ### 5. 前后一天价差大 - 如 D-1 或 D+1 便宜 20% 以上，强烈推荐调整日期 - 计算调整日期的额外成本（如请假、住宿） - 给出净节省金额 ### 6. 弃程票可用 **判断标准**（来自 flyai-skipticket）： - 弃程票价格 < 直飞价格 * 0.8（便宜 20% 以上）→ 推荐 - 弃程票价格 >= 直飞价格 * 0.8 → 不推荐，直飞更省心 **操作流程**： 1. 确定实际目的地 X（如昆明） 2. 选择更远城市 Y（如曼谷、新加坡、成都、重庆等） 3. 搜索出发地→Y 的联程票（中转城市=X） 4. 对比联程票价格 vs 直飞 X 价格 5. 如便宜 20% 以上，展示弃程票选项并告知风险 **必须告知的风险**： - ⚠️ 不可托运行李（行李直挂最终目的地 Y） - ⚠️ 放弃后续航段会导致所有后续航段取消（含返程） - ⚠️ 可能影响常旅客里程和会员资格 - ⚠️ 违反航司承运合同条款（虽不违法） - ⚠️ 航班变动时航司可能改签不经过 X 的航线 **推荐人群**： - ✅ 单程出行、无托运行李、预算有限 - ❌ 往返票去程、有托运行李、航司高级会员 ## 使用场景 用户询问以下问题时触发： - "[A] 到 [B] 坐高铁还是飞机？" - "[A] 到 [B] 怎么走最划算？" - "帮我对比一下高铁和飞机的价格" - "明天去 [B]，推荐高铁还是飞机" - "[A] 到 [B] 有没有便宜的机票/弃程票" - "帮我看看前后几天的价格，哪天最便宜" - "[A] 到 [B] 有没有隐藏城市票/跳城票" - "预算有限，怎么买票最便宜" ## 示例 ### 示例 1：基础比价 **输入**： ``` 北京到上海，明天出发，高铁还是飞机？ ``` **处理流程**： 1. 搜索明天北京→上海高铁，找到最快车次（如 G1，4 小时 18 分，¥662） 2. 搜索明天北京→上海机票，找到最低价（如 ¥450，飞行 2 小时 10 分） 3. 计算总时长： - 高铁：4h18m + 30m = 约 5 小时 - 飞机：2h10m + 3h30m = 约 6 小时 4. 对比： - 价格：飞机便宜 ¥212（32% off） - 时间：高铁更快 1 小时 5. 推荐：根据用户偏好给出建议 --- ### 示例 2：含弃程票 + 前后一天比价 **输入**： ``` 北京到昆明，5 月 1 日出行，帮我对比高铁和飞机，看看有没有便宜的选择 ``` **处理流程**： 1. **高铁搜索**： - 搜索 5 月 1 日北京→昆明高铁 - 最快：G403，11h28m，¥1,147.5（二等座） 2. **机票搜索（3 天比价）**： - 4 月 30 日：最低¥1,535（3U3125，中转） - 5 月 1 日：最低¥1,300（CA4174，红眼） - 5 月 2 日：最低¥775（3U8282，红眼） - **发现**：推后一天能省¥525（40% off）⭐ 3. **弃程票搜索**（参考 flyai-skipticket 策略）： - 昆明是实际目的地，搜索北京→昆明→更远城市 - 更远城市选择：贵阳、成都、重庆 - 搜索北京→成都（经昆明中转）联程票 - **结论**：本次未发现昆明作为中转城市的弃程票优惠 4. **对比分析**： - 高铁：¥1,147.5，12 小时 - 飞机（5/1）：¥1,300，7.5 小时 - 飞机（5/2）：¥775，7.5 小时 ⭐ 最便宜 - 弃程票：无优惠 5. **推荐**： - 性价比最高：5 月 2 日飞机（¥775） - 如必须 5 月 1 日：高铁（¥1,147.5）比飞机（¥1,300）便宜¥152.5 - 弃程票：本次无优惠 ### 输出 ```markdown ## 🚄 vs ✈️ 北京→上海 出行对比 ### 📅 明天（2026-04-14）出发 --- ### 🚄 高铁（时间更短 ✓） **车次**：G1 **时间**：09:00 - 13:18（4 小时 18 分） **价格**：¥662（二等座） **总时长**：约 5 小时 **优势**： - ✅ 更快（比飞机少 1 小时） - ✅ 北京南→上海虹桥，市区直达 - ✅ 准点率>98% --- ### ✈️ 飞机（价格更低 ✓） **航班**：CA1501 **时间**：11:00 - 13:10（飞行 2 小时 10 分） **价格**：¥450（经济舱，3.5 折） **总时长**：约 6 小时 **优势**： - ✅ 便宜 ¥212（省 32%） - ✅ 飞行时间短 **劣势**： - ❌ 首都机场较远 - ❌ 需提前 90 分钟到机场 --- ### 💡 推荐建议 **追求时间** → 选高铁（快 1 小时，市区直达） **追求性价比** → 选飞机（省¥212，适合不赶时间） **我的建议**：差价不大（¥212），高铁更舒适准点，推荐高铁。 ``` ## 注意事项 1. **价格时效性**：机票价格实时变动，告知用户仅供参考 2. **高铁票紧张**：节假日提示提前购票（提前 15 天开售） 3. **天气因素**：雷雨季节提示飞机可能延误 4. **行李需求**：大件行李推荐高铁（无额外费用） 5. **报销需求**：询问是否需要报销凭证（高铁票更易获取） 6. **弃程票风险**（来自 flyai-skipticket）： - **不可托运行李** - 行李直挂最终目的地，只能手提行李 - **后续航段取消** - 放弃任何非最后一段，航空公司会取消所有后续航段（含返程） - **常旅客风险** - 可能影响里程、会员资格，甚至被禁飞 - **航班变动风险** - 如原航班取消，航司可能改签不经过实际目的地的航线 - **违反承运合同** - 虽不违法，但违反航司合同条款 - **最佳实践** - 仅用于单程票，或往返票的回程最后一段 7. **前后一天比价**： - 如价差>20%，强烈推荐调整日期 - 提醒用户考虑额外住宿/请假成本 - 计算净节省金额


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)