旅行计划可视化
SkillFiles & storageTurns travel itineraries into a beautiful, offline-readable, mobile-first single-file HTML (interactive map + daily timeline + pre-departure booking reminders). Two ways to use it—give it just a destination and number of days and let it plan for you, or drop in an existing plan and have it generate
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 旅行计划可视化 skill
What this skill tells your AI
The instructions your AI receives, as published by zexuanw958-svg/travel-plan-viz in travel-plan-viz/SKILL.md and read by ahel’s review.
把一趟旅行变成单文件 HTML 页面:交互地图、每日时间轴、出发前订票提醒。机械逻辑用自带引擎(assets/map.js、assets/reminders.js),美学交给设计步骤(frontend-design / huashu-design,或内置准则兜底)。
第一步:判断模式
- 用户只给了目的地+天数(如"香港 4 天 3 晚")→ 模式 A(从零规划)。
- 用户已提供行程(文字或旧 HTML 文件)→ 模式 B(解析已有计划)。
模式 A:从零规划
- 读
references/research-guide.md,联网调研目的地。 - 在对话里用 markdown 提出详实逐日计划(早/中/晚、景点、交通、住宿)。
- 与用户来回迭代,直到用户明确确认。
- 进入"调研补全 + 生成"。
模式 B:已有计划
- 解析用户给的行程。若是本 skill 生成的旧 HTML:直接解析其中
<script id="trip-data" type="application/json">的完整tripJSON(数据与呈现分离,别去反解析渲染后的 DOM——必丢字段);旧版页面没有这块时才从 DOM/文本提取。 - 顺手提建议(Agent 增值,但别硬来):把用户的计划对照"完善行程"的维度(行前须知/天气应对、提前订票项、点到点交通、节奏与缓冲、当地必吃、片区住宿是否合理等)快速体检,在对话里给最多 3–4 条具体、可选的优化建议。原则:
- 只挑真实存在的缺口;计划本就完整就直说"挺完整",不要硬凑、不要说教、不要替用户重排行程。
- 一句点出问题 + 一句给方向即可,简洁;建议默认口头给,保持 HTML 成品干净(用户想把建议也放进页面再加)。
- 这是我们区别于"纯提示词转 HTML"的地方——发挥 Agent 的判断力,但点到为止。
- 进入"调研补全 + 生成"(生成不被建议阻塞;采纳哪些由用户定)。
调研补全 + 生成
- 先判断第三方 skill 适配(详见
references/research-guide.md「第三方 skill 适配」节):若当前 Agent 可调用用户已装的官方旅行 skill / MCP(飞猪、高德、腾讯地图、滴滴等),优先用它们拿对应数据——高德地理编码拿精确坐标(注意:高德/腾讯返回 GCJ-02 坐标,写入trip前必须用map.js的gcj02ToWgs84转成 WGS-84,否则在 OSM 地图上偏移几百米)、路线规划增强点到点交通、天气查询、生成专属地图/导航/叫车的行动链接;飞猪拿实时航班/酒店/门票及预订链接。把用到的来源登记进trip.dataSources,行动链接写入对应节点的actionLink(链接只用官方返回的,绝不手拼)。没有这些 skill 就全部走下面的静态调研,成品不缺区块。数据实时性/真实性由对方官方 skill 负责,本 skill 不背书、措辞中性。 - 按
references/research-guide.md联网补全(官方 skill 未覆盖的部分):坐标、真实图片 URL、评分、点评、营业时间/休息日、门票参考价、需提前订项及leadDays;行前须知(天气/台风/穿搭/支付/App/购票时机)、点到点交通(方式/票价/耗时)、时令限定活动、每餐必点菜+参考价;航班给 3-5 个待选班次、酒店按片区+价位推荐、并准备免责声明与全程贴士。排程体现天气/季节逻辑(户外排凉爽时段)。本 skill 自身不查实时票价(实时数据只来自上面用户已装的官方 skill)。 - 组织成
assets/page-contract.md里定义的trip数据结构(含可选的dataSources与节点actionLink)。 - 用设计步骤生成风格化 HTML:优先调用专业设计 skill——
frontend-design或huashu-design(花叔Design),任一已安装即用;两者都没有时,按references/design-guidelines.md的内置美学准则自己出。无论哪种方式都要严格遵守assets/page-contract.md的区块与约束:- 内联
assets/map.js、assets/reminders.js内容到 HTML(保证单文件)。 - 完整
trip对象以<script id="trip-data" type="application/json">内嵌进页面(后续迭代修改的数据源)。 - 页顶清单用
computeReminders+renderChecklistHTML。 - 展示行前须知区块;航班区展示待选班次(已预订的高亮),酒店区按片区+价位展示,附近显著展示免责声明。
- 时间轴卡片展示营业时间/门票参考价/交通/时令活动等可选字段;展示每日餐饮(必点菜+价)、当日与全程贴士、单日二选一方案(若有)。
- 地图用
initTravelMap,引入 Leaflet CDN 的 CSS/JS。 - 时间轴上
needsBooking项插入reminderBadgeHTML(leadDays)。 - 可选适配元素:节点带
actionLink时渲染「去预订/导航/叫车」按钮(缺则不渲染、不手拼);dataSources非空时中性注明数据来源。 - 每趟行程用不同配色。
- 内联
- 保存为
<行程名>-旅行计划.html到工作目录。 - 机械校验(必做):跑
node <skill目录>/assets/validate.js <生成的.html>——校验 trip 必填字段、坐标越界/离群、必需区块标记、trip-data 内嵌。有 ERROR 必须修复后重跑至通过;WARNING 逐条人工判断。 - 告诉用户:之后可把该 HTML 文件丢回来,说"把第三天的 X 挪到第四天",会在原结构上修改(直接改内嵌的 trip-data JSON 再重渲染)。
不做
本 skill 自身不做:实时票价/机票价格查询、代订票、多语言 UI、后端。全程静态单文件。
注意边界:用户若另装了官方旅行 skill(飞猪/高德/腾讯地图/滴滴等),实时数据与「预订/导航/叫车」链接由其提供、责任在其——本 skill 只适配呈现,并不改变上面「自身不做」的范围(仍不自查实时价、不代订)。
Signals
- GitHub stars
- 377
- Forks
- 13
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
travel-plan-viz- Source
- github.com/zexuanw958-svg/travel-plan-viz