Travel Itinerary(旅游行程规划)
为用户的国内假期旅游需求,生成一份可交互 HTML 单页行程。默认节奏简洁实用:每日 3-5 个核心节点,单点停留时间长,留白充足。
When to Use
触发条件(满足其一即可):
- 用户说"帮我规划/安排/做一份 XX 行程"
- 用户提供天数 + 目的地(如"5 天 4 夜去成都")
- 用户提供人群/主题(如"带 3 岁孩子去三亚"、"国庆 7 天自驾新疆")
- 用户说"想要一份 HTML 版的攻略"、"做张地图行程表"
不适用场景:
- 出境游(签证、汇率、当地文化差异超出本 skill 范围)
- 纯订票/订酒店(用对应 MCP 工具即可)
- 单日市内活动(用本地 POI 检索即可,不需要行程结构)
Workflow
按以下顺序执行,不要跳步:
Step 1 — 确认核心参数
读取用户请求,提取:
- 目的地(省市级,可多个)
- 天数 / 几晚几天
- 出行日期(节假日需标注人流高峰)
- 人数与构成(成人/儿童/老人 — 影响节奏与餐饮)
- 主题偏好(美食/自然/人文/购物/亲子)
- 交通方式偏好(高铁/自驾/包车/飞机)
如果信息不全,用 AskUserQuestion 一次性补齐(不超过 3 个问题),不要反复追问。
Step 2 — 行程结构设计
按以下框架产出日程骨架,先写 Markdown 表格再渲染 HTML:
| 时段 | 节点类型 | 节点示例 |
|---|---|---|
| 上午 | 1 个核心景点 + 早餐 | 9:00 故宫 |
| 中午 | 1 餐 + 通勤 | 12:30 全聚德 |
| 下午 | 1-2 个景点 | 14:30 景山公园 |
| 傍晚 | 1 餐 + 通勤 | 18:30 簋街 |
| 晚上 | 自由活动 / 夜景观赏 | 王府井步行街 |
节奏规则:
- 每日不超过 5 个核心节点(含景点、餐饮、住宿 check-in)
- 单景点建议停留 1.5-3 小时,留白 = 用户拍照/休息/随机发现
- 不安排连续 3 天高强度,每隔 1-2 天插入半天自由时间
- 跨城移动日只安排 1-2 个轻量活动
Step 3 — 数据采集
按需调用工具:
- POI 推荐:使用 tencent-map MCP 检索景点 POI、附近餐饮、酒店
- 交通查询:使用 WebFetch 调用 12306 高铁班次 / 携程机票信息页(不要直接进 12306 站点,带"出发地→目的地 + 日期"关键词即可)
- 地图坐标:使用高德/百度地图 API 或 WebSearch "目的地 经纬度"获取经纬度(POI 名 + lng/lat)
- 实时信息(可选):天气用 WebSearch,节假日人流用 WebSearch
> 注:没有高德/百度的官方 MCP 时,统一用腾讯地图 MCP 兜底。地图 HTML 渲染默认使用腾讯地图 JS API(无需 Key 的轻量 iframe 嵌入)。
Step 4 — 渲染输出
按 assets/template.html 的结构,把数据填入。脚本 scripts/render_itinerary.py 可以把结构化 JSON 自动渲染成最终 HTML。
输出要求:
- 文件名:itinerary-<目的地拼音>-<天数>D.html
- 必须包含:
1. 行程概览(天数、人数、主题、预算区间)
2. 每日时间轴(垂直排版,节点可点击展开 Tips)
3. 高德/腾讯地图 iframe(每城一张,每日标记 + 路线)
4. 预算明细表(交通/住宿/餐饮/门票/购物)
5. 行前清单(证件、衣物、药品、APP)
Step 5 — 交付
调用 deliver_attachments 把 HTML 文件发给用户,并附 1 段使用提示:"长按图片可保存到手机地图;时间轴节点可点击查看 Tips"。
Core Principles(硬性约束)
- 数据真实:景点名、餐饮店名、酒店名必须来自实际检索结果,不要凭印象编造
- 预算实在:预算区间必须给出"低/中/高"三档,单位明确(元/人)
- 可落地:每个景点必须有开放时间 / 票价 / 预约方式(如需)
- 中文优先:所有 POI 名使用简体中文(高德、百度地图优先于 Google Maps)
- 零占位符:最终交付前检查 HTML 中无
{{placeholder}}、TODO等未替换占位符
Resources
references/
poi-categories.md— POI 分类速查表(川菜/江浙菜/亲子景点/夜景观赏点等)transport-modes.md— 交通方式选择指南(高铁/自驾/包车/地铁,含费用区间与决策树)budget-template.md— 预算表模板(按目的地档位给出参考价)
assets/
template.html— 互动 HTML 模板(每日时间轴 + 腾讯地图 iframe + 预算表 + 行前清单)sample-data.json— 一份完整示例数据(成都 4 天 3 夜美食之旅)
scripts/
render_itinerary.py— 把 JSON 数据渲染成最终 HTML(基于template.html)
Quality Checklist(交付前自检)
- [ ] 每个景点都有:经纬度、开放时间、票价、停留建议
- [ ] 每餐都有:推荐菜、人均价位、必排队时长(如适用)
- [ ] 跨城移动日标注了交通方式 + 时长
- [ ] 预算表三项相加 = 总预算(误差 < 10%)
- [ ] 至少 1 个应急方案(天气恶劣 / 景点临时关闭)
- [ ] HTML 中所有 iframe / 链接均可打开