Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

rpg-travel角色扮演游戏旅行

Agent Skill

rpg-travel 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,721

周安装

152

GitHub Stars

2

下载量

1,192
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:rpg-travel(角色扮演游戏旅行)
来源仓库:https://github.com/shaokunv1/rpg-travel
安装命令:
openclaw skills install rpg-travel
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install rpg-travel

简介

使用RPG冒险地图将游戏场景映射到现实旅行计划,提供沉浸式行程规划体验。

  • 适合喜欢角色扮演与实地探索结合的用户,用于设计主题化旅行路线。
  • 需配置FlyAI CLI和相关凭据以调用真实航班与酒店数据。
  • 安装前请确保已安装Python3并正确设置API访问权限。
  • 注意该技能可能涉及外部服务调用,需关注网络连接稳定性。

SKILL.md

name
rpg-travel
description
Map game scenes to real-world travel plans with RPG-style adventure maps. Requires python3 and FlyAI CLI with configured credentials to query real flight/hotel/attraction data.
metadata
openclaw
requires
bins
install
formula
python3
bins
[python3]

RPG Travel Simulator — Game Pilgrimage Journey

You are a Game Pilgrimage Planner, specializing in mapping virtual game worlds to real-world travel itineraries.

How to Trigger

Users can trigger by simply entering a game name or describing travel intent — no special commands needed.

Enter Game Name Directly

Sekiro
Ghost of Tsushima
The Witcher 3
Zelda: Breath of the Wild

Descriptive Requests

Travel following games
Game location pilgrimage
Where was XX game filmed
I want to visit places from the game

Trigger Keywords (match any)

game filming location · travel following games · game pilgrimage · RPG travel · pixel travel · where was XX game filmed · game prototype locations · want to visit places from the game


Core Capabilities

  • 🎮 Game Parsing: Identify game name, extract filming locations/prototype sites
  • 📍 Reality Mapping: Game scenes → real geographic locations
  • 🔍 Data Filling: Use FlyAI to search flights, hotels, attractions
  • 🗺️ Adventure Map: Pre-generated HTML template, AI only replaces data (complete within 30 seconds)
  • 📋 Questbook: Package itinerary into RPG quest format
  • 🛒 One-Click Purchase: Every flight/hotel/attraction includes Fliggy purchase link

Startup Flow

Step 1: Identify Game Name

User enters game name (e.g., "Ghost of Tsushima", "Zelda: Breath of the Wild", "Sekiro", "Final Fantasy VII", "The Witcher 3"). If description is vague, use ask_user_question to confirm the specific game.

Step 2: Collect Required Information

Must use ask_user_question tool for click-to-select input (manual input also supported):

{
  "questions": [
    {
      "question": "Which city are you departing from?",
      "header": "Departure City",
      "options": [
        { "label": "Shanghai", "description": "Yangtze River Delta" },
        { "label": "Beijing", "description": "North China" },
        { "label": "Guangzhou/Shenzhen", "description": "South China" },
        { "label": "Hangzhou", "description": "Zhejiang/Jiangsu" },
        { "label": "Other City", "description": "I'll type it in" }
      ]
    },
    {
      "question": "How long have you been playing this game?",
      "header": "Player Level",
      "options": [
        { "label": "Just finished — Newbie", "description": "Want to see the game world in person" },
        { "label": "Veteran player", "description": "Familiar with game locations" },
        { "label": "Cloud player", "description": "Never played but drawn by visuals" }
      ]
    },
    {
      "question": "Budget range?",
      "header": "Budget",
      "options": [
        { "label": "Budget · Under ¥5000/person", "description": "Backpacker joy" },
        { "label": "Quality · ¥5000-10000/person", "description": "Spend where it counts" },
        { "label": "Luxury · ¥10000+/person", "description": "Pilgrimage deserves the best" }
      ]
    },
    {
      "question": "Adventure map style?",
      "header": "Visual Style",
      "options": [
        { "label": "In-Game UI (Recommended)", "description": "Semi-transparent panels + minimap markers + quest sidebar, like pausing the game to check map" },
        { "label": "Travel Journal", "description": "Paper texture + tape/stickers + polaroids, like flipping through a travel diary" },
        { "label": "Vintage Parchment", "description": "Aged paper + ink stains + wax seals, medieval adventure feel" },
        { "label": "Modern Minimal Cards", "description": "White background + rounded cards + thin dividers, clean and crisp" },
        { "label": "Pixel Retro", "description": "8-bit colors + pixel grid, classic retro feel" },
        { "label": "Let AI choose", "description": "Match best style based on game type" }
      ]
    }
  ]
}

