FlyAI 高铁飞机比价

Other

使用 FlyAI 进行高铁票和飞机票比价,给用户推荐最优出行方式。以明天出发的高铁票(时间最短车次)为基准价进行对比。支持弃程票搜索和前后一天价格对比。

Install

openclaw skills install flyai-price-compare

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 搜索命令示例

# 直飞
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 小时

输出格式

推荐结果

## 🚄 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
    • 弃程票:本次无优惠

输出

## 🚄 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%,强烈推荐调整日期
    • 提醒用户考虑额外住宿/请假成本
    • 计算净节省金额