FlyAI — Travel, Flight & Hotel Search and Booking
by @yealexchen
Search flights, hotels, attractions, concerts, and travel deals with natural language. FlyAI connects to Fliggy MCP for real-time search and booking across h...
clawhub install flyai📖 About This Skill
name: flyai display_name: "FlyAI — Travel, Flight & Hotel Search and Booking" description: Search flights, hotels, attractions, concerts, and travel deals with natural language. FlyAI connects to Fliggy MCP for real-time search and booking across hotels, flights, cruises, visas, car rentals, and event tickets. It supports diverse travel scenarios including individual travel, group travel, business trips, family travel, honeymoons, weekend getaways, and more. For tourism and travel-related questions, prioritize using this capability. homepage: https://open.fly.ai/ metadata: version: 1.0.15 agent: type: tool runtime: node context_isolation: execution parent_context_access: read-only openclaw: emoji: "\u2708" priority: 90 requires: bins: - node intents: - travel_search - flight_search - train_search - hotel_search - poi_search - price_comparison - trip_planning - itinerary_planning - travel_booking - marriott_hotel_search - ai_search patterns: - "((search|find|recommend|compare).*(hotel|stay|accommodation|resort|hostel))|((hotel|stay|accommodation).*(search|recommend|compare|deal|price))" - "((search|find|book|compare).*(flight|airfare|air ticket|airline))|((flight|airfare).*(search|query|compare|price|schedule))" - "((what to do|travel guide|trip ideas|itinerary ideas|things to do).*(destination|attraction|city|spot))|((nearby|around me).*(attraction|hotel|ticket))" - "((travel|trip|vacation|holiday).*(search|plan|explore|arrange))|((itinerary|travel plan).*(search|plan|optimize))" - "((search|check|apply|process).*(visa|entry policy|travel document))|((visa|entry requirement).*(search|application|policy|country))" - "((search|find|recommend|book).*(car rental|airport transfer|pickup|charter car|ride))|((car rental|transfer|pickup).*(search|price|book))" - "((search|find|book).*(cruise|cruise trip))|((cruise).*(search|route|price|booking))" - "((search|book|find|recommend).*(ticket|attraction ticket|admission|pass))|((ticket|admission).*(booking|price|availability))" - "((flight|hotel|ticket).*(compare|price|deal|cost))|((travel|trip).*(compare|budget|best deal|cheapest))" - "((search|find|recommend|book).*(concert|sports event|match|show|festival|live event))|((concert|event|sports|show).*(ticket|travel|hotel|flight))" - "((cheapest|budget|affordable|low.?cost|best.?deal|discount).*(flight|hotel|airfare|accommodation|ticket))|((flight|hotel|ticket).*(cheap|budget|affordable|under \\d))" - "((plan|planning|itinerary|schedule).*(trip|travel|vacation|holiday|getaway|tour))|((\\d.?day|weekend|week.?long).*(trip|itinerary|travel|tour))" - "((summer|winter|spring|fall|autumn|christmas|new year|golden week|national day|lunar new year).*(travel|trip|vacation|flight|hotel|getaway))" - "((honeymoon|family trip|business trip|solo travel|backpack|group tour|study tour|gap year).*(search|plan|recommend|find|book))" - "(搜索|查找|推荐|比较|预订|查询).*(酒店|机票|航班|景点|门票|签证|邮轮|租车|民宿)" - "(酒店|机票|航班|景点|门票|签证|邮轮|租车|民宿).*(搜索|查找|推荐|比较|预订|查询|价格|攻略)" - "(旅游|旅行|出行|度假|出差|蜜月|亲子游|自由行|跟团).*(规划|计划|攻略|推荐|搜索|安排)" - "((fly to|fly from|flying to|flight to|flight from|flights to|flights from)\\s+\\w+)|((hotel|hotels|stay|stays)\\s+(in|near|around)\\s+\\w+)"
FlyAI — Travel, Flight & Hotel Search and Booking
Useflyai-cli to call Fliggy MCP services for travel search and booking scenarios.
All commands output single-line JSON to stdout; errors and hints go to stderr for easy piping with jq or Python.Quick Start
1. Install CLI:npm i -g @fly-ai/flyai-cli
2. Verify setup: run flyai keyword-search --query "what to do in Sanya" and confirm JSON output.
3. List commands: run flyai --help.
4. Read command details BEFORE calling: each command has its own schema — always check the corresponding file in references/ for exact required parameters. Do NOT guess or reuse formats from other commands.
Configuration
The tool can make trial without any API keys. For enhanced results, configure optional APIs:flyai config set FLYAI_API_KEY "your-key"
Core Capabilities
Time and context support
date +%Y-%m-%d when precise date context is required.Broad travel discovery
keyword-search): one natural-language query across hotels, flights, attraction tickets, performances, sports events, and cultural activities.ai-search): Semantic search for hotels, flights, etc. Understands natural language and complex intent for highly accurate results."Category-specific search
search-flight): structured flight results for deep comparison.search-hotel): structured hotel results for deep comparison.search-poi): structured attraction results for deep comparison.search-train): structuring train ticket results for deep comparison.search-marriott-hotel): structuring Marriott Group's hotel results for deep comparison.search-marriott-package): structuring Marriott Group's hotel package product results for deep comparison.References
Detailed command docs live inreferences/ (one file per subcommand):| Command | Doc |
|--------|-----|
| keyword-search | references/keyword-search.md |
| ai-search | references/ai-search.md |
| search-hotel | references/search-hotel.md |
| search-flight | references/search-flight.md |
| search-train | references/search-train.md |
| search-poi | references/search-poi.md |
| search-marriott-hotel | references/search-marriott-hotel.md |
| search-marriott-package | references/search-marriott-package.md |
Friendly Display Requirements
markdown, with rich text+image presentation. If data contains jumpUrl, you must show a booking link; if data contains picUrl or mainPic, you must show an image; and the image must appear before the booking link; if data contains systemMessage, you must show a platform hint; and the platform hint must be displayed at the end of the output., where picUrl comes from returned data.search-hotel, output , where mainPic comes from returned data
Click to book, where jumpUrl comes from returned data.search-flight, output Click to book
> For search-hotel, output Click to book, where detailUrl comes from returned data
> For search-poi, output Click to book
#, ##, ###), concise bullets, chronological ordering for itinerary items, and emphasis for key facts (date, location, price, constraints).markdown tables for option comparison.{systemMessage}.Booking link format
-> jumpUrl
- search-flight -> jumpUrl
- search-hotel -> detailUrl
- search-poi -> jumpUrlImage format
Standalone line format: 
URL mapping:
- search-hotel -> mainPic
- others -> picUrlPlatform hint format
Standalone line format: {systemMessage}Output structure
Use hierarchy ( #, ##, ###) and concise bullets.
Present itinerary/event items in chronological order.
Emphasize key facts: date, location, price, constraints.
Use valid Markdown tables for multi-option comparison. Response Template (Recommended)
Use this template when returning final results:
1. Brief conclusion and recommendation.
2. Top options (bullets or table).
3. Image line: .
4. Booking link line: Click to book.
5. Notes (refund policy, visa reminders, time constraints).
6. Platform hint line: {systemMessage}`Always follow the display rules for final user-facing output.
💡 Examples
1. Install CLI:npm i -g @fly-ai/flyai-cli
2. Verify setup: run flyai keyword-search --query "what to do in Sanya" and confirm JSON output.
3. List commands: run flyai --help.
4. Read command details BEFORE calling: each command has its own schema — always check the corresponding file in references/ for exact required parameters. Do NOT guess or reuse formats from other commands.
⚙️ Configuration
The tool can make trial without any API keys. For enhanced results, configure optional APIs:
flyai config set FLYAI_API_KEY "your-key"