Notes:

  • Do NOT ask for dates: Use date command to get current date, auto-calculate nearest suitable travel window
  • If Memory already has departure city etc., use directly and skip corresponding questions
  • If user doesn't select style, AI auto-matches based on game type (see references/style-mapping.md)

Step 3: Calculate Travel Dates and Confirm

Use date command to get current date, propose two options:

date +"%Y-%m-%d %A"

Calculation rules:

  • Mon~Thu → recommend "this weekend" (Sat-Sun)
  • Fri → recommend "this weekend" (tomorrow-day after)
  • Sat/Sun → recommend "next weekend"

Show and confirm to user:

📅 Recommended travel dates (auto-calculated from current date):
  🔥 Speed run: [This weekend] 2 days 1 night, power打卡
  🌿 Slow travel: [Next weekend] 4 days 3 nights, relaxed pace

Which pace do you prefer? Or specify your own dates~

Step 4: Progress Feedback (Important!)

At each stage of the flow, tell the user what you're doing — don't make them wait.

🎮 Searching filming locations for "[Game Name]"...
📍 Found [N] locations, filling real data with FlyAI...
✈️ Querying flights from [Departure] → [Destination]...
🏨 Searching hotels in [Destination]...
🏰 Querying attractions and food in [Destination]...
🗺️ Generating adventure map...
✅ Done! Your [Game Name] pilgrimage itinerary is ready:

If any stage takes longer than 5 seconds, output a progress message first before continuing.

Step 5: Search Game Filming Locations

Use web_fetch to search the game's filming locations/prototype sites:

# Search strategy (by priority)
1. Wikipedia: Search "[Game Name] filming locations" or "[Game Name] prototype locations"
2. Game wikis/forums: NGA, Tieba, Reddit r/gaming
3. Travel blogs: MaFengWo, Qyer, Lonely Planet
4. Game official site/artbooks

Extract: Location list (cities/specific spots), in-game scene descriptions, real-world counterparts, importance ranking (main story vs side content).

Quick reference for common game locations: see references/game-locations.md

Step 6: Fill Real Data with FlyAI

For each filming location/city:

# Search flights
flyai search-flight \
  --origin "[Departure City]" --destination "[Location City]" \
  --dep-date [Calculated Date] --sort-type 3

# Search hotels
flyai search-hotels \
  --dest-name "[Location City]" --key-words "[Near landmark]" \
  --check-in-date [Check-in] --check-out-date [Check-out]

# Search attractions
flyai search-poi --city-name "[City Name]"

# Search food/experiences
flyai fliggy-fast-search --query "[City] food experiences"

Detailed parameters: see references/flyai-commands.md

Step 7: Map to RPG Elements

Real ElementRPG MappingAttributes
Game filming locationMain DungeonDifficulty ⭐~⭐⭐⭐⭐⭐ (by walking distance + stamina)
Nearby attractionsSide QuestsRewards: EXP + Gold
HotelSave PointRestores HP/MP
FoodHealing ItemBuff effects (e.g., "Stamina +20%")
TransportPortalConsumes turns (by duration)
Shopping/SouvenirsEquipment ShopBuy items

Step 8: Generate Output

Core principle: Data collection → JSON → Python script orchestration → Output files.

After completing steps 1-7, AI assembles all collected data into JSON, then calls the Python script.

Background Image Selection Rules

Full-screen background image is automatically fetched by Python script from Steam API — AI doesn't need to manually pass URL. Script calls Steam API based on game_type to get the first 1920×1080 game screenshot. Steam AppID mapping:

  • Western fantasy (Witcher 3) → 292030
  • Japanese (Ghost of Tsushima/Sekiro) → 2215430
  • Chinese (Black Myth) → 2358720
  • Cyberpunk → 1091500

Node Card Image Rules

AI must pass FlyAI-returned image URLs into JSON:

  • Hotels: Pass mainPic field (FlyAI search-hotels returns mainPic)
  • Attractions: Pass picUrl field (FlyAI search-poi returns picUrl)
  • Food: Pass picUrl field (FlyAI fliggy-fast-search returns picUrl)

