Install
openclaw skills install flyai-travelmapifyCreate interactive travel route maps from location names with real FlyAI hotel search. Supports AI Vision analysis of travel planning images.
openclaw skills install flyai-travelmapifyCreate interactive, professional travel route maps from location names.
This skill automatically:
Text Input Mode:
AI Vision Image Processing Workflow:
Hotel Integration Mode:
For Direct Text Input:
For Image Input (AI Vision Workflow):
flyai-travelmapify/
├── SKILL.md
├── INSTALL.md # Installation and setup guide
├── flyai-travelmapify.py # **PORTABLE ENTRY POINT**: Main executable script
├── scripts/
│ ├── config.py # **DYNAMIC CONFIGURATION**: Path and environment detection
│ ├── main_travel_mapify_enhanced.py # **PRODUCTION MAIN**: Auto-starts servers + text input + unique ID isolation
│ ├── geocode_locations.py # Amap geocoding integration
│ ├── generate_from_optimized_template.py # Optimized template with unique map ID isolation
│ └── hotel-search-server.py # FlyAI hotel search backend server
**Note**: Image processing is handled externally using the agent's AI Vision capability. The extracted POI names are passed as text input to this skill.
├── references/
│ ├── amap_api_guide.md # Amap API usage patterns
│ ├── poi_validation_rules.md # POI validation and filtering rules
│ └── troubleshooting-guide.md # Common issues and solutions
└── assets/
└── templates/
└── main-generic-template-with-unique-id.html # **PRODUCTION TEMPLATE**: Unique ID isolation + all features
Main Template: The skill now uses the optimized travel_mapify system with unique map ID isolation as the primary approach, which includes:
travelMap_abc123) to isolate localStorage dataAutomatic Server Management: The enhanced main script automatically starts both HTTP server (port 9000) and hotel search server (port 8770) when generating maps, ensuring all functionality is ready immediately.
# From skill directory (recommended)
python3 flyai-travelmapify.py --locations "上海外滩,迪士尼乐园,豫园" --output-html shanghai-trip.html
# From any directory
python3 /path/to/flyai-travelmapify/flyai-travelmapify.py --locations "北京故宫,天坛,颐和园" --output-html beijing-trip.html
# AI Vision Image Processing Workflow:
# 1. Use agent's AI Vision to analyze travel image and extract POI names
# 2. Pass extracted names as text input to the skill
# Example: locations="解放碑,山城步道,十八梯,白象居,湖广会馆,来福士,洪崖洞,千厮门大桥"
# With custom ports
python3 flyai-travelmapify.py --locations "Tokyo Tower,Shibuya Crossing" --output-html tokyo-trip.html --http-port 8080 --hotel-port 9000
User: "Here's my travel plan screenshot, can you make it interactive?" → Skill analyzes image using AI Vision model → If needed, requests clarification: "What city is this for?" or "How many attractions are marked?" → Extracts attractions with preserved sequence and generates interactive map
User provides image → Skill detects uncertainty → Requests city context → User responds "重庆" → Skill processes with enhanced accuracy
When AI Vision cannot confidently identify attractions, skill prompts: "Please provide attraction names in order, separated by commas"
User: "I have a photo of our Beijing itinerary, please create a shareable map" → Skill processes image, validates locations, creates optimized route with professional styling
User: "北京军事博物馆,北京科技大学" → Skill auto-detects city="北京" from location names → Parses locations directly, geocodes them, and generates interactive map
User: "外滩,迪士尼乐园,豫园" → Skill cannot detect city from generic names → Uses default city="上海" for geocoding → Generates interactive map
User: "Create a travel map for: Tokyo Tower, Shibuya Crossing, Meiji Shrine" → Skill extracts location names, geocodes them, creates optimized route
User: Clicks "搜酒店" button in generated map → Real FlyAI hotel search returns actual hotel data with prices and booking links → No mock data - uses real-time Fliggy MCP integration → Professional UX with loading states and notifications (no alert popups) → Default dates: today for check-in, tomorrow for check-out (1-night stay)
User: "Can you adjust the route order and add missing locations?" → Skill provides editable interface with search functionality and reordering tools
npm install -g @openclaw/flyai)This skill depends on the following OpenClaw skills:
Both skills must be installed in your OpenClaw workspace under the skills/ directory:
~/.openclaw/workspace/
├── skills/
│ ├── flyai-travelmapify/
│ └── amap-maps/
✅ No hardcoded paths - Automatically detects OpenClaw workspace and FlyAI installation ✅ Cross-platform - Works on Windows, macOS, and Linux ✅ Self-contained - All scripts and templates included in skill directory ✅ Environment-aware - Adapts to different system configurations ✅ Fallback mechanisms - Multiple detection methods for required components
The skill generates HTML files using the optimized travel_mapify system with unique map ID isolation as the main template:
[location]-travel-map-optimized.html - Dual-mode interface with all professional enhancements:
Files are self-contained and work in any modern web browser when served via HTTP server.
Professional User Interface:
Smart Defaults: