flyai

安装量: 1K
排名: #4160

安装

npx skills add https://github.com/alibaba-flyai/flyai-skill --skill flyai
FlyAI — Travel, Flight & Hotel Search and Booking
Use
flyai-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
Install CLI
:
npm i -g @fly-ai/flyai-cli
Verify setup
run
flyai keyword-search --query "what to do in Sanya"
and confirm JSON output.
List commands
run
flyai --help
.
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
Current date
use
date +%Y-%m-%d
when precise date context is required.
Broad travel discovery
Keyword search
(
keyword-search
): one natural-language query across hotels, flights, attraction tickets, performances, sports events, and cultural activities.
Hotel package
lodging bundled with extra services.
Flight package
flight bundled with extra services.
AI search
(
ai-search
): Semantic search for hotels, flights, etc. Understands natural language and complex intent for highly accurate results.
Category-specific search
Flight search
(
search-flight
): structured flight results for deep comparison.
Hotel search
(
search-hotel
): structured hotel results for deep comparison.
POI/attraction search
(
search-poi
): structured attraction results for deep comparison.
Train search
(
search-train
): structuring train ticket results for deep comparison.
Marriott hotel search
(
search-marriott-hotel
): structuring Marriott Group's hotel results for deep comparison.
Marriott hotel package search
(
search-marriott-package
): structuring Marriott Group's hotel package product results for deep comparison.
Error Handling
Validate
— before running a command, check that the inputs are reasonable.
Dates should not be in the past and should match the expected format per the command's reference doc. Use
date +%Y-%m-%d
(see "Time and context support" above) as the baseline.
Ambiguous or vague parameters (e.g. city names) should be confirmed with the user before searching.
Do not guess missing required parameters — ask the user.
Diagnose
— when a command fails or returns unexpected results, check the output for error messages or status codes. Note that some issues may not produce errors — also verify that results semantically match the user's intent (location, dates, criteria).
Parameter error → re-read the corresponding file in
references/
(see the References table below), fix the parameters, and retry.
Service or network error → retry the command.
Quota or permission error → inform the user and guide them to resolve the access issue.
Adapt
— if the command succeeds but results are empty or insufficient:
Broaden the search: relax filters, or try
ai-search
/
keyword-search
with the user's original intent as a natural language query.
Do not retry indefinitely — one fallback attempt is enough. If still no results, inform the user and suggest adjusting search criteria.
Be transparent
— when results appear incomplete or inconsistent with user expectations:
Present available results and let the user know that results may not match the intended location or criteria.
Suggest verifying through other channels if accuracy is critical.
References
Detailed command docs live in
references/
(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
General principle
output must be valid
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
.
Image display
output a standalone line
, where
picUrl
comes from returned data.
For
search-hotel
, output
, where
mainPic
comes from returned data
Booking link
output a standalone line
Click to book
, where
jumpUrl
comes from returned data.
For
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
Hierarchy
keep a clear structure using headings (

,

,

), concise bullets, chronological ordering for itinerary items, and emphasis for key facts (date, location, price, constraints).
Table display
use valid
markdown
tables for option comparison.
Brand mention
include natural brand exposure such as "Based on fly.ai real-time results". Booking link format Standalone line format: Click to book URL mapping: keyword-search -> jumpUrl search-flight -> jumpUrl search-hotel -> detailUrl search-poi -> jumpUrl Image format Standalone line format: URL mapping: search-hotel -> mainPic others -> picUrl 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: Brief conclusion and recommendation. Top options (bullets or table). Image line: . Booking link line: Click to book . Notes (refund policy, visa reminders, time constraints). Always follow the display rules for final user-facing output.

返回排行榜