# Moto Travel Western Sichuan

> 规划风景公路优先的川西（阿坝州、甘孜州）摩托车路书，包括高德真实道路轨迹、用户可控的节假日避堵、历史落雪风险、逐日路线详情、油耗补给和 HTML/Excel 导出。Use when 用户提到川西摩旅、G317/G318 四川段骑行、色达、稻城亚丁、新都桥、四姑娘山、格聂或高原摩托路书。Do NOT use for 汽车自驾、川西以外摩旅、实时应急指挥，或把本 skill 当作医疗、交通执法及道路开放状态的权威结论。

- Skill: `talk2moon/moto-travel-western-sichuan` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add talk2moon/moto-travel-western-sichuan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/talk2moon/moto-travel-western-sichuan/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: TALK2MOON (https://skillmd.com/u/talk2moon)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/talk2moon/moto-travel-western-sichuan

---


# 川西摩旅路书规划

## 核心原则

1. **通行合规优先**:四川省高速公路禁止摩托车进入,算路必须设置"避开高速"。成都城区摩托车限行按区域、时段、号牌及最新交管通告判断,不得仅凭排量或旧版绕城编号下结论;出发前查询成都交警最新规定。
2. **海拔管理优先**:首日住宿优先 ≤2600m;进入 3000m 以上后,住宿海拔原则上每日增加不超过 500m,每累计增加约 1000m 安排一个适应夜。理塘等约 4000m 节点原则上不停留过夜;具体按个人既往反应和症状调整,见 references/western-sichuan-knowledge.md。
3. **风景在路上**:先选连续、有观景价值且适合骑行的铺装风景公路,再用少量景点补充;不得为了堆景点频繁折返、进城或把大部分白天耗在景区停车场/接驳车上。
4. **避堵由用户决定**:节假日必须主动询问用户要避开的日期、地点和时段,以及可否早出/晚到/绕路。只有用户明确选择后才能定案;不得用“先远后近”等固定模板代替用户选择。
5. **历史落雪风险是路线门槛**:按日期、垭口海拔与历史同期雨雪资料逐日评级。高风险路线默认换低海拔替代线或改期;用户坚持时也必须给出触发放弃条件,且最新预报/预警优先于历史概率。
6. **地图必须贴路**:详细路书的主路线必须保存地图服务返回的道路 `route_geometry`,不得用起终点或景点坐标直线相连冒充路线。HTML 使用高德地图 JS API 2.0,不再使用 Leaflet 套高德瓦片。
7. **能力问询不可代填**:任何粗略或详细路线提出前,必须与用户完成一轮骑行能力问询;骑龄/里程经验、高原经验、非铺装经验、车型轮胎、续航、同行者和期望节奏不得靠默认值替用户决定。
8. **免责声明不可删除**:所有 Markdown/Excel/HTML 路书必须出现“仅供参考，请量力而行”；HTML 地图下方还必须显示路线轨迹来源/核验日期和“出发前复核天气、路况、禁限摩及临时管制”。

## 执行前预检与依赖接入

- **任何路线规划前先做服务预检**,确认高德地图、天气、飞猪住宿与联网检索能力;不要假设某个 MCP 一定存在。将结果、提供方、检查时间和回退方案写入顶层 `service_preflight`;预检未完成不得输出路线。
- 缺少高德地图 MCP 时,优先向用户说明用途并请求安装/连接官方高德 MCP;当前客户端支持代装时,在获得必要授权后执行。随后请用户在受信任的本地配置界面设置 **Web 服务 Key**。不要让用户把 Key 粘贴到聊天正文,也不要自行写入仓库。
- 导出高德 JS 地图前,另请用户本地配置 **Web端(JS API) Key + 安全密钥**;二者与 MCP 的 Web 服务 Key 类型不同。可使用 `AMAP_JS_KEY`、`AMAP_JS_SECURITY_CODE`,或在导出的页面里临时输入(仅保存到浏览器会话)。生产部署优先使用高德官方推荐的服务端代理保护安全密钥。
- 地图能力就绪后做一次只读探测:地理编码、避开高速的路径规划、返回道路几何、沿途 POI。天气服务探测预报、历史样本和预警;飞猪探测住宿搜索、价格/房态与设施字段。不能返回道路几何的工具不满足详细路线要求。
- 涉及通行规则、封路、景区预约、票价、营业状态和住宿房态时,必须查询近期来源并记录查询日期。
- 已收集并写入 `roadbook.json` 后,优先运行 `python scripts/build_roadbook.py roadbook.json --output-dir roadbook-output`,一次完成校验与 Markdown/HTML/Excel 导出,不要重复临时编写构建脚本。只做单项诊断时才分别调用各脚本;Excel 导出另需安装 `requirements.txt` 中的依赖。
- 若缺少实时或权威信息,可以给规划建议,但必须把相关结论标为"待出发前复核",不得编造精确状态。

## 数据源与工具(MCP/API 清单)

按优先级排序;检测当前环境是否可用对应 MCP,不可用时执行回退方案。配置方法见 references/mcp-setup.md。

| 用途 | 首选 | 回退 |
|---|---|---|
| 算路/里程/道路几何/POI(避开高速) | 官方高德地图 MCP | 百度地图 MCP;若仍无道路几何,只能输出粗略方案 |
| 天气/往年同期气候 | 和风天气 MCP(历史天气+预报+预警) | 联网检索往年同期天气记录 |
| 住宿(酒店民宿房价房态) | 飞猪 FlyAI MCP(免 Key) | 联网检索 OTA 价格区间,提示用户自订 |
| 沿途情报/实时路况笔记 | 小红书 MCP(社区,有封号风险,提示用户) | 联网检索摩旅论坛/路书 |
| 临时交通管控 | 无 MCP:检索官方渠道清单,见 references/road-conditions.md | 同上(唯一途径) |
| 火车票(接驳/备用) | 12306 社区 MCP | 检索 |

**临时交通管控不得依赖单一 API/MCP。** 先探测当前工具能力,再按 `references/road-conditions.md` 查询官方公告、交警/路政和现场渠道;地图事件图层与社区信息只作辅助线索,不能单独证明道路开放。

## 工作流

### 1. 强制能力问询(必须等用户回答后再规划)

把问题合并成一轮,至少确认并写入顶层 `rider`:摩托车型/排量/轮胎、油箱与实测续航、骑龄、近一年最长单日里程、山路弯道经验、3000m/4000m 以上骑行与住宿经历、既往高反、非铺装/涉水/碎石/扶车/维修经验、单人或组队、同行者最低能力、通信救援手段、期望节奏和最晚收车时间。用户没有回答影响难度的关键项时,不得用“暂按中等经验”先产出路线。

### 1.5 收集其他需求
- 出发地/返回地(默认成都)、天数、出行日期(结合当前日期推算)
- 车型:排量、油箱容积、实测油耗、续航 → 决定加油点规划
- **人群与节奏适配**:独行/情侣/朋友组队/带新手;节奏档位:**轻松游**(日行≤200km、多休整)、**正常游**(200–300km)、**特种兵游**(300km+、早出晚归)。带老人/儿童/新手时降档并加密低海拔住宿
- **节假日避堵选择(必须问)**:是否避开人群/车流;具体要避开的日期、地点、时段;能否接受天未亮出发、午间穿城、绕行增加里程或删景点。将选择写入顶层 `crowd_avoidance`;用户选择不避也必须记录 `mode: accept`
- **风景偏好**:高山垭口/草原/峡谷/森林/湖泊/藏寨,以及更看重连续骑行风景还是停留拍照。另收集少量"一定想去"与"不想去"景点,但景点不默认主导线路
- **落雪风险容忍度**:是否接受历史同期中风险垭口、可否调整日期、是否只走低风险铺装路线
- 偏好:铺装公路为主 / 接受非铺装穿越(格聂南线等) / 深度景区 / 打卡为主
- 若考虑小众穿越线,额外收集:车辆整备与轮胎、单人/组队、非铺装经验、能否读取 GPX/轨迹、最大可接受难度、摔车扶车与基础维修能力、卫星通信/救援保障
- 预算档位(经济/舒适/轻奢),用于住宿与总预算估算
- 若日期覆盖法定节假日,先给用户一个“首日早出并适度延长到更远低海拔住宿点,尽快与核心车流分离”的方案,同时给普通首日作对照并让用户确认。延长不得突破用户最长单日经验、日照、续航与住宿海拔边界;新手、无高原经验、存在雨雪或需夜骑时应明确建议拒绝延长。把提议和用户决定写入 `holiday_strategy`

### 2. 线路规划(风景路线优先,分两级)
- **粗略路线(先出)**:仅列逐日"起点→终点+里程+住宿点+当日最高海拔",供用户快速决策方向与取舍
- **详细路线(确认后出)**:在粗略版基础上补道路轨迹、连续风景路段、途经点、垭口、路况、加油、餐饮与可执行备选路线
- 经典环线模板(顺时针/逆时针、里程、逐日节点)见 references/western-sichuan-knowledge.md「经典环线」
- 用高德 MCP 以"驾车+避开高速"逐段核实里程、时长和道路几何;摩托车通行仍需单独核验。详细路线不得在缺少 `route_geometry` 时定稿
- 候选路线按以下顺序评分:连续风景质量 > 摩托通行与路面可信度 > 历史落雪/地灾风险 > 用户避堵约束 > 补给与住宿 > 景点数量。用 `scenic_routes` 说明每段为什么值得骑、最佳光线/停靠方式,不要只列景点名
- 每个详细骑行日写 `route_phase`:去程 `outbound`、回程 `return`、驻地环线 `local`;HTML 用固定颜色区分,不得再按天随机配色
- 用高德标准底图并显式开启 `bg/point/road/building` 与文字标注;不要使用会弱化道路/POI 的极简主题。通过高德 MCP 的沿线 POI 搜索补 `context_pois`:道路/县城、草原、山峰/垭口、加油、餐饮、住宿、摩托维修和医院。自然地物与小店无可靠坐标时不要编造
- 日行里程控制在 200–300km(山区国道,含游玩 6–8h);400km+ 属赶路需说明
- 每段标注:海拔最高点、垭口、已知烂路/施工段、绕行备选
- **分时段排程**:详细路线按 上午/下午/晚间 排(如:上午翻垭口—午后光线差时骑行—傍晚鱼子西日落);垭口和长线徒步一律安排上午,避开午后天气变化与暗冰
- **空间聚类**:同一片区的风景公路与停靠点安排在同一天或相邻天,减少来回折返;不跨片区穿插
- **景点分级**:每个景点标注 必去/推荐/可选;用户的"一定想去"全部升级为必去,"不想去"直接剔除;时间不足时按 必去>推荐>可选 砍
- 景点推荐分四类标注:**景区**(收费/需预约)、**非景区**、**穿越路线**(非铺装,标注难度)、**铺装景观段**

### 2.2 小众路线候选漏斗

- 用户要求小众、冷门或穿越路线时,读取 `references/niche-routes.md`;其中社交平台路线仅用于发现候选,不等于已核验路书
- 先按骑手能力、车型/轮胎、是否组队和季节筛选,再按风景偏好排序;不得只按点赞量或“风景五星”推荐
- 路线名称、起终点或轨迹不完整时标记 `unverified`,只列入待核验候选,不得放进逐日正式路线
- 技术难度 4–5 的路线进入详细路书前必须同时具备:近期路况证据、可导入的真实轨迹、补给/续航核对、撤退点、禁行/施工核验、天气窗口和明确的 no-go 条件
- 单人、新手、踏板/公路胎、无轨迹或无基础维修能力时,默认排除技术难度 4–5 的非铺装穿越;可以推荐同区域铺装替代线
- 串联多条穿越路线时逐段验证,中间插入补给与恢复节点;不得把多个社交平台路线名称直接拼成“可通行大环线”

### 2.5 gapDays(机动缓冲日,风险驱动)
- 参考基线为每 4–5 个骑行日安排 1 个 gap day;雨雪季、非铺装、新手同行、连续高海拔住宿或可替代路线少时增加缓冲
- 高风险段之后优先紧邻安排,但必须结合当期施工和天气核验,不得把历史风险当作实时封路结论
- 总天数 = 骑行日 + gap day ≤ 用户假期;若安全缓冲无法容纳,应明确说明方案不可行并缩短线路,不得靠压缩休息或超长骑行强行完成
- gap day 在行程表中显式列出并说明其兜底场景(见 references/roadbook-schema.md 规则)

### 3. 加油点规划(按车型)
- 用 `scripts/fuel_planner.py` 输入油箱容积、油耗、续航安全系数,输出"最大安全间隔里程"和沿途必加节点
- 已知续航黑洞清单(理塘—稻城、新龙段等)见 references/western-sichuan-knowledge.md「加油」
- 原则:县城节点优先加满;优先正规大型加油站,但续航紧张时不得为了品牌跳过可用且合规的燃油;高原折减系数只是保守规划参数,应以车辆实测为准

### 4. 天气与装备
- 和风 MCP 查目的地历史同期天气+沿途天气预报;无 MCP 时可用 **Open-Meteo**(免 Key,含历史与预报 API)或联网检索往年同期记录。历史资料至少匹配出行月份/旬、垭口或最近代表站、海拔,不得拿县城低海拔天气直接代表高垭口
- 每个骑行日写 `snow_risk`:低/中/高/未知、资料窗口和来源摘要、查询日期、处置动作。数据不足写“未知”,不得伪造精确百分比
- 每个详细骑行日另写 `weather_forecast` 与 `historical_weather`;历史概率必须包含来源、查询时间、样本范围/样本量和计算口径。没有足够样本时显示“无法计算可靠概率”,不得从一句气候描述反推百分比。HTML 顶部随所选日显示预报、降水概率、历史同期雨雪/降雪概率和数据更新时间
- 历史同期高风险时优先换低海拔线/调日期;只有在具备近期无雪证据、当日预报与预警复核、明确 `no_go_conditions` 和已核验备选路线时才可保留为条件路线
- **天气适配调整**:出发前按 7 天预报动态调整行程顺序——降雨/降雪日避开高垭口与长线徒步(与 gap day、每日备用方案联动);大风预警日减少峡谷横风路段骑行
- 装备清单模板(分层衣物、车辆整备、胎压高原修正、工具包、药品保险)见 references/western-sichuan-knowledge.md「装备与高反」
- 按出行月份和最高垭口海拔增删装备;实用提醒须含:防晒(高原紫外线)、雨具、药品与紧急医疗点(沿线县城医院)、血氧监测纪律
- 医疗建议只提供风险识别和就医/下撤原则:有高反症状时不继续升高住宿海拔;同海拔休息后加重,或出现静息呼吸困难、步态不稳、意识异常时立即下撤并求医。血氧读数必须结合海拔、趋势、症状和设备误差判断,不得用单一阈值替代诊断;小罐便携氧不能替代下撤或医疗救治。

### 5. 住宿推荐
- 飞猪 FlyAI MCP 按每晚节点查酒店/民宿,给出 2–3 个选项(价格、海拔、是否有供氧/地暖);大假提示提前 1–2 个月预订
- 把候选写入 `lodging_options`,至少包含名称、价格/房态状态、海拔、供氧、地暖、摩托停车、来源和查询时间。HTML 每日详情卡必须显示这些候选
- **没有 MCP 不等于没有能力:必须先探测 CLI,再考虑回退。** 执行 `which flyai`,缺失时按 `references/mcp-setup.md` 复核当前官方安装方法并请求必要授权。CLI 可用时优先运行 `scripts/fetch_lodging.py roadbook.json --budget-low <下限> --budget-high <上限> -o lodging.json`,复用其缓存、限频、风控识别、价格解析与坐标复核,不要为每次行程重新编写采集脚本。**不要在未实际尝试的情况下直接把住宿降级为“给价格区间由用户自订”**——那会让整个住宿环节失去事实依据。
- **必须按用户给的住宿预算来筛,不要自己假设。** 预算是步骤 1 要收集的“预算档位”。已知目标区间(如 200–400 元/晚)时,用 `--max-price <上限>` 做服务端过滤,再在本地按区间细分:区间内优先选档次更高的,同时把「更省(低于下限)」与「超预算(高于上限)」各留 2–3 家写进路书,让用户自己权衡。
- 用 CLI/API 结果时有五个坑(详见 references/mcp-setup.md):①价格是**脱敏区间**(`¥2xx`)不是精确报价,不得写成具体房价,也不等于实时房态;②**解析区间价不要直接去掉 x**——`¥2xx` 是 200 不是 2,`¥7x` 是 70,算错会让区间筛选整体失效;③**飞猪有风控,且风控返回的是「空结果」而不是报错**,高频查询会得到 403 `risk control`,只看 `itemList` 会把“被拦”误判成“当地没酒店”→ 查询间隔 ≥25s、检测 `risk control` 并退避重试、把“风控失败”与“真的无结果”分开标注;④**单次查询结果有限且会轮换**,把四种 `--sort` 取并集(实测可让某节点从 0 家变 1 家、1 家变 4 家);⑤目的地名有歧义(“卧龙”会匹配到河南南阳卧龙区),**必须用返回的经纬度与节点坐标算距离后排序筛选**。
- **房源紧张或价格分布“二元”时要如实说。** 例如格聂镇 35km 内 7 家的价格是“要么 ¥6x 基础民宿、要么 ¥5xx 以上”,中间一档为空——此时应写明“该预算区间内无房源”,并给出「更省/超预算/改住低海拔节点」三条路,**不要为了凑数硬塞一家不符合要求的房**。高海拔节点(≥3000m)若只能住基础房,必须提醒当面确认供氧、热水与停车。
- 仍不可用时才回退:给出节点住宿策略(低海拔优先、供氧房)与价格区间,提示用户 OTA 自订,并明确标注“未接入实时房态”

### 5.5 顺路餐饮
- 每日给出:沿途适合午餐的城镇/节点 + 当地特色(牦牛肉汤锅、藏餐、酥油茶、理塘鳕鱼、丹巴香猪腿等) + 住宿点周边晚餐区域
- 情报优先小红书 MCP(搜"地点+美食/摩旅"),无 MCP 用检索;高原提示:前两天避免饮酒和过饱

### 5.6 分类预算
- 用 `scripts/budget_estimator.py` 输入路书 JSON,输出分类预算:油费(由预估耗油×当期油价)、住宿、餐饮、门票、机动费用(默认总预算12%)
- 按用户预算档位调整住宿/餐饮单价;输出全程总计与每日分布

### 6. 预约、动态核验与合规检查(输出前必查)
- **动态核验**:对每个收费景区核验 门票价格、开放时间、预约要求、临时关闭信息;**每条核验结论必须记录来源**(官网/公众号/OTA 页面+查询日期),查不到近期来源的标注"待复核"
- 稻城亚丁、色达佛学院、九寨沟等限流预约要求与提前天数,见 references/western-sichuan-knowledge.md「预约」
- 证件清单、检查站、无人机禁飞区(色达/亚青寺全域禁飞)

### 6.5 每日备用方案(plan B)
- 除全局 gapDays 外,**每个骑行日给一个当日备用方案**:雨天/恶劣天气/垭口管制/景点临时关闭时的替换安排(如:折多山管制→S434机场路或G350;亚丁下雨→短线替代长线;佛学院未约到→东嘎寺+金马草原)
- 与 references/road-conditions.md 的渠道联动:备用方案触发时先查官方渠道核实

### 7. 输出路书
- 先把规划整理成**路书 JSON**(数据模型与字段规则见 references/roadbook-schema.md),并通过 `scripts/validate_roadbook.py` 校验
- 同一份路书中的坐标必须使用统一坐标系并在顶层声明 `coordinate_system`;高德用 GCJ-02、百度用 BD-09、GPS/OSM 常用 WGS-84。HTML 导出器会转换到高德 JS API 所需的 GCJ-02
- 详细路线必须写入地图服务返回的 `route_geometry` 与 `route_source`;粗略路线缺少几何时,HTML 可调用高德 `AMap.Driving` 临时贴路显示,但必须用虚线标记“需复核禁摩/高速”,不得作为定稿依据
- 详细穿越日补充 `surface`、`technical_difficulty`、`route_confidence`、`route_evidence`、`bailout_points` 和 `no_go_conditions`;难度 4–5 缺任一安全字段时不得通过校验
- 默认用 `scripts/export_markdown.py` 输出 Markdown 路书文件,含逐日总览与每日起终点、连续风景路线、油耗补给、住宿、天气落雪、避堵和备选路线;不要从旧行程复制一次性 Markdown 生成脚本
- **Excel 导出**:`python scripts/export_excel.py roadbook.json -o 路书.xlsx`。字段含日期、天气/穿衣、海拔、起终点、路面/技术难度/可信度、风景点、封路可能性、加油、餐饮、备用方案和预估耗油;高/中风险标色、gap day 灰底、末尾汇总总耗油
- **HTML 地图导出**:`AMAP_JS_KEY=... AMAP_JS_SECURITY_CODE=... python scripts/export_html.py roadbook.json -o 路书.html`。页面使用高德 JS API 2.0;左侧/底部每个“详情”按钮进入 `#day-N` 每日详情,展示起点、终点、风景路线、里程、预估油耗、加油点、备选路线、吃饭点、避堵安排、历史落雪风险与路况。未配置 Key 时页面会引导临时输入
- HTML 必须固定使用:去程橙色、回程青蓝色、驻地环线金色、备选路线冰蓝虚线,并在地图下方显示图注。地图下方固定显示“仅供参考，请量力而行”、当前主路线轨迹来源/核验日期和出发前复核提示;顶部天气条随每日详情联动;详情卡必须包含酒店/民宿建议
- 用户要求 Word 时再转 docx

## References 索引

- **references/western-sichuan-knowledge.md**:川西领域知识——经典环线模板、垭口海拔表、加油黑洞、预约规则、季节景色、装备与高反。规划任何行程时读取。
- **references/roadbook-schema.md**:路书 JSON 数据模型(粗略/详细两级字段、gapDays 规则、封路评级规则)。进入输出阶段(步骤7)时读取。
- **references/roadbook.schema.json**:可由程序校验的 JSON Schema;修改字段或脚本时同步更新。
- **references/mcp-setup.md**:各 MCP(高德/百度/飞猪 FlyAI/和风/12306/小红书)的接入配置说明。用户询问如何配置,或需要给出配置指引时读取。
- **references/planning-policy.md**:节假日用户可控避堵、风景路线评分和历史落雪风险决策规则。规划任何详细行程时读取。
- **references/road-conditions.md**:临时交通管控与路况官方查询渠道清单+检索模板。涉及管制、封路、施工、天气封山时读取。
- **references/niche-routes.md**:来自用户提供档案的 20 条小众路线线索、来源与核验状态。仅在用户要求小众/穿越路线时读取。
- **references/pipeline.md**:一键构建、选择导出格式和 FlyAI 住宿预采集的命令。进入输出阶段或需要减少重复脚本操作时读取。