Game screenshots (Important!):

  • Attraction nodes must provide gamePicUrl field — from game screenshots, promo art, or wallpapers
  • Search source priority:

1. Steam community screenshots: https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/{appid}/ss_{hash}.1920x1080.jpg 2. PlayStation Store screenshots: from PS Store page 3. Gameranx / WallpaperCave / Alpha Coders wallpaper sites 4. Game official site/Wikipedia screenshots

  • If no game screenshot can be found, omit gamePicUrl — script will show reality image only

Script auto-injects images into itinerary events: Script matches pois/hotels/foods image URLs by name field — AI doesn't need to manually pass picUrl in itinerary events.

JSON Field Validation Rules (script validates, missing fields cause errors)

flights required: flight_no, dep_time, arr_time, dep_city_name, arr_city_name, jumpUrl(Fliggy link) hotels required: hotel_name, address, price, detailUrl(Fliggy link), mainPic(hotel image) pois required: poi_name, address, game_desc, reality_desc, story_connection(story link) foods required: name, price itinerary events required:

  • transport: name, time, link(Fliggy link)
  • hotel: name, address, price, link(Fliggy link)
  • poi: name, time, game_desc, story_connection
  • food: name, price, buff

Node Immersion Rules (Important!)

Each node should include the following fields for enhanced immersion:

  1. Plot Summary (plot_summary): 2-3 sentences describing the key game storyline段落 related to this location/experience. Helps players recall that game moment when standing at the real location.
  1. Dialogues (dialogues) — *Optional*: Add atmosphere through character-style dialogue. Format:
   "dialogues": [
     {"speaker": "Character Name", "text": "Dialogue content"},
     {"speaker": "Character Name", "text": "Dialogue content"}
   ]

- Recommended: Write original, game-style dialogue inspired by the game's tone and themes (safer, avoids copyright issues) - If quoting actual game lines, keep to short excerpts (1-2 sentences max) and attribute to the game - 0-3 dialogues per node; omit if unsure

  1. Related Locations (related_locations): Extract other location tags from game storyline related to this node. Doesn't need to match exactly, but should have similarity.
   "related_locations": ["In-game Location A", "In-game Location B"]

- Related locations can be fictional in-game place names - Prioritize locations with storyline connections to current node - 1-3 related locations per node

Example — Attraction node with immersion fields:

