关于 google-flights
此技能通过 agent-browser 命令行搜索 Google Flights,供处理航班价格、时刻和余位查询的 Agent 使用。它支持通过 URL 搜索并整理结果,但不代为完成预订。
主要功能
- 01查询价格、时刻和余位
- 02搜索单程与往返航班
- 03比较经济舱与商务舱
- 04提取预订链接
- 05用 Markdown 表格呈现结果
适用场景
- 01比较指定日期的城市间票价
- 02查询航班时刻和余位
- 03查找 Southwest 现金票价
MCP 相关
该技能未说明 MCP 集成;它通过 agent-browser 命令行访问 Google Flights。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ borski/ travel-hacking-toolkit --skill google-flights安装后在 Claude Code 中输入/google-flights确认已加载。
详细介绍
Google Flights 搜索
通过 agent-browser 搜索 Google Flights,查找航班价格、时刻表和可用情况。
前置条件
需要 agent-browser CLI:
npm install -g agent-browser && agent-browser install
适用场景
- 用户要求搜索、查找或比较航班或机票价格
- 用户想了解城市之间的航班价格
- 用户询问航班时刻表或可用情况
- 用户想查找特定日期最便宜的航班
- Southwest 航班:Google Flights 是少数能查询 SW 现金票价的来源之一。GDS 或 API 均无法提供 Southwest 航班信息。
不适用场景
- 完成购买:此技能会查找航班并提取预订链接,但不要尝试在预订网站上完成购买。
- 酒店/租车:搜索非航班类旅行服务时,请使用其他工具。
- 历史价格数据:Google Flights 显示当前价格,不提供历史价格。
会话约定
- 经济舱 + 商务舱比较(默认):
--session econ和--session biz - 单一舱位搜索:
--session flights - 交互式备用方案:
--session flights
快速路径:基于 URL 的搜索(首选)
构造带有自然语言 ?q= 参数的 URL。可直接加载结果,总共需要 3 条命令。
URL 模板
https://www.google.com/travel/flights?q=Flights+from+{ORIGIN}+to+{DEST}+on+{DATE}[+returning+{DATE}][+one+way][+business+class][+N+passengers][&gl=XX]
默认:经济舱 + 商务舱比较
并行运行两个会话(经济舱和商务舱),以显示价格差异:
# Launch both in parallel
agent-browser --session econ open "https://www.google.com/travel/flights?q=Flights+from+BKK+to+NRT+on+2026-03-20+returning+2026-03-27" &
agent-browser --session biz open "https://www.google.com/travel/flights?q=Flights+from+BKK+to+NRT+on+2026-03-20+returning+2026-03-27+business+class" &
wait
# Wait for both to load
agent-browser --session econ wait --load networkidle &
agent-browser --session biz wait --load networkidle &
wait
# Snapshot both
agent-browser --session econ snapshot -i
agent-browser --session biz snapshot -i
# Close biz (only needed for delta column); keep econ alive for booking links
agent-browser --session biz close
单程
在 URL 中添加 +one+way:
agent-browser --session flights open "https://www.google.com/travel/flights?q=Flights+from+LAX+to+LHR+on+2026-04-15+one+way"
agent-browser --session flights wait --load networkidle
agent-browser --session flights snapshot -i
URL 支持的功能
| 功能 | URL 语法 | 状态 |
|---|---|---|
| 往返 | +returning+YYYY-MM-DD | 可用 |
| 单程 | +one+way | 可用 |
| 商务舱 | +business+class | 可用 |
| 头等舱 | +first+class | 可用 |
| N 位乘客 | +N+passengers | 可用 |
| 成人 + 儿童 | +2+adults+1+child | 可用 |
| IATA 代码 | BKK、NRT、LAX | 可用 |
| 城市名称 | Bangkok、Tokyo | 可用 |
| YYYY-MM-DD 格式的日期 | 2026-03-20 | 可用(最佳) |
| 市场/区域设置 | &gl=TH(国家代码) | 可用 |
| 超级经济舱 | +premium+economy | 不支持 |
| 多城市 | N/A | 不支持 |
从快照读取结果
每个航班都会显示为带有完整描述的 link 元素:
link "From 20508 Thai baht round trip total. Nonstop flight with Air Japan.
Leaves Suvarnabhumi Airport at 12:10 AM on Friday, March 20 and arrives
at Narita International Airport at 8:15 AM on Friday, March 20.
Total duration 6 hr 5 min. Select flight"
将其解析为 Markdown 表格(参见下方的输出格式)。
市场选择策略
不同国家/地区的市场对同一航线返回的价格不同。务必依次尝试:
- 先选出发地所在国家/地区的市场(从美国出发的航班使用
&gl=US) - 再选目的地所在国家/地区的市场(飞往日本的航班使用
&gl=JP) - 尝试其他市场前先询问用户
&gl=XX 参数用于设置市场。请使用 ISO 3166-1 alpha-2 国家代码。
预订选项交接
展示结果后,提供预订链接。用户选定航班后:
agent-browser --session econ click @eN # Click the flight's link
agent-browser --session econ wait 3000
agent-browser --session econ snapshot -i # Shows booking providers with prices and URLs
输出格式
航班结果一律使用 Markdown 表格。
经济舱 + 商务舱比较(默认)
| # | 航空公司 | 经停次数 | 时长 | 出发 | 到达 | 经济舱 | 商务舱 | 价差 |
|---|---|---|---|---|---|---|---|---|
| 1 | JAL | 直飞 | 5h 55m | 8:05 AM | 4:00 PM | $523 | $1,490 | +185% |
| 2 | THAI | 直飞 | 5h 50m | 10:30 PM | 6:20 AM+1 | $628 | $1,675 | +166% |
仅经济舱
| # | 航空公司 | 经停次数 | 时长 | 出发 | 到达 | 价格 |
|---|---|---|---|---|---|---|
| 1 | JAL | 直飞 | 5h 55m | 8:05 AM | 4:00 PM | $523 |
格式规则
- 每个航班占一行
- 有中转时,显示经停城市(例如“经停 1 次,经由 ICN”)
- 表格外不要添加代码块
- 表格后突出显示最便宜、最快和性价比最高的航班
交互式工作流(备用方案)
适用于多城市、超级经济舱,或 URL 路径失效时。完整的交互式参考(包含表单填写、日期选择器和多城市搜索的分步命令)请参阅 ajimix/travel-hacking-toolkit 中的 google-flights 技能。
关键规则
| 规则 | 原因 |
|---|---|
| 优先使用 URL 快速路径 | 只需 3 条命令,而交互式操作需要 15 条以上 |
使用 wait --load networkidle | 比固定等待 wait 5000 更智能 |
输入机场代码时使用 fill,而非 type | 会先清除已有文本 |
| 输入机场代码后等待 2 秒 | 自动补全需要完成 API 往返请求 |
| 始终点击建议项,切勿按 Enter | Enter 键对自动补全并不可靠 |
| 每次交互后都重新截取快照 | DOM 更改会使引用失效 |
| 为预订链接保持结果会话处于活动状态 | 捕获增量后关闭商务会话 |
故障排除
- 同意弹窗:在快照中点击“全部接受”或“全部拒绝”。
- URL 快速路径不起作用:改用交互式操作。
- 机器人检测 / CAPTCHA:告知用户。切勿尝试解决 CAPTCHA。
评论
支持 Markdown