端到端旅行计划制定助手。从"我想带家人去XX玩"一句模糊需求出发,经过需求收集→MCP驱动的方案生成(携程问道+高德)→决策辅助→订房(可跳过)→精美HTML路书交付,全流程覆盖。支持MCP缺失时WebSearch降级兜底。
Travel Planner — 旅行计划制定助手是一项面向实际任务的技能,主要用于用户说出以下任一类意图时自动加载本 skill:;"帮我规划旅行""我想去 XX 玩""做个路书""亲子游怎么安排";
Phase 1:需求收集 🎯 弹窗式交互;目标 :通过结构化弹窗一次性收齐所有。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
用户说出以下任一类意图时自动加载本 skill:
Phase 1: 需求收集 → Phase 2: 方案生成(2.0 降级决策 → MCP/WebSearch 双路径)
→ Phase 3: 决策辅助 → Phase 4: 订房(可跳过) → Phase 5: 路书交付 → Phase 6: 闭环
目标:通过结构化弹窗一次性收齐所有关键信息,不回锅,避免来回拉扯。
交互方式:用 AskUserQuestion 工具分 2-3 轮弹窗,让用户"点选 + 填空",而非手写长文本:
Other 走自由输入,覆盖长尾需求multiSelect: true)触发话术(开场,避免冷启动):
"行,去云南玩!先对一下基本信息——下面弹窗点几下就完事,复杂的走 Other 自由填。"
调用一次
AskUserQuestion抛出 4 题。
Q1 出发地:默认给一线 + 新一线城市,其他城市走 Other 填空
Q2 目的地范围(多选,云南热门组合):
Q3 出行月份:
Q4 行程天数:
Q1 同行人结构:
Q2 交通偏好:
Q3 食宿预算(每人每天):
Q4 住宿偏好(多选):
仅当 Round 2 同行人 = 家庭带娃 / 带老人,或目的地已锁定具体线路时触发。普通用户可跳过,直接进入整合输出。
Q1 必去景点 / 体验(填空,Other 必填) Q2 不想去的地方(填空,Other 可空) Q3 驾驶能力:
Q4 旅行节奏:
弹窗收齐后,输出一份结构化需求卡给用户最终确认(不直接进 Phase 2):
## 需求卡 | 字段 | 你的输入 | |------|----------| | 出发地 | 北京 | | 目的地 | 大理 + 丽江 | | 出行时间 | 9-10 月 / 8 天 | | 同行人 | 家庭带娃(孩子 5 岁)| | 交通 | 飞机到昆明 + 当地租车 | | 预算 | ¥800-1500 / 人 / 天 | | 住宿 | 品牌连锁 + 亲子友好 | | 必去 | ... | | 不去 | ... | | 节奏 | 适中留白 |
用户回复"确认 / OK / 走起"后进入 Phase 2 区域扫描;如需调整则直接说改哪一项。
必须在进入 2.1 之前执行。 检查 ctrip-wendao 和 amap-maps 连接状态:
→ 走标准流程(2.1 问道扫骨架 + 高德补坐标 → 2.2 问道出骨架 + 高德拉里程)
先告知用户,同时给出选择:
"检测到以下 MCP 未连接:{缺失的 MCP 名称}。
- A 方案:先去连接器管理页面安装这些 MCP,回来继续走完整流程(精度高、体验好)
- B 方案:我先用 WebSearch 帮你跑一版,精度会打折但能快速出结果。路线里程用网络搜索估算代替高德实测,景点推荐用搜索引擎代替携程问道"
用户选 A → 等待 MCP 就绪后走标准流程。 用户选 B → 走降级流程(WebSearch 兜底),细则如下。
降级模式标志:进入降级模式后,所有里程标注为 WebSearch 估算,所有方案标注 ⚠️ 降级版(MCP 缺失)。
用 WebSearch 替代 ctrip-wendao 完成区域扫描:
- 搜索:"{目的地} 旅游攻略 必去景点 经典路线 {出行月份}"
- 搜索:"{目的地} 亲子游 自驾游 推荐"
- 从搜索结果中提取:城市/区域列表、景点梯队排名、季节适配建议
- 数据来源标注"WebSearch",非"携程问道"
降级:2.1 坐标获取(WebSearch 替代 amap-maps)
用 WebSearch 替代高德 POI 搜索获取坐标:
- 搜索:"{景点名} 经纬度" 或 "{景点名} 位置坐标"
- 从百度百科/马蜂窝等页面提取坐标信息
- 无法获取坐标的景点标注"坐标估算",在路书中使用城市中心坐标近似
- 注:降级模式下跳过营业时间获取(WebSearch 难以准确获取)
用 WebSearch 替代 ctrip-wendao 生成行程骨架:
- 搜索:"{目的地} {天数}天 自驾游路线 行程安排"
- 搜索:"{目的地} 经典环线 自驾"
- 从马蜂窝/携程攻略/穷游等结果中提取成熟的行程骨架
- 人工整理成 2-3 版方案(仿问道骨架格式)
用 WebSearch 替代高德 directionDriving 获取里程:
- 搜索:"{城市A} 到 {城市B} 自驾 多少公里 多长时间"
- 从搜索结果(百度地图网页版、马蜂窝攻略)提取距离和预估时间
- 所有里程标注为"WebSearch 估算"(非"高德实测")
- 如果搜索不到某段里程,用相近城市间直线距离 × 1.3 粗略估计,标注"粗略估算"
⚠️ 降级版,所有里程标注 WebSearch 估算,地图仍用高德瓦片渲染(瓦片源不依赖 MCP 连接)第一步:携程问道扫骨架(降级模式见 2.0)
调用 ctrip-wendao(携程问道 MCP): - 目的地全域扫描:有哪些值得去的城市/区域? - 景点梯队排名:第一梯队(必去)、第二梯队(顺路)、第三梯队(可跳过) - 口碑与季节适配:当前季节最适合什么?
第二步:高德补坐标(降级模式见 2.0)
调用 mcp__amap-maps__maps_text_search: - 对问道扫出的每个城市/景区,用 keywords=景区名+city=所在城市 搜 POI - 获取精确坐标(GCJ-02)和营业时间
第三步:搜索补血肉
用 WebSearch 补细节(小红书/马蜂窝/百度): - 最近游客真实评价(尤其亲子/老人友好度) - 小众路线、隐藏玩法 - 闭馆日/维修期/季节限制
输出:一份"全域目的地手册",含坐标、梯队、口碑、季节适配建议。
第一步:携程问道出骨架(降级模式见 2.0)
调用 ctrip-wendao: - 基于需求卡 + 全域手册,生成 2-3 版行程骨架 - 每版含:城市节点序列、推荐景点、住宿城市
第二步:高德实时拉里程(关键!6.1 前置到这里)(降级模式见 2.0)
对每条骨架的相邻城市节点,调用:
mcp__amap-maps__maps_directionDriving({
origin: "起点经度,纬度",
destination: "终点经度,纬度"
})
获取:总距离(米)、预估时长(秒)、路线步骤
为什么用高德不用腾讯地图? 腾讯地图 MCP directionDriving 有约 30 分钟级并发限流冷却(实战踩坑),高德 directionDriving 无此问题,且坐标系同为 GCJ-02。
里程标注规则:
高德实测 vs 规划估算第三步:出方案文档 方案文档格式:
## 方案 X:[一句话概括] **路线骨架**:城市A → 城市B → ... → 城市C **节奏**:松/紧/适中 **取舍逻辑**:为什么选这些点 | 日期 | 行程 | 住宿 | 开车 | 亮点 | |------|------|------|------|------| | D1 | A→B | B | Xkm/Yh(实测) | ... | ... **每日详情**(含景点时间建议、餐厅推荐)
当用户面临二选一(如"镜泊湖 vs 伊春"),走四维决策框架:
| 维度 | 分析内容 | 数据来源 |
|---|---|---|
| 事实层 | 距离、营业时间、门票、适合年龄段、体力消耗 | 高德 POI + 搜索 |
| 口碑层 | 最近游客评价、亲子友好度 | 携程问道 + 小红书 |
| 性价比层 | 时间投入 vs 体验产出 | 综合判断 |
| 路由层 | 选了 A 对整条线路的影响 | 高德重算里程 |
输出:一份对比报告,给出推荐(带理由),不等用户做选择题。
触发条件:用户确认最终方案后触发。用户可以跳过(说"酒店我自己定")。
标准模式(ctrip-wendao 可用):
逐城调用 ctrip-wendao: "在[城市名]推荐3家亲子友好酒店,靠近[核心景点/区域], 预算约[预算范围]/晚,含评分、价格、特色"
降级模式(ctrip-wendao 不可用,见 2.0):
用 WebSearch 替代 ctrip-wendao 搜酒店推荐:
- 搜索:"{城市} 亲子酒店 推荐 {预算}元"
- 搜索:"{城市} {酒店名} 携程 评分"(验证评分和价格)
- 从携程/马蜂窝/大众点评结果中提取酒店信息和预订链接
输出格式:每城 3 选 1 对比表(必须含预订链接)
### [城市名]住宿推荐 | 酒店 | 评分 | 参考价/晚 | 位置 | 亲子亮点 | 预订 | |------|------|-----------|------|----------|------| | A | 4.8 | ¥XXX | ... | ... | [预订](链接) | | B | 4.6 | ¥XXX | ... | ... | [预订](链接) | | C | 4.5 | ¥XXX | ... | ... | [预订](链接) | 推荐:A,理由:...
每家推荐酒店必须附带携程预订链接,不允许出现"请在携程搜索"这类无链接输出。
调用方式:
用 WebSearch 搜索: "[酒店完整名称] 携程 预订"
从搜索结果中提取 hotels.ctrip.com/hotel/ 或 hotels.ctrip.com/hotels/ 开头的链接。
⚠️ 注意:携程问道(ctrip-wendao)不提供直接预订 URL,多次验证均返回"无法直接提供可点击的预订URL"。因此预订链接统一通过 WebSearch 获取,不依赖问道。
输出格式:每家酒店行末追加 [预订](链接)。
铁律:链接缺失 ≠ 跳过,WebSearch 搜到为止。
用户说以下任一句即跳过 Phase 4,直接进入 Phase 5:
| 版本 | 适用对象 | 特点 |
|---|---|---|
| 家人版 | 同行的家人 | 文字温暖、地图直观、照片丰富 |
| 执行版 | 自己看 | 时间节点、订房链接、备选方案 |
| 长辈版 | 老人 | 大字、中文标注、无拼音 |
地图:
https://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}(style=7,浅色底)照片:
https://commons.wikimedia.org/wiki/Special:FilePath/文件名)格式:
里程/时间标注:
WebSearch 估算封面(标题 + 日期 + 路线概要 + [降级模式时追标 ⚠️ 降级版]) 总览页(全程路线图 + 总览表 + 亮点速览) 逐日页 D1-DN(每日路线图 + 景点照片 + 文字描述) 实用信息(天气参考、装备清单、注意事项)
/、空格等特殊字符)WGS-84 → GCJ-02 转换(见 references/wgs84_to_gcj02.py)
Leaflet 多地图共享瓦片实例 Bug:
// ❌ 错误:全局共享 tiles 实例,只挂到最后一个地图
var tiles = L.tileLayer(...);
tiles.addTo(map1);
tiles.addTo(map2); // 实际上不会显示
// ✅ 正确:每个地图独立创建
function initMap(mapId, ...) {
var map = L.map(mapId).setView([lat, lng], zoom);
L.tileLayer(url, opts).addTo(map); // 独立实例
...
}
HTML 生成建议:
如果数据拉取因 MCP 限流等外部原因中断,建一次性 automation 待冷却恢复后继续:
automation_update(mode="create", scheduleType="once", ...)
自动化 prompt 要求:
| 原则 | 说明 |
|---|---|
| 先区域扫描,再生成方案 | 用户对目的地认知不完整时,先给全景视野再决策 |
| 每次迭代只改 1-2 个变量 | 不推倒重来,保护用户心智投入 |
| 里程在生成阶段即实测 | 高德实时拉,不留"事后修正"尾巴 |
| 问道扫骨架、搜索补血肉 | MCP 出结构化数据,公开搜索补口碑细节 |
| 二选一不走直觉 | 四维框架(事实/口碑/性价比/路由)辅助决策 |
| 受众决定交付形式 | 家人版 ≠ 执行版 ≠ 长辈版 |
| 路书是工程产物 | 考虑瓦片 bug、坐标偏移、图片 404、id 合法性 |
| 订房可跳过 | 用户说"酒店我自己定"即跳过 Phase 4 |
| MCP 缺失不卡流程 | 检测到 MCP 未连接时,给用户 A/B 两选(安装 MCP / WebSearch 降级),绝不卡在"请安装"不动 |
本 skill 优先依赖以下 MCP 连接器,缺失时有 WebSearch 降级方案(详见 Phase 2.0):
| MCP | 用途 | 降级方案 |
|---|---|---|
| ctrip-wendao(携程问道) | 区域扫描、行程生成、酒店推荐 | WebSearch 搜索攻略/游记/酒店推荐 |
| amap-maps(高德地图) | 驾车里程/时长、POI 坐标、天气 | WebSearch 搜索距离/坐标,标注"估算" |
前置检查:Phase 2 开始前,先确认两个 MCP 连接状态。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章