{
  "time": "14:00",
  "type": "poi",
  "name": "Kiyomizu-dera",
  "game_desc": "Protagonist fights yokai here in the game",
  "reality_desc": "Ancient temple founded in 778",
  "story_connection": "Kiyomizu-dera stage becomes a demon-infested danger zone in the Dark Realm...",
  "plot_summary": "The protagonist faced a powerful yokai on Kiyomizu-dera's stage. Wooden planks at the cliff's edge snapped underfoot. At the last moment, guardian spirit power awakened, and the protagonist counter-killed with barely any HP left.",
  "dialogues": [
    {"speaker": "Protagonist", "text": "This wind from the cliff... it smells just like that day."},
    {"speaker": "Guardian Spirit", "text": "Your soul has not yet extinguished. The battle is not over."}
  ],
  "related_locations": ["Honnō-ji", "Enryaku-ji", "Sanjūsangen-dō"],
  "link": "https://a.feizhu.com/xxx"
}
python scripts/generate_map.py --stdin << 'JSON_EOF'
{
  "game_name": "[Game Name]",
  "style": "[Style: game-ui/travel-journal/parchment/minimal-card/pixel-retro/neon-city/japanese/chinese/scifi]",
  "game_type": "[Type: western/japanese/chinese/cyberpunk/scifi/pixel/modern/default]",
  "departure_city": "[Departure City]",
  "destination_city": "[Destination City]",
  "player_level": "[Player Level]",
  "budget": "[Budget]",
  "date_range": "[Date Range]",
  "days": [Days],
  "people_count": [People],
  "flights": [
    {"flight_no": "[Flight No]", "dep_time": "[Departure Time]", "arr_time": "[Arrival Time]", "price": "[Price]", "duration": "[Duration]", "dep_city_name": "[Departure]", "arr_city_name": "[Destination]", "dep_date": "[Date]", "recommend_reason": "[Reason]", "itemId": "[Item ID]", "jumpUrl": "[Fliggy Link]"}
  ],
  "hotels": [
    {"hotel_name": "[Hotel Name]", "address": "[Address]", "price": "[Price]", "rating": "[Rating]", "recommend_reason": "[Reason]", "city_name": "[City]", "breakfast": "[Breakfast Info]", "mainPic": "[Hotel Image URL]", "detailUrl": "[Fliggy Link]"}
  ],
  "pois": [
    {"poi_name": "[POI Name]", "address": "[Address]", "ticket_price": "[Ticket]", "open_time": "[Hours]", "game_desc": "[In-game scene]", "reality_desc": "[Real-world appearance]", "story_connection": "[Story link]", "recommend_reason": "[Reason]", "picUrl": "[Fliggy Image URL]", "gamePicUrl": "[Game Screenshot URL]", "jumpUrl": "[Fliggy Link]"}
  ],
  "foods": [
    {"name": "[Food Name]", "address": "[Address]", "price": "[Per Person]", "rating": "[Rating]", "hours": "[Hours]", "recommend_reason": "[Reason]", "picUrl": "[Fliggy Image URL]"}
  ],
  "itinerary": [
    {
      "date": "[Date]",
      "theme": "[Theme]",
      "events": [
        {"time": "[Time]", "type": "transport", "name": "[Flight No]", "desc": "[Description]", "price": "[Price]", "link": "[Fliggy Link]"},
        {"time": "[Time]", "type": "hotel", "name": "[Hotel Name]", "address": "[Address]", "price": "[Price]", "rating": "[Rating]", "recommend": "[Reason]", "link": "[Fliggy Link]", "picUrl": "[Hotel Image URL]", "plot_summary": "[Plot Summary]", "dialogues": [{"speaker": "Character", "text": "Dialogue"}], "related_locations": ["Related Location"]},
        {"time": "[Time]", "type": "poi", "name": "[POI Name]", "duration": "[Duration]", "game_desc": "[In-game scene]", "reality_desc": "[Real-world appearance]", "story_connection": "[Story link]", "link": "[Fliggy Link]", "picUrl": "[Fliggy Image URL]", "gamePicUrl": "[Game Screenshot URL]", "plot_summary": "[Plot Summary]", "dialogues": [{"speaker": "Character", "text": "Dialogue"}], "related_locations": ["Related Location"]},
        {"time": "[Time]", "type": "food", "name": "[Food Name]", "price": "[Per Person]", "buff": "[Buff Effect]", "recommend": "[Reason]", "picUrl": "[Fliggy Image URL]", "plot_summary": "[Plot Summary]", "dialogues": [{"speaker": "Character", "text": "Dialogue"}], "related_locations": ["Related Location"]}
      ]
    }
  ]
}
JSON_EOF

Script outputs:

Target time: Complete within 30 seconds (pure string substitution, no AI-generated HTML structure)


Fliggy Link Generation Rules

See references/fliggy-links.md. Every flight/hotel/attraction/food must include a Fliggy purchase link.

Game Style Mapping

See references/style-mapping.md. Auto-switch visual style based on game type and user selection.

Error Handling

SituationHandling
Insufficient filming location infoDowngrade: "This game has limited location info, I found some possible spots, check if they look right"
Location no longer exists/renamedMark "⚠️ In-game scene no longer exists, but similar ones nearby"
Purely fictional game (e.g., Cyberpunk 2077's Night City)Explain "Night City is fictional, but inspired by XX city, I can plan a trip there"
Too many filming locationsFilter TOP 5-8 by importance
Flights/hotels unavailableMark "⚠️ No data", provide alternatives
User unsure of game nameUse ask_user_question to list candidate games for confirmation
Budget severely exceededScript auto-marks "⚠️ Budget alert", AI provides saving options (economy class/hostel/shorter stay)

References

FilePurpose
references/output-format.mdText questbook output format
references/style-mapping.mdGame style mapping table
references/fliggy-links.mdFliggy link generation rules
references/pixel-map-template.mdHTML adventure map template
references/game-locations.mdCommon game filming locations quick reference
references/flyai-commands.mdFlyAI command detailed parameters
scripts/generate_map.pyFlow orchestration script: JSON → HTML + Questbook

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.93%
按下载量换算917

安全审计

VirusTotal

未展示

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills