Skills fly-flight
Query China domestic transport options through one skill. Use when a user wants domestic flight or high-speed rail results, departure and arrival times, stations or airports, airline or train details, or public reference fares from open web sources. Route the request by transport mode and return a shared outer response shape. 一个同时支持中国国内航班和高铁查询的统一 transport skill,可根据 mode 路由到航班或高铁 provider。
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/baizhexue/fly-flight" ~/.claude/skills/clawdbot-skills-fly-flight && rm -rf "$T"
skills/baizhexue/fly-flight/SKILL.mdFly Flight
Use the unified transport entrypoint in this skill to handle China domestic trip lookup for both flights and high-speed rail.
这是一个统一的中国境内出行查询 skill,同时支持航班和高铁。 它通过同一个 transport 入口按 mode 路由到底层 provider。
Requirements
Require the following runtime environment before using this skill:
python3node- Network access to Tongcheng public flight pages and official 12306 public endpoints
使用这个 skill 前,运行环境必须具备:
python3node- 能访问同程公开航班页面和 12306 官方公开接口的网络环境
These dependencies are required whether the skill is installed from GitHub or from ClawHub.
无论这个 skill 是从 GitHub 安装还是从 ClawHub 安装,这些依赖都必须满足。
Current implementation status:
mode is implemented through Tongcheng public flight pages.flight
mode is implemented through official 12306 public high-speed rail query and public price endpoints.train
Quick Start
Flight query:
python3 {baseDir}/scripts/transport_service.py search \ --mode flight --from 北京 --to 上海 --date 2026-03-20 --sort-by price --pretty
High-speed rail query:
python3 {baseDir}/scripts/transport_service.py search \ --mode train --from 北京 --to 上海 --date 2026-03-20 \ --seat-type second_class --sort-by price --pretty
The legacy flight-only entrypoint remains available for backward compatibility:
python3 {baseDir}/scripts/domestic_flight_public_service.py search \ --from 北京 --to 上海 --date 2026-03-20 --sort-by price --pretty
Optional local HTTP mode:
python3 {baseDir}/scripts/transport_service.py serve --port 8766
Workflow
-
Determine transport mode. Use
for flights, airports, airlines, or plane tickets. Useflight
for high-speed rail, rail tickets, stations, or train numbers. If the user is ambiguous, infer conservatively from their wording or ask.train -
Route to the correct provider. Use scripts/transport_service.py as the shared entrypoint. Flight mode delegates to scripts/providers/flight_public_service.py. Train mode delegates to scripts/providers/train_public_service.py.
-
Preserve a shared outer response shape. Return
,mode
,provider
,trip_type
, and optionaloutbound
. Keep mode-specific fields inside each leg'sreturn
.options -
Apply only mode-specific filters that make sense. Flight filters: airline, direct-only, preferred airports. Train filters: train type, seat type, preferred stations.
-
Summarize results with the mode label. Clearly say whether the result is a flight result or a train result. Treat public-source prices as reference prices that can differ from final checkout prices.
Output Rules
- Prefer up to 5 options unless the user asked for more.
- State the exact travel date in
.YYYY-MM-DD - Keep the outer response consistent across modes.
- Do not force a single shared field schema for airports and stations; keep mode-specific details inside
.options - For round trips, clearly separate
andoutbound
.return - For train mode, explain that prices come from official public fare data and seat availability comes from public query results.
Resources
- Use scripts/transport_service.py as the unified CLI and HTTP entrypoint.
- Use scripts/providers/flight_public_service.py for flight lookups.
- Use scripts/providers/train_public_service.py for high-speed rail lookups.
- Use scripts/domestic_flight_public_service.py only for backward compatibility.
- Use scripts/extract_tongcheng_state.js to decode the Tongcheng public page payload.
- Use references/provider-public-web.md for public-source notes and limitations.