详细分析 ▾
运行时依赖
版本
- 新增前后一天机票比价功能,帮助用户选择更经济的出行日期。 - 集成弃程票(跳城票)搜索与推荐,并附详细风险提示和判断标准。 - 明确比价推荐规则,从价格和时间等多维度综合对比高铁与飞机。 - 输出格式与推荐流程更规范,全面覆盖使用场景与注意事项。 - 更新适用城市及“更远城市”选择策略,优化比价与弃程票搜索范围。
安装命令
点击复制技能文档
核心功能
使用 FlyAI 搜索高铁票和机票,进行价格和时间对比,给用户推荐最优出行方式。比价逻辑
1. 基准价设定
以明天出发的高铁票为基准:- 搜索明天(或用户指定日期)的高铁车次
- 选择时间最短的车次作为基准
- 记录该车次的:价格、时长、出发/到达时间
2. 机票搜索(含前后一天比价)
搜索 3 天的机票价格:- 用户指定日期 D
- 搜索 D-1、D、D+1 三天的机票
- 直飞航班优先
- 筛选合理时间段(如 6:00-23:00)
- 记录每天的最低价格航班
目的:帮助用户选择最便宜的出行日期,有时提前或推后一天能省很多钱。
2.5 弃程票搜索(可选)
核心定义(来自 flyai-skipticket):- 弃程票:中转城市 = 实际目的地,在中转城市下机,放弃后续航段
- 示例:想去昆明,买北京→昆明→曼谷联程票,在昆明下机
- 对比对象:只对比直飞价格和弃程票价格,不展示普通中转票
搜索策略:
- 直飞搜索:出发地 → 实际目的地(如北京→昆明)
- 弃程票搜索:出发地 → 更远城市(中转城市=实际目的地)
"更远城市"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%+)- 必须清晰告知风险和限制
⚠️ 重要风险提示(必须告知用户):
不可托运行李 - 行李直挂最终目的地,只能手提行李- 后续航段取消 - 放弃任何非最后一段,航空公司会取消所有后续航段(含返程)
- 常旅客风险 - 可能影响里程、会员资格,甚至被禁飞
- 航班变动风险 - 如原航班取消,航司可能改签不经过实际目的地的航线
- 违反承运合同 - 虽不违法,但违反航司合同条款
最佳实践:仅用于单程票,或往返票的回程最后一段。
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% 以上且用户无行李,可考虑;否则不推荐] ---
💡 推荐理由
[根据比价逻辑给出具体推荐原因]
``