Install
openclaw skills install flyai-travelmapifyClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Create 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: