{
  "markdown": "<p align=\"center\">\n  <h1 align=\"center\">✈️ FlyAI — Travel, Flight & Hotel Search and Booking</h1>\n  <p align=\"center\">\n    <strong>Travel search, powered by Fliggy — right inside Claude Code, OpenClaw, and other skill-compatible agents.</strong>\n  </p>\n  <p align=\"center\">\n    Search flights, hotels, attractions, concerts, and more with natural language.<br/>\n    No browser tabs. No app switching. Just ask.\n  </p>\n  <p align=\"center\">\n    <a href=\"https://www.npmjs.com/package/@fly-ai/flyai-cli\"><img src=\"https://img.shields.io/npm/v/@fly-ai/flyai-cli?label=flyai-cli&color=blue\" alt=\"npm version\"></a>\n    <a href=\"https://www.npmjs.com/package/@fly-ai/flyai-cli\"><img src=\"https://img.shields.io/npm/dw/@fly-ai/flyai-cli?label=npm%20downloads&color=blue\" alt=\"npm downloads\"></a>\n    <a href=\"https://clawhub.ai/alibaba-flyai/flyai-skill\"><img src=\"https://img.shields.io/badge/clawhub-available-purple\" alt=\"ClawHub\"></a>\n    <a href=\"https://github.com/alibaba-flyai/flyai-skill/stargazers\"><img src=\"https://img.shields.io/github/stars/alibaba-flyai/flyai-skill?style=social\" alt=\"GitHub Stars\"></a>\n    <a href=\"https://github.com/alibaba-flyai/flyai-skill/forks\"><img src=\"https://img.shields.io/github/forks/alibaba-flyai/flyai-skill?style=social\" alt=\"GitHub Forks\"></a>\n    <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"MIT License\"></a>\n    <a href=\"https://github.com/alibaba-flyai/flyai-skill\"><img src=\"https://img.shields.io/badge/version-1.0.14-orange\" alt=\"Skill Version\"></a>\n  </p>\n  <p align=\"center\">\n    <a href=\"https://open.fly.ai/\">Homepage</a> ·\n    <a href=\"#quick-start\">Quick Start</a> ·\n    <a href=\"#commands\">Commands</a> ·\n    <a href=\"#featured-use-cases\">Use Cases</a> ·\n    <a href=\"#examples\">Examples</a>\n  </p>\n</p>\n\n<p align=\"center\">\n  <img src=\"assets/demo.gif\" alt=\"FlyAI Demo\" width=\"700\">\n</p>\n\n---\n\n## Why FlyAI?\n\nYou're deep in a conversation with your AI coding agent — planning a trip, researching venues, comparing options. FlyAI lets you **search real-time travel inventory without leaving your terminal**. It connects [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [OpenClaw](https://github.com/nicepkg/openclaw), and other skill-compatible agents to [Fliggy](https://www.fliggy.com/)'s massive travel platform (part of Alibaba Group), giving you structured, bookable results in seconds.\n\n- **Natural language in, structured data out** — ask in plain English or Chinese, get JSON you can pipe, filter, or render\n- **Eight specialized search commands** — broad discovery, AI-powered semantic search, or deep comparison, your call\n- **Bookable results** — every result includes direct booking links\n- **Zero config to start** — works out of the box, optional API key for enhanced results\n\n## Quick Start\n\n### Step 1 — Install the Skill\n\n**OpenClaw:**\n\n```bash\n# via clawhub (Recommended)\nclawhub install flyai\n\n# or via npx\nnpx skills add alibaba-flyai/flyai-skill\n```\n\n**Claude Code:**\n\n```bash\ncp -r /path/to/flyai-skill/skills/flyai ~/.claude/skills/flyai\n```\n\n### Step 2 — Install the CLI\n\n```bash\nnpm i -g @fly-ai/flyai-cli\n```\n\n### Step 3 — Verify\n\n```bash\nflyai keyword-search --query \"things to do in Tokyo\"\n```\n\nYou should see structured JSON output. You're good to go.\n\n### Step 4 — Configure (optional)\n\nThe skill works without any API keys. For enhanced results, set one up:\n\n```bash\nflyai config set FLYAI_API_KEY \"your-key\"\n```\n\n## Commands\n\nFlyAI provides eight commands, each tailored to a different search pattern:\n\n| Command | Purpose | Required Params |\n|---------|---------|-----------------|\n| `keyword-search` | Natural-language keyword search across all travel categories | `--query` |\n| `ai-search` | Semantic search — understands complex intent for highly accurate results | `--query` |\n| `search-flight` | Structured flight search with deep filtering | `--origin` |\n| `search-train` | Structured train ticket search with deep filtering | `--origin` |\n| `search-hotel` | Structured hotel search by destination | `--dest-name` |\n| `search-poi` | Attraction & POI search by city | `--city-name` |\n| `search-marriott-hotel` | Marriott Group hotel search by destination | `--dest-name` |\n| `search-marriott-package` | Marriott Group hotel package search | `--keyword` |\n\n### `keyword-search` — Broad Discovery\n\nOne query, all categories. Hotels, flights, tickets, tours, cruises, visas, SIM cards — it searches everything.\n\n**OpenClaw:**\n\n```\n/flyai keyword-search --query \"Hangzhou 3-day trip\"\n/flyai keyword-search --query \"France visa\"\n/flyai keyword-search --query \"Shanghai cruise\"\n```\n\n**Claude Code:**\n\n```\n/flyai keyword-search --query \"Hangzhou 3-day trip\"\n/flyai keyword-search --query \"France visa\"\n/flyai keyword-search --query \"Shanghai cruise\"\n```\n\n**CLI:**\n\n```bash\nflyai keyword-search --query \"Hangzhou 3-day trip\"\n```\n\n### `ai-search` — Semantic Search\n\nAI-powered semantic search that understands natural language and complex travel intent. Supports hotels, attractions, flights, trains, and mixed queries.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai ai-search --query \"3-day trip to Hangzhou for Labor Day, budget 2000 per person, want to stay near West Lake\"\n/flyai ai-search --query \"Direct flight from Shanghai to Tokyo next week, find good value flights and hotels\"\n```\n\n**CLI:**\n\n```bash\nflyai ai-search --query \"3-day trip to Hangzhou for Labor Day, budget 2000 per person\"\n```\n\n### `search-flight` — Flight Comparison\n\nStructured flight search with sorting, cabin class, price caps, and time filters.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-flight --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-15\n```\n\n**CLI:**\n\n```bash\n# Basic one-way search\nflyai search-flight --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-15\n\n# Round trip, direct flights only, sorted by price (low → high)\nflyai search-flight \\\n  --origin \"Shanghai\" --destination \"Tokyo\" \\\n  --dep-date 2026-04-20 --back-date 2026-04-25 \\\n  --journey-type 1 --sort-type 3\n```\n\n<details>\n<summary><strong>All flight search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--origin` | Departure city or airport **(required)** |\n| `--destination` | Arrival city or airport |\n| `--dep-date` | Departure date (`YYYY-MM-DD`) |\n| `--dep-date-start` / `--dep-date-end` | Departure date range |\n| `--back-date` | Return date |\n| `--back-date-start` / `--back-date-end` | Return date range |\n| `--journey-type` | `1` = direct, `2` = connecting |\n| `--seat-class-name` | Cabin class name |\n| `--transport-no` | Flight number |\n| `--transfer-city` | Layover city |\n| `--dep-hour-start` / `--dep-hour-end` | Departure hour range |\n| `--arr-hour-start` / `--arr-hour-end` | Arrival hour range |\n| `--total-duration-hour` | Max flight duration (hours) |\n| `--max-price` | Price ceiling |\n| `--sort-type` | `1` price desc · `2` recommended · `3` price asc · `4` duration asc · `5` duration desc · `6` depart early · `7` depart late · `8` direct first |\n\n</details>\n\n### `search-train` — Train Comparison\n\nStructured train ticket search with sorting, seat class, price caps, and time filters.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-train --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-15\n```\n\n**CLI:**\n\n```bash\n# Basic one-way search\nflyai search-train --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-15\n\n# Direct trains only, second class, sorted by price (low → high)\nflyai search-train \\\n  --origin \"Shanghai\" --destination \"Hangzhou\" \\\n  --dep-date 2026-04-20 --journey-type 1 \\\n  --seat-class-name \"second class\" --sort-type 3\n```\n\n<details>\n<summary><strong>All train search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--origin` | Departure city or station **(required)** |\n| `--destination` | Destination city or station |\n| `--dep-date` | Departure date (`YYYY-MM-DD`) |\n| `--dep-date-start` / `--dep-date-end` | Departure date range |\n| `--back-date` | Return date |\n| `--back-date-start` / `--back-date-end` | Return date range |\n| `--journey-type` | `1` = direct, `2` = transit |\n| `--seat-class-name` | Seat class: `second class` · `first class` · `business class` · `hard sleeper` · `soft sleeper` |\n| `--transport-no` | Train number(s), comma-separated |\n| `--transfer-city` | Transfer city(s), comma-separated |\n| `--dep-hour-start` / `--dep-hour-end` | Departure hour range (24h) |\n| `--arr-hour-start` / `--arr-hour-end` | Arrival hour range (24h) |\n| `--total-duration-hour` | Max total travel duration (hours) |\n| `--max-price` | Price ceiling (CNY) |\n| `--sort-type` | `1` price desc · `2` recommended · `3` price asc · `4` duration asc · `5` duration desc · `6` depart early · `7` depart late · `8` direct first |\n\n</details>\n\n### `search-hotel` — Hotel Comparison\n\nSearch by destination with filters for star rating, bed type, price range, and nearby POIs.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-hotel --dest-name \"Hangzhou\" --poi-name \"West Lake\" --check-in-date 2026-04-10 --check-out-date 2026-04-12\n```\n\n**CLI:**\n\n```bash\n# Hotels near West Lake, Hangzhou\nflyai search-hotel \\\n  --dest-name \"Hangzhou\" --poi-name \"West Lake\" \\\n  --check-in-date 2026-04-10 --check-out-date 2026-04-12\n\n# 4-5 star hotels in Sanya under ¥800, sorted by rating\nflyai search-hotel \\\n  --dest-name \"Sanya\" --hotel-stars \"4,5\" \\\n  --sort rate_desc --max-price 800\n```\n\n<details>\n<summary><strong>All hotel search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--dest-name` | Destination (country/province/city/district) **(required)** |\n| `--key-words` | Search keywords |\n| `--poi-name` | Nearby attraction name |\n| `--hotel-types` | `酒店` (hotel) · `民宿` (homestay) · `客栈` (inn) |\n| `--sort` | `distance_asc` · `rate_desc` · `price_asc` · `price_desc` · `no_rank` |\n| `--check-in-date` | Check-in date (`YYYY-MM-DD`) |\n| `--check-out-date` | Check-out date (`YYYY-MM-DD`) |\n| `--hotel-stars` | Star rating, comma-separated (`1`–`5`) |\n| `--hotel-bed-types` | `大床房` (king) · `双床房` (twin) · `多床房` (multi) |\n| `--max-price` | Max price per night (CNY) |\n\n</details>\n\n### `search-poi` — Attractions & Activities\n\nFind attractions by city, category, or level — from AAAAA scenic spots to local surf schools.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-poi --city-name \"Xi'an\" --category \"历史古迹\"\n```\n\n**CLI:**\n\n```bash\n# Historical sites in Xi'an\nflyai search-poi --city-name \"Xi'an\" --category \"历史古迹\"\n\n# Top-rated attractions in Beijing\nflyai search-poi --city-name \"Beijing\" --poi-level 5\n\n# Lakes and gardens in Hangzhou\nflyai search-poi --city-name \"Hangzhou\" --keyword \"West Lake\" --category \"山湖田园\"\n```\n\n<details>\n<summary><strong>All POI search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--city-name` | City name **(required)** |\n| `--keyword` | Attraction name keyword |\n| `--poi-level` | Attraction level (`1`–`5`) |\n| `--category` | Single category from: 自然风光 · 山湖田园 · 森林丛林 · 峡谷瀑布 · 沙滩海岛 · 沙漠草原 · 人文古迹 · 古镇古村 · 历史古迹 · 园林花园 · 宗教场所 · 公园乐园 · 主题乐园 · 水上乐园 · 影视基地 · 动物园 · 植物园 · 海洋馆 · 体育场馆 · 演出赛事 · 剧院剧场 · 博物馆 · 纪念馆 · 展览馆 · 地标建筑 · 市集 · 文创街区 · 城市观光 · 户外活动 · 滑雪 · 漂流 · 冲浪 · 潜水 · 露营 · 温泉 |\n\n</details>\n\n### `search-marriott-hotel` — Marriott Hotel Search\n\nSearch Marriott Group hotels by destination with filters for brand, bed type, price, and nearby POIs.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-marriott-hotel --dest-name \"Shanghai\" --hotel-brands \"JW Marriott,Sheraton\" --check-in-date 2026-04-10 --check-out-date 2026-04-12\n```\n\n**CLI:**\n\n```bash\n# Marriott hotels in Shanghai\nflyai search-marriott-hotel \\\n  --dest-name \"Shanghai\" --hotel-brands \"JW Marriott,Sheraton\" \\\n  --check-in-date 2026-04-10 --check-out-date 2026-04-12\n\n# Marriott hotels in Hangzhou under ¥1200, sorted by price\nflyai search-marriott-hotel \\\n  --dest-name \"Hangzhou\" --sort price_asc --max-price 1200\n```\n\n<details>\n<summary><strong>All Marriott hotel search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--dest-name` | Destination (country/province/city/district) **(required)** |\n| `--key-words` | Search keywords |\n| `--poi-name` | Nearby attraction name |\n| `--hotel-brands` | Marriott brands, comma-separated |\n| `--hotel-name` | Exact or fuzzy hotel name |\n| `--hotel-bed-types` | `大床房` (king) · `双床房` (twin) · `多床房` (multi) |\n| `--max-price` | Max price per night (CNY) |\n| `--sort` | `distance_asc` · `rate_desc` · `price_asc` · `price_desc` · `no_rank` |\n| `--check-in-date` | Check-in date (`YYYY-MM-DD`) |\n| `--check-out-date` | Check-out date (`YYYY-MM-DD`) |\n\n</details>\n\n### `search-marriott-package` — Marriott Package Search\n\nSearch Marriott Group hotel packages and bundled deals (e.g., afternoon tea, spa packages) by city, brand, or hotel name.\n\n**OpenClaw / Claude Code:**\n\n```\n/flyai search-marriott-package --keyword \"Shanghai\"\n/flyai search-marriott-package --keyword \"JW Marriott\" --sort-type price_asc\n```\n\n**CLI:**\n\n```bash\n# Marriott packages in Shanghai\nflyai search-marriott-package --keyword \"Shanghai\"\n\n# JW Marriott packages, sorted by price\nflyai search-marriott-package --keyword \"JW Marriott\" --sort-type price_asc\n```\n\n<details>\n<summary><strong>All Marriott package search options</strong></summary>\n\n| Flag | Description |\n|------|-------------|\n| `--keyword` | Search keyword — province, city, brand, hotel name, or selling point **(required)** |\n| `--sort-type` | `price_asc` · `price_desc` |\n\n</details>\n\n## Featured Use Cases\n\n### Weekend Getaway Planning\n\n> \"Find me a weekend trip from Shanghai — cheap flights, a nice hotel near the beach, and some fun things to do\"\n\nFlyAI chains `search-flight`, `search-hotel`, and `search-poi` to give you a complete trip plan with prices and booking links.\n\n### Budget Flight Hunting\n\n> \"What's the cheapest direct flight from Beijing to Bangkok in May?\"\n\n```\n/flyai search-flight --origin \"Beijing\" --destination \"Bangkok\" --dep-date-start 2026-05-01 --dep-date-end 2026-05-31 --journey-type 1 --sort-type 3\n```\n\n### Group Trip Coordination\n\n> \"Compare 4-star hotels in Sanya with twin beds for under ¥500/night, sorted by rating\"\n\n```\n/flyai search-hotel --dest-name \"Sanya\" --hotel-stars 4 --hotel-bed-types \"双床房\" --max-price 500 --sort rate_desc\n```\n\n### Train Trip Planning\n\n> \"Find a direct high-speed train from Beijing to Shanghai next Tuesday, second class\"\n\n```\n/flyai search-train --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-07 --journey-type 1 --seat-class-name \"second class\" --sort-type 3\n```\n\n### Smart Trip Planning with AI Search\n\n> \"Plan a 3-day Hangzhou trip for Labor Day, budget 2000 per person, want to stay near West Lake\"\n\n```\n/flyai ai-search --query \"3-day Hangzhou trip for Labor Day, budget 2000 per person, stay near West Lake\"\n```\n\n### Marriott Hotel Deals\n\n> \"Find Marriott afternoon tea packages in Shanghai\"\n\n```\n/flyai search-marriott-package --keyword \"Shanghai\" --sort-type price_asc\n```\n\n### Local Exploration\n\n> \"What are the top nature attractions in Guilin?\"\n\n```\n/flyai search-poi --city-name \"Guilin\" --category \"自然风光\" --poi-level 5\n```\n\n## Examples\n\n### OpenClaw\n\nJust type naturally in OpenClaw — FlyAI activates automatically on travel queries:\n\n> Find me direct flights from Beijing to Shanghai next Friday under ¥600\n\n> Compare 5-star hotels near the Bund in Shanghai for this weekend\n\n> What are the top attractions in Chengdu? I'm interested in nature and history\n\nOr use the slash command directly:\n\n```\n/flyai search-flight --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-04-25 --max-price 600\n```\n\n### Claude Code\n\nAsk naturally or use the `/flyai` slash command inside Claude Code:\n\n> I'm planning a 5-day trip to Japan — search for visa info, flights from Shanghai, and hotels in Tokyo\n\n> Find concerts and live events happening in Hangzhou\n\n```\n/flyai keyword-search --query \"5-day Japan trip from Shanghai\"\n/flyai ai-search --query \"Best direct flights and hotels for a week in Tokyo\"\n/flyai search-flight --origin \"Shanghai\" --destination \"Tokyo\" --dep-date 2026-05-01 --sort-type 3\n/flyai search-train --origin \"Shanghai\" --destination \"Hangzhou\" --dep-date 2026-05-01\n/flyai search-hotel --dest-name \"Tokyo\" --check-in-date 2026-05-01 --check-out-date 2026-05-06\n/flyai search-poi --city-name \"Tokyo\" --category \"地标建筑\"\n/flyai search-marriott-hotel --dest-name \"Tokyo\" --check-in-date 2026-05-01 --check-out-date 2026-05-06\n/flyai search-marriott-package --keyword \"Shanghai\"\n```\n\n## How It Works\n\n```\nYou ask your agent ──→ FlyAI Skill activates ──→ flyai-cli runs ──→ Fliggy MCP API\n                                                                         │\nYou see rich results ←── Agent formats markdown ←── JSON response ←──────┘\n```\n\n- **Runtime**: Node.js\n- **Output**: Single-line JSON to `stdout`, errors/hints to `stderr`\n- **Context isolation**: Each command runs in its own execution context\n- **Pattern matching**: Intent-based activation at priority 90 — the agent automatically routes travel queries to FlyAI\n\n## Travel Scenarios Covered\n\nFlyAI isn't just for flights and hotels. It spans the full travel lifecycle:\n\n| Category | Examples |\n|----------|---------|\n| **Transport** | Flights, trains, airport transfers, car rentals, chartered cars |\n| **Accommodation** | Hotels, homestays, inns, hotel+flight bundles |\n| **Experiences** | Attraction tickets, day tours, guided tours, curated trips |\n| **Events** | Concerts, sports events, performing arts, anime events |\n| **Services** | Visas, travel insurance, SIM cards, WiFi rental |\n| **Trips** | Cruises, weekend getaways, honeymoons, family vacations, study tours |\n\n## Contact Us\n\nScan the QR code below to join our DingTalk group for support and updates.\n\n<img width=\"508\" height=\"484\" alt=\"image\" src=\"https://github.com/user-attachments/assets/0c7f15e6-1648-45a5-b383-d1101809a964\" />\n\n\n## License\n\n[MIT](LICENSE) — Copyright (c) 2026 alibaba-flyai\n",
  "bytes": 17923,
  "sha": "6099f3c119fb0a92401fa938fbdaa5e5731bc0f203921ffb49ea676f674d90ee",
  "repo_slug": "alibaba-flyai/flyai-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_alibaba_flyai_flyai_skill_travel_search__0fe07946/readme"
}