<!-- 发布到 SkillHub / 腾讯云 Skills 广场时的两条硬性约束,动本文件前先看一眼:
① ZIP 包根目录必须直接含 SKILL.md,不能套一层同名的技能文件夹
(否则报 450019「技能包缺少 SKILL.md」——2026-10-08 踩过一次)。
② 包内只允许纯文本文件,任何 png/jpg/exe 都会报 450033。
所以站点里的图片一律以 base64 内嵌在 site.html 里,而不是放成独立图片文件。 -->
中国滑雪场图鉴和游玩规划指南(2025-26 雪季 · 数据截至 2026-09-30)
> 本技能 = 本文件(决策层)+ references/(明细层,见第 12 节)
> + scripts/(确定性计算,见第 13 节)+ templates/(输出骨架,见第 14 节)
> + assets/site.html(单文件离线站点,见第 18 节)。
> 站点内的三个新菜单:任意出发地对比见第 15 节、我要滑雪·行程测算器见第 16 节、
> 装备商城见第 17 节。
> 本文件由 outputs/ski/build/gen_skill.py 从 data.py / teach.py / shops.py / cities.py / plan.py
> 自动生成。匹配表、教学大纲、品牌表、成本表、已知勘误表、数据规模数字全部现算,
> 禁止手工编辑——手改会在下次重跑 gen_skill.py 时被静默覆盖。要改内容请改数据层再重跑。
0. 铁律(先看这条,违反即作废)
- 不编价格。 下表价格多数为渠道/代理口径,标
**待核实**的是官方以图片发布价目表、机器读不到的。输出行程时价格一律写成区间并附「以雪场官方小程序当日价为准」。绝不给用户一个精确到个位的假总价。 - 不编雪道。 用户问某条道多长多陡,表里没有就说没有,不要推算。
- 出发地默认上海,但任意城市都支持。 用户没说出发地就按上海算(第 2 节表格就是上海口径,属已核实)。用户说了别的城市,一律走第 15 节的出发地模型重算,且输出时必须带「模型估算」四个字——那是球面距离推算,不是实测,绝不能当已核实数据转述。
- 默认档位=性价比·周末 2–3 天(民宿/快捷 + 雪票套餐,2000–4000 元/人)。用户没提预算就用这档,并在输出末尾提供升档选项。
- 开板/封板是硬约束。 匹配前先用当前日期卡一遍窗口期,滑不了的场不许进候选。
- 装备只讲「怎么选」,不导购。 商城章节给的是价格带、品类与可点购买渠道,不报价单、不点评具体型号优劣(价格是渠道浮动的)。用户问「买哪块板」,先问一季上雪天数与预算,再给决策规则,不要直接点型号。
1. 输入解析
必需两项,缺哪项就问哪项,不要两项都缺还硬猜:
- 出发城市:决定大交通耗时与票价,是第一变量(同一个雪场,上海出发和广州出发是两个行程)。没说就按上海,但要在输出里写明这个假设。
- 地区:可以是雪区(崇礼/东北/新疆/华东…)、省市(吉林/黑龙江/北京…)、具体雪场名,或一句「离上海近点的」。
- 同行人数:决定房型组合、交通方式、教练拼班,是预算模型的主变量。
可选项(用户给了就用,没给按默认):水平(零基础/初级/中级/高级)、天数、预算档、出行日期、单板/双板、是否自带雪具、是否住雪场、是否要教练、是否带娃、是否要温泉。
用户说出发城市时,先确认它在不在第 15 节的城市表里(共 57 个)。
不在表里(如三四线城市)→ 如实说「该城市未建模」,让用户就近选一个枢纽(如「从徐州出发」→ 参考「南京」),
不许拿邻近城市的数字直接冒充。
水平未知时的默认假设:按「初级偏上」处理,并在输出里明确写出这个假设,让用户能一句话纠正。
2. 匹配表
| 雪场 | 省/市 | 落差 | 雪道 | 难度定位 | 上海单程 | 单程交通费/人 | 雪票(元) | 开板 |
|---|---|---|---|---|---|---|---|---|
| 万龙滑雪场 | 河北 | 554m | 32 | 高级道最多,进阶首选 | 8–9 小时 | 600–780 元 | 夜场188 | 2025/10/21 |
| 太舞滑雪小镇 | 河北 | 510m | 31 | 初中级最舒服,新手首选 | 8–9 小时 | 600–780 元 | 平256/周末328 | 11月中下旬 |
| 云顶滑雪公园(密苑云顶乐园) | 河北 | 380m | 41 | 中级道最多,大众友好 | 8–9 小时 | 600–780 元 | 平288/周末338 | 2025/11/1 |
| 富龙滑雪场 | 河北 | 482m | 37 | 初中级+单板公园,夜场强 | 8–9 小时 | 600–780 元 | 平261/周末320 | 2025/11/1 |
| 延庆国家高山滑雪中心「雪飞燕」 | 北京 | 1298m | 24 | 奥运级,中高级为主 | 7 小时 | 560–760 元 | 待核实 | 2025/11/22 |
| 翠云山·银河滑雪场 | 河北 | 320m | 12 | 初中级+亲子 | 8 小时 | 600–780 元 | 平199/周末299 | 2025/11/1 |
| 多乐美地滑雪场 | 河北 | 424m | 9 | 中级为主,双板友好 | 9 小时 | 600–780 元 | 待核实 | 2025/12/31 |
| 北京南山滑雪场 | 北京 | — | 30 | 初中级+单板公园/猫跳 | 6–7 小时 | 560–730 元 | 平190/周末305 | 2025/12/4 |
| 北京军都山滑雪场 | 北京 | 247m | 7 | 初中级,京郊练手 | 6.5 小时 | 560–730 元 | 平220/周末360 | 2025/12/4 |
| 北大湖滑雪度假区 | 吉林 | 870m | 74 | 中高级主场,初级区也够用 | 6 小时 | 600–900 元 | 待核实 | 2025/11/15 |
| 中旅松花湖度假区 | 吉林 | 605m | 50 | 全谱系,初高两头都能打 | 5.5 小时 | 580–880 元 | 平380/周末490 | 2025/11/15 |
| 亚布力滑雪旅游度假区 | 黑龙江 | 912m | 56 | 中高级主场,长道多 | 6 小时 | 500–620 元 | 平260/周末380 | 2025/11/7 |
| 万达长白山国际滑雪场 | 吉林 | 350m | 43 | 初级近半,新手友好 | 3.5 小时 | 机票待核实 | 待核实 | 2025/11/20 |
| 长白山华美胜地滑雪场 | 吉林 | — | 15 | 纯初中级,零基础/亲子 | 3.5 小时 | 机票待核实 | 待核实 | 2025/11/15 |
| 哈尔滨热雪奇迹(室内) | 黑龙江 | 80m | 6 | 室内,初中级 | 4 小时 | 430–500 元 | 平298/周末328 | 全年营业 |
| 沈阳东北亚国际滑雪场 | 辽宁 | 218m | 14 | 初中级,辽宁最陡 | 4.5 小时 | 450–820 元 | 平185 | 2025/12/5 |
| 长白山和平滑雪场 | 吉林 | 140m | 6 | 娱雪为主,顺游长白山 | 6 小时 | 待核实 | 待核实 | 11月中旬 |
| 可可托海国际滑雪度假区 | 新疆 | 1220m | 23 | 高级/长距离,新手劝退 | 10–12 小时 | 800–1500 元 | 待核实 | 2025/10/12 |
| 禾木·吉克普林国际滑雪度假区 | 新疆 | 1466m | 103 | 高级专属,11km 长道,新手勿入 | 12–14 小时 | 900–1600 元 | 待核实 | 2025/11 中旬 |
| 阿勒泰将军山国际滑雪度假区 | 新疆 | 400m | 72 | 全谱系最均衡,含双黑 | 6.5 小时 | 580–1200 元 | 待核实 | 2025/11/18 |
| 乌鲁木齐丝绸之路国际度假区 | 新疆 | 700m | 21 | 高级黑道集群 | 7 小时 | 600–1000 元 | 平168/周末208 | 11月中旬 |
| 上海耀雪冰雪世界(室内) | 上海 | 60m | 3 | 室内,零基础入门 | 市中心出发 1–1.5 小时 | 地铁10 元 | 平420/周末780 | 全年营业 |
| 神农架国际滑雪场 | 湖北 | 210m | 13 | 初中级,天然雪 | 9.5 小时 | 高铁票价待核实 + 25 元大巴 | 待核实 | 12月上旬 |
| 陕西太白鳌山滑雪场 | 陕西 | 810m | 17 | 初中级,落差大 | 8 小时 | 待核实 | 平229 | 11/19 |
| 四川西岭雪山滑雪场 | 四川 | — | 6 | 几乎全初级,观景为主 | 6 小时 | 450–700 元 | 待核实 | 12月中下旬 |
| 安吉江南天池滑雪场 | 浙江 | 40m | 3 | 初学者/亲子,规模极小 | 3 小时 | 自驾油费+过路250–350 元/车 | 待核实 | 12月中下旬 |
| 大别山滑雪旅游度假区(霍山) | 安徽 | — | 4 | 初中级+1条高级道 | 6–7 小时 | 待核实 | 待核实 | 2025/12/26 |
| 绍兴乔波冰雪世界(室内) | 浙江 | — | 2 | 室内,半日练功 | 2 小时 | 高铁100–150 元 | 平228 | 全年营业 |
Top 10 综合榜:1.北大湖滑雪度假区、2.中旅松花湖度假区、3.亚布力滑雪旅游度假区、4.万龙滑雪场、5.可可托海国际滑雪度假区、6.太舞滑雪小镇、7.云顶滑雪公园(密苑云顶乐园)、8.禾木·吉克普林国际滑雪度假区、9.万达长白山国际滑雪场、10.阿勒泰将军山国际滑雪度假区
3. 匹配规则
四刀跑 scripts/query.py(见第 13 节),不要凭下面的文字描述用眼睛筛——
文字是给你理解口径的,脚本才是判定依据。下面每一刀对应脚本的一个参数:
第一刀 · 窗口期(--date)。当前日期不在「开板—封板」区间的场直接出局。
开/封板解析不出来的场脚本会标「窗口期待核实」——那是要人工确认,不是默认通过。
跨年/春节档单独标注价格翻倍。
第二刀 · 地区(--region / --max-hours)。按用户给的地区取候选池。
用户说「离上海近」→ 用 --max-hours 5,别自己回忆是哪几家;
说「值得专程」→ 取分区内综合分最高的两家。
第三刀 · 水平(--level)。这一刀最容易出事,从严:
- 零基础 → 只给「纯初中级/零基础」标签的场(华美胜地、耀雪、翠云山、太舞),严禁推吉克普林、可可托海、万龙
- 初级 → 太舞、云顶、万达长白山、翠云山、富龙
- 中级 → 松花湖、北大湖、亚布力、将军山、富龙、雪飞燕
- 高级 → 万龙、可可托海、吉克普林、丝绸之路、北大湖、亚布力
- 混合水平的团(最常见):把两个水平都传给 --level(如 --level 零基础,中级),脚本只留难度谱系能全覆盖的场。绝不能选只有黑道或只有绿道的场,否则必有人一整天干瞪眼。
第四刀 · 人数(见第 4 节,这一刀脚本不管,人数决定的是配置不是候选)。
输出 2–3 个候选 + 1 个明确推荐,并说清推荐理由和被淘汰者的淘汰理由。不要甩一堆选项让用户自己选。
4. 人数 → 配置映射
| 人数 | 房型 | 交通(落地后) | 教练 | 关键提示 |
|---|---|---|---|---|
| 2 人 | 1 标间/大床 | 公共接驳或打车 | 1v2 私教或拼班 | 人均住宿最高,可考虑青旅双床压成本 |
| 3–4 人 | 2 标间 或 1 套两居公寓 | 打车更划算(≈大巴×人数) | 拼 1 个教练最经济 | 性价比甜点区。两居公寓人均常低于标间 |
| 5–8 人 | 2–3 间 或 1 套复式/三居 | 包车(临界点在此) | 拆两组,按水平分班 | 必须提前锁房,雪场公寓房源少 |
| 9 人以上 | 整栋别墅/民宿包栋 | 包车必选,考虑包中巴 | 至少 2 名教练 | 包栋日租÷人数往往最低;但须提前 30 天订 |
具体房源对应(表内已核到的):太舞雪麓居(一居/复式/两居)、北大湖山湖居、将军山雪友公寓(153 间)、南山挪威别墅(6 卧住 12 人,6380–6880 元/栋)、军都山天鹅湖堡(整栋)。
5. 预算模型
逐项相加,每项给区间,不给单一数字:
人均总价 = 往返交通 + 雪票 + 住宿÷同住人数 + 餐饮 + 装备租赁 + 教练 + 杂项
| 项 | 性价比 | 中档舒适 | 高端 |
|---|---|---|---|
| 往返交通 | 见第 15 节出发地模型(上海走已核实口径) | 同左 | 同左,可加公务舱 |
| 雪票 | 该场已核平日价 × 滑雪天数 | 同左,可选周末/含雪具 | 同左 |
| 住宿(/人/晚) | 150–400 | 400–900 | 1,200–1,800 |
| 餐饮(/人/天) | 120–200 | 250–400 | 500–800 |
| 装备租赁(/人/天) | 0–150 | 150–300 | 300–600 |
| 教练(/人/天) | 300–700 | 600–1,200 | 1,500–3,000 |
| 杂项(全程一次性) | 350–620 | 400–900 | 600–1,500 |
教练一栏的含义(别按小时再除一遍人数):性价比 = (300, 700) 元/人/天;中档舒适 = (600, 1200) 元/人/天;高端 = (1500, 3000) 元/人/天。
这是人均口径,已经隐含了「拼班 / 私教」的分摊假设,不需要再除同班人数。
这张表由 plan.py 的 TIER_COST 单向生成,网页测算器与 scripts/budget.py
共用同一份数字(scripts/costs.json)。所以网页、CLI、你的口算三者必须一致——
历史上它们曾各写一份,导致同一趟行程报出「教练 600」和「教练 100」两个价。
必须提醒的隐性成本(最容易让预算爆表;下表从 data.py 的 HIDDEN_COST 自动生成):
- 可可托海国际滑雪度假区:非雪场车辆禁止上山,须乘摆渡车(往返约 25 元/人);镇上与雪场均无雪具店,须自带或现场租
- 禾木·吉克普林国际滑雪度假区:另需购冬季喀纳斯全域门票 100 元/人·3 天;自驾须四驱+雪地胎
- 四川西岭雪山滑雪场:滑雪票之外必买上山交通(门票+观光车+鸳鸯池索道 240 元;加日月坪往返 268 元);住山腰/山顶须 17:30 前乘索道上山,否则无法入住
- 安吉江南天池滑雪场:按分钟计费;必须先买景区门票 80 元
- 神农架国际滑雪场:上高级道须另购索道 50 元/人;高铁要买到「兴山站」,不是「神农架站」
- 陕西太白鳌山滑雪场:所有项目强制购保险 15 元 + 租头盔 20 元
- 北大湖滑雪度假区:必须至少提前一日购票,不售当日票;东三省居民半价、全国全日制在校大学生凭学信网认证免费
- 绍兴乔波冰雪世界(室内):入场须办滑雪消费卡,押金 500 元/人
6. 输出格式
行程类问题照抄 templates/行程方案模板.md 的骨架填,教学类问题用
templates/教学路径模板.md。骨架不许改结构、不许写成散文、不许省掉收尾固定句。
行程模板七段:方案推荐 → 匹配依据 → 行程 Day 1…N → 预算表 → 住宿方案 → 行动清单 → 备选方案。
7. 常见追问的标准答复
- 「什么时候去最好?」 东北/崇礼 1–2 月雪质最佳但最贵最挤;12 月上旬与 3 月上旬性价比最高。新疆雪季长,1–2 月最佳。元旦/春节档价格普遍翻倍,除非只能那时去,否则避开。
- 「单板还是双板?」 不替用户决定,但说明:双板上手快、第一天就能滑绿道;单板前两天摔得多、第三天开始爽。多乐美地雪道多斜面,对换刃不熟的单板不友好。
- 「装备要买吗?」 滑不到 5 次就别买,租。雪服雪镜手套可以先买(便宜且卫生),板鞋固定器最后买。
- 「新手第一次去哪?」 上海本地先去耀雪把基本功练完(票价含雪服雪具、零门槛),再飞东北,省下大山上的教练费——这是最划算的路径。
8. 水平自评与教学路径
用户说「零基础」「新手」「不会滑」时,先别急着排行程,用下面这张表把水平问清楚——推错场比排错行程严重得多。
| 自评口径 | 判定问题 | 对应阶段 | 能去的场 |
|---|---|---|---|
| 真·零基础 | 没穿过雪鞋 | 入门 | 室内场(哈尔滨热雪奇迹、上海耀雪冰雪世界、绍兴乔波冰雪世界)或纯初级场;严禁大山 |
| 初级 | 能犁式/落叶飘停住,不会转弯 | 初级 | 初中级为主的场,需有魔毯+缓坡初级区 |
| 初中级 | 能连续转弯、能下蓝道 | 中级 | 难度谱系完整的场(松花湖/将军山/北大湖/亚布力) |
| 中高级 | 能走刃、能下黑道 | 进阶 | 万龙/可可托海/丝绸之路/吉克普林 |
水平判定的硬规则:
1. 「能滑」不等于「能停」。 用户自称初级但描述里没有「能刹住/能控速」,按零基础处理。
2. 单板与双板的水平不通用。双板中级的人换单板就是零基础,必须分开问。
3. 一个团里水平跨度 ≥2 级 → 只推难度谱系完整的场,否则必有人一整天干瞪眼。
最省钱的入门路径(被反复验证):先在上海本地室内场(耀雪,票价含雪服雪具、零门槛)把「站姿→制动→转弯」练完,再飞东北。大山上的教练费是室内场的 2–3 倍,把基本功留到大山上学,等于花高价买缓坡。
教练配置建议(第一次上雪强烈建议请,自学最常见的结局是把错误动作固化,后面花三倍时间改):
- 双板:2 小时私教通常能到「犁式制动 + 犁式转弯」
- 单板:半天能到「落叶飘」
- 3–5 人拼一个教练最划算,再多教练顾不过来
- 问清是否持证:CASI / CSIA / 国职社会体育指导员
9. 教学大纲索引
被问到具体动作怎么练时,按这个大纲给要点;图示在站点 assets/site.html 的教学页签里(见第 18 节)。
双板
- 入门(第 1 天:站住、停住):基本站姿 → 犁式制动(A 字 / 披萨)
- 初级(第 2–3 天:会拐弯):犁式转弯 → 犁式转平行(Stem Christie)
- 中级(第 4–8 天:平行式与控速):平行式转弯 → 搓雪与走刃
- 进阶(第 9 天以后:地形与刻滑):刻滑(Carving) → 蘑菇道(Mogul) → 野雪
单板
- 入门(第 1 天:站稳、摔对):正反脚与绑定角度 → 安全摔倒 → 单脚滑行
- 初级(第 2–4 天:能控住):落叶飘(横滑降) → J-turn
- 中级(第 5–10 天:连起来):连续转弯(换刃) → 减少搓雪量
- 进阶(第 11 天以后:刻滑与公园):刻滑(Carving) → Ollie(基础弹跳)
通用
- 雪场避让规则(必须记住) / 护具与装备优先级 / 教练要不要请 / 身体与风险
配套视频(39 条,B 站):按板型分布为 双板 14 条、单板 18 条、通用 7 条;另有 3 个主题没有找到
可长期引用的视频,页面用「站内搜索」兜底(搜索链接永远有效,不会变死链)。
页面上的视频一律点击才加载,本地无网时只是不播,不会报错。
答问时可以推荐「去 B 站搜什么」,但不要凭空说某个 UP 主或某个 BV 号——
只有 teach.py 的 VIDEOS 里登记过的那 39 个 BV 号是核过可访问的,其余都是编的。
视频播放地址格式固定为 https://player.bilibili.com/player.html?bvid=<BV号>。
答教学问题的三条纪律:
1. 不替代教练。 任何动作说明后面都要带一句「文字说明不能替代实地教学」。
2. 安全项不打折。 单板必提护腕(手掌撑地是腕骨骨折头号原因)、护臀;避让规则里「下方与前方优先、后方超越者全责」必须讲。
3. 不鼓励跳级。 用户想直接学刻滑/公园但基本功没到,如实说「先把 X 练熟」,不要顺着说。
10. 数据边界
- 雪季基准 2025-26 雪季,2026-09-30 核。新雪季票价发布后本表失效,须重新核。
- 本表覆盖 28 家雪场、98 条特征雪道、116 个已核住宿、22 张教学卡、
39 条教学视频;装备部分覆盖 10 个品牌 / 33 个在售型号档价格带 /
30 条购买渠道(12 条已核域名)/ 33 张商品实拍图;出发地模型覆盖 57 个城市 × 28 条枢纽路线。 - 另列 90 条「需复核项」(各场
verify清单),对应图鉴 HTML 里 297 处「待核实」标记——
这是刻意留白,不是遗漏,不许拿网上数字去填。 - 雪道条数、落差存在多套口径(官网/文旅/媒体)时,表内取官网或政府口径;用户若引用到不同数字,如实说明存在口径差异,不要强行统一。
- 标
**待核实**的项,回答时必须原样传递这个状态,不得以「大约」「预计」掩盖。 - 三类数据的可信度不一样,答问时必须分开说:
1. 上海出发的耗时与交通费 = 已核实(逐条查过官方交通说明);
2. 其他 56 个城市出发 = 模型估算(球面距离 × 分模式时速/单价,见第 15 节),只保证量级;
3. 装备价格 = 渠道价带(天猫/京东/官网在售价区间),不是官方指导价,且随促销浮动。 - 渠道链接分两档,别混着说。 第 17.2 节打 ✓ 的是逐条核过的真实店铺/官网域名;
没打勾的是天猫/京东站内搜索兜底——它不是假链接,但不指向具体店铺,转述时要说清。 - 商品实拍图有版权。 第 17.3 节的图取自品牌与授权经销商的公开商品图,版权归品牌方,
站点只做本地缩略展示;用户若要二次使用,须自行取得授权。
11. 已知勘误(网上广泛流传的错误说法,答问时必须纠正,且绝不可反向引用)
下表由 data.py 自动抽取生成,勿手改。用户若拿着其中任一错误说法来问,先纠正再回答。
| 错误说法 / 雪场 | 正确口径 |
|---|---|
| ❌ 长白山天池云顶 | 无此雪场。正确实体是长白山华美胜地(2023/12/11 由鲁能胜地更名,中国绿发运营) |
| ❌ 松花湖滋恩 | 无此名。正确实体是中旅松花湖度假区(2025/08 中旅国际收购万科股权后更名) |
| ❌ 翠云山国际滑雪场 | 非真名。正确实体是翠云山·银河滑雪场,位于崇礼区而非赤城县 |
| ❌ 长城岭 | 已转为河北省体育局崇礼高原训练基地,不对个人售票,不得列入候选 |
| ❌ 金寨 | 安徽金寨县无雪场。大别山雪场在霍山县(六安)与岳西县(安庆) |
| 北大湖滑雪度假区 | E5 野雪道整季不开放;无官方『南坡/北坡』分区,勿信攻略误传 |
| 中旅松花湖度假区 | 2025年8月由中旅国际收购万科股权更名,旧称『万科松花湖』 |
| 亚布力滑雪旅游度假区 | 勘误:『亚洲第一速降道』无官方出处,属营销话术 |
| 长白山华美胜地滑雪场 | 原名鲁能胜地,2023/12/11 更名,运营方中国绿发 |
| 哈尔滨热雪奇迹(室内) | 注意:该头衔已被深圳前海冰雪世界(43万㎡)取代,勿再宣称『全球最大』 |
另有两条源头陷阱:
- 崇礼价格源 chonglihuaxue.cn / .com / aogew.com 同属张家口帝和旅游,同源不算交叉验证,不能当两个独立信源用。
- 多数雪场本季价目表以图片形式发布,机器读不到。凡表内标 **待核实** 的价格,一律不得用历史价或代理价顶替。
12. 附件(references/,按需读取,不要一上来全读)
本文件是决策层:够用来选场、排行程、算预算、答装备问题。下面四份是明细层,只在被追问到
本文件答不了的粒度时才读,且读哪份看下表——别为了「更全面」把四份全灌进上下文。
| 引用 | 何时读 | 内容 |
|---|---|---|
@references/雪场详情卡.md |
用户锁定某一家、追问具体雪道/票档/酒店/交通段 | 28 家全字段底稿:逐条特征雪道(难度/长度/坡度)、完整票价档位与来源、三档住宿逐家报价、上海出发分段交通、特点短板、该场需复核项 |
@references/教学大纲全文.md |
用户问「某个动作怎么练」 | 单板/双板各四阶段 + 通用规则共 22 张卡全文,每张含要点分解与安全警示 |
@references/装备商城.md |
用户问具体品牌/型号/去哪买 | 10 个品牌逐型号的品类·档位·在售价区间·备注,30 条可点购买渠道,33 张商品图来源,15 条选品攻略全文 |
@references/口径与勘误.md |
用户拿着网上说法来对质,或要解释排名/档位怎么定的 | Top10 评分口径、三档行程定义、硬/软勘误表、源头陷阱、90 条需复核清单全表 |
四份附件同样由 gen_refs.py 从数据层自动生成,禁止手改。
13. 脚本(scripts/,用 Bash 执行,别用心算代替)
选场和算钱这两件事必须跑脚本。第 2 节的匹配表是给你建立直觉用的,
不是让你凭印象点名;预算里「住宿÷同住人数」「教练÷拼班人数」两处手算最容易错。
# 选场:四刀(窗口期/地区/水平/可达性)跑成确定性筛选
python3 scripts/query.py --region 崇礼 --level 初级 --date 2026-01-15
python3 scripts/query.py --max-hours 5 --level 零基础 # 「离上海近点的」
python3 scripts/query.py --region 东北 --level 零基础,中级 # 混合水平团
python3 scripts/query.py --origin 广州 --region 东北 --level 初级 # 任意城市出发
python3 scripts/query.py --origin 成都 --max-hours 6 --json # JSON 便于二次处理
python3 scripts/query.py --id taiwu # 取单家
# 算钱:逐项区间相加,永不输出单一数字
python3 scripts/budget.py --resort taiwu --people 4 --days 3
python3 scripts/budget.py --resort beidahu --people 6 --days 3 --tier comfort --coach
python3 scripts/budget.py --resort songhuahu --people 4 --days 2 --nights 2 --origin 广州 --coach
scripts/resorts.json是雪场数据底座,scripts/costs.json是三档成本表,
scripts/origins.json是出发城市表(三者都由构建脚本生成),都不要手改,
也不要直接读它们当资料——要查资料读@references/雪场详情卡.md,那份有完整上下文。--days是「滑雪天数」,不是「出行天数」。 这与网页测算器不同:网页那边你填的是
「玩几天」,它会自己扣掉抵离日算出可滑天数。所以要跟网页对齐时,先换算
(通常 玩 3 天 ≈ 滑 2 天,具体按第 16 节的ski_days规则)。--origin默认上海。 非上海时耗时与交通费来自出发地模型,
输出必须带「模型估算」;最终一行会再提醒一次,别把它删了。query.py退出码 3 = 零候选。此时按它提示的顺序放宽条件,
绝不允许把不合水平的场硬塞回候选。budget.py遇到未核实的票价/交通费会整行输出「待核实」并把合计标成不完整。
原样传递这个状态,不要自己估一个数补上去。- 混合水平团(水平跨度 ≥2 级)时
query.py只会留难度谱系完整的场——这是设计,别绕过。
14. 模板(templates/)
| 模板 | 用于 |
|---|---|
templates/行程方案模板.md |
一切「去哪滑、怎么安排、多少钱」类问题的输出骨架 |
templates/教学路径模板.md |
一切「怎么练、零基础从哪开始、能不能上黑道」类问题的输出骨架 |
模板里的方括号是待填槽位,圆括号里的斜体是填写要求(填完删掉)。
收尾固定句不许省:行程类要带「价格以官方小程序当日价为准」与数据时效声明;
教学类要带「文字说明不能替代实地教学」。
15. 任意出发地:大交通估算模型
第 2 节那张匹配表是上海口径、已核实。用户从别的城市出发时,用这一节重算。
覆盖 57 个出发城市 × 28 条枢纽路线(每个雪场一个落地枢纽)。三层结构:
- 出发城市坐标 —— 57 个城市,取市中心尺度,精度够算球面距离即可;
- 落地枢纽 + 最后一段 —— 每个雪场配置一个枢纽城市(北京 / 长春 / 哈尔滨 / 长白山 / 阿勒泰…)
与「枢纽 → 雪场」的最后一段(这一步是已核实口径,来自各场官方交通说明); estimate()—— 球面距离(Haversine)× 分模式时速/单价,推前一段。
公式:
单程耗时 = [ 地面耗时 + 球面距离 ÷ 时速 + 最后一段耗时 + 换乘冗余 ] × 全局冗余
单程票价 = [ 起步价 + 每公里 × 球面距离 ](截断到上下限)+ 最后一段票价中值
最终区间 = 中点 × 带宽系数
| 方式 | 两端地面耗时 | 运行时速 | 起步价 | 每公里 | 单程票价上下限 |
|---|---|---|---|---|---|
| 飞机 | 1.4 h | 750 km/h | 160 元 | 0.28 元/km | 350–1,800 元 |
| 高铁/动车 | 0.6 h | 235 km/h | 30 元 | 0.48 元/km | 50–1,300 元 |
- 枢纽换乘冗余 1.0 h(取行李、找站台、候车)
- 全局冗余系数 ×1.05
- 区间带宽:耗时 ×0.88–×1.18,费用 ×0.85–×1.22
- 模式选择:球面距离 ≤ 1150 km 一律走高铁(机场两端的地面耗时在真实行程里快不出来),≥ 1600 km 高铁不现实只能飞,600 km 以下不排飞机
校准:拿上海出发的 28 条已核实口径回归,当前模型/实测比值 —— 耗时 1.11×(范围 0.70–1.75,n=28)、费用 1.10×(范围 0.94–1.52,n=19)。结论:✓ 通过。
这只是量级对齐,不是精度承诺。
代表性路线(同一个雪场,出发地一换就是另一个行程):
| 路线 | 枢纽 | 球面距离 | 单程耗时(估算) | 单程交通费/人(估算) | 方式 |
|---|---|---|---|---|---|
| 北京 → 太舞 | 北京 | 0 km | 1.1–1.4 h | 90–110 元 | 市内 → 转乘 |
| 广州 → 太舞 | 北京 | 1,888 km | 5.6–7.6 h | 670–960 元 | 飞机 |
| 成都 → 太舞 | 北京 | 1,524 km | 5.2–7 h | 580–840 元 | 高铁、飞机 |
| 哈尔滨 → 太舞 | 北京 | 1,053 km | 6.7–9 h | 540–770 元 | 高铁、飞机 |
| 乌鲁木齐 → 太舞 | 北京 | 2,411 km | 6.3–8.5 h | 790–1,140 元 | 飞机 |
四条硬规则:
- 上海永远不走模型。 上海出发那一列直接取
data.py里已核实的 transit 字段。 - 同城判定:出发地必须在雪场所在地。 北京 → 崇礼不算同城(雪场在河北,照样要算一天路程),
但张家口/北京 → 南山算同城。判定条件 = 球面距离 < 60 km 且 出发地或枢纽出现在雪场省份串里。 - 估算不出的场不许糊。 出发地缺坐标、或该场缺枢纽配置 → 输出「需人工核算」,
绝不拿邻近城市或邻近雪场的数字顶替。 - 输出必须带「模型估算」。 凡是来自本模型的耗时与票价,转述给用户时一律写明是估算、
建议用票务平台复核。不许说成「已核实」。
答问时的对应动作:用户报了出发城市 → 跑 query.py --origin <城市> 拿候选与耗时,
再跑 budget.py --origin <城市> 拿区间价目表。两个脚本都只认第 15 节的 57 个城市。
16. 「我要滑雪」行程测算器
图鉴 HTML 站的第三个菜单(我要滑雪 · 行程测算),把「条件 → 攻略 + 价目表」一次算完。
输入(一次填完,全在本地 JS 里算,不联网、不上传):
| 字段 | 说明 | 缺省 |
|---|---|---|
| 出发城市 | 第 15 节的 57 个城市任选 | 上海 |
| 目标城市 / 雪区 | 崇礼 / 东北 / 新疆 / 华东·华中·西南 / 不限 | 不限 |
| 指定雪场 | 可留空,留空就按条件自动匹配 | 空 |
| 同行人数 | 1–10+ | 2 |
| 玩几天 | 行程天数(不是滑雪天数,见下) | 3 |
| 水平 | 零基础 / 初级 / 中级 / 高级 | 初级 |
| 板型 | 都行 / 单板 / 双板 | 都行 |
| 自带雪具 | 现场租 / 自带 | 现场租 |
| 是否住宿 | 要住 / 不住 | 要住 |
| 档位 | 性价比(2–3天) / 中档舒适 / 高端 | 性价比 |
| 教练 | 要 / 不要 | 不要 |
| 人均预算 | 元,可留空 | 空 |
输出四块:候选雪场卡(按综合分顺位,可点击切换)→ 为什么是它(命中依据 + 该场待核实项)
→ 逐日攻略(Day 1 出发抵达 / 中间全天滑雪 / 末日半天滑 + 返程)→ 详细价目表(人均)。
滑雪天数怎么算(ski_days,与脚本第 13 节的 --days 是同一件事的两种入口):
- 同城场(如成都 → 西岭):可滑天数 = 行程天数;
- 异地场:可滑天数 = 行程天数 − 1(首日只赶路、末日多半在返程),下限 1。
- 所以「玩 3 天」在异地通常只滑 2 天。答问时要把这个扣减讲清楚,
用户最容易在这里觉得「我明明玩了 3 天为什么只算 2 天雪票」。
价目表七项:大交通(往返)→ 雪票 → 住宿(或按「不住宿」记 0)→ 餐饮 → 装备租赁
(或按「自带雪具」记 0)→ 教练(不要则记 0)→ 杂项(一次性)。
三条纪律:
- 票价未核实 → 该行写「待核实」,合计写「不完整」。 宁可给一个不完整的区间,
也不给一个看着完整的假总价。页面就是这么做的,你也照做。 - 区间相加,不给单一数字。 合计同时给「人均」和「全队(人均 × 人数)」两个口径。
- 必带收尾句:价格以雪场官方小程序当日价为准;不含家门口到车站/机场那一段;不含购物。
网页之外的等价入口:query.py(选场)+ budget.py(算钱),
但注意 --days 填的是滑雪天数,与网页的「玩几天」差一天量级。
17. 装备商城与选品攻略
图鉴 HTML 站的第四个菜单(装备商城 · 选品攻略):10 个主流品牌的价格带、
30 条可点购买渠道(12 条已核到具体店铺/官网域名)、15 条选品攻略,
每个品牌另有「主流推荐」侧滑窗,内含 33 张商品实拍图与选购要点。
本站不卖货、不挂联盟链接、不做比价——只讲「买什么、多少钱算正常、去哪买、哪里会挨坑」。
答问纪律:
- 给价格带,不给报价单。 下面的价带是渠道在售价区间(天猫/京东/官网),随促销浮动,
转述时要说清「渠道参考价带」而不是「官方指导价」。 - 不点具体型号做推荐。 先问「一季上雪几天」和预算,再给第 3 类里的决策规则。
只有用户明确问「某个型号值不值」时才讨论,且要说清型号价格未逐一核实。 - 渠道链接分两档,转述时别混。 打 ✓ 的是逐条核过的真实店铺/官网域名;
没打勾的是站内搜索兜底(天猫/京东的搜索页)——不是假链接,但不指向具体店铺。 - 安全件(头盔)永远不推荐二手,这条没有例外。
17.1 主流品牌(10 个)
| 品牌 | 国别 | 创立 | 定位 | 适合谁 | 覆盖品类 | 在售参考价带(元) |
|---|---|---|---|---|---|---|
| 伯顿(Burton) | 美国 | 1977 | 单板鼻祖,板 / 固定器 / 雪鞋 / 雪服全谱系 | 预算充足的单板玩家,从入门到顶级通吃 | 单板、固定器、雪鞋、雪服、护具 | 1,800–5,500 |
| 萨洛蒙(Salomon) | 法国 | 1947 | 双板与单板全品类,雪鞋以「包裹舒适」立身 | 双板进阶玩家首选;买雪鞋闭眼考虑的品牌之一 | 双板、单板、雪鞋、固定器、雪服、雪镜 | 4,000–5,500 |
| 卢西诺(Rossignol) | 法国 | 1907 | 法国百年雪具王国,双板 + 雪鞋 + 雪服全水平段覆盖 | 追求竞技与道内性能的双板玩家,中高级尤其对口 | 双板、雪鞋、固定器、雪服 | 1,500–9,500 |
| 海德(HEAD) | 奥地利 | 1950 | 竞技双板标杆,双板 + 雪鞋 + 头盔 + 雪服一体 | 想练技术、上竞技线的双板玩家;服饰线可头到脚一站配齐 | 双板、雪鞋、固定器、头盔、雪镜、护具 | 2,000–6,500 |
| 阿托米克(Atomic) | 奥地利 | 1955 | 竞技与全山双板强者,雪鞋与固定器是强项 | 双板初中级到高阶全覆盖,雪鞋适配性与性价比较好 | 双板、雪鞋、固定器、头盔、雪镜 | 400–4,500 |
| 菲舍尔(Fischer) | 奥地利 | 1924 | 奥地利百年雪具商,双板 + 雪鞋 + 越野雪具全谱系 | 双板竞技/进阶玩家;真空热定型雪鞋是它的招牌 | 双板、雪鞋、固定器 | 2,500–3,500 |
| K2(K2) | 美国 | 1962 | 玻璃纤维雪板之父,双板 + 单板 + 雪鞋全线 | 追求「舒适雪鞋 + 全山板」的中高级玩家 | 双板、单板、雪鞋、固定器、雪杖 | 3,000–5,500 |
| 尼卓(Nitro) | 美国/欧洲运营 | 1990 | 欧洲销量领先的单板品牌,板 / 固定器 / 雪鞋 / 背包 | 单板入门到中级的高性价比之选,配件生态完整 | 单板、固定器、雪鞋、背包 | 1,000–6,000 |
| 迪桑特(Descente) | 日本 | 1935 | 高端滑雪服饰品牌,雪服 + 雪裤 + 专业运动服饰 | 看重版型与品牌调性的雪服用户;功能性性价比一般,偏时尚溢价 | 雪服、雪裤、配件 | 2,000–8,000 |
| 史密斯(Smith) | 美国 | 1965 | 雪镜 + 头盔专业品牌,光学清晰度与 MIPS 安全见长 | 把头盔、雪镜当「安全刚需」来买的人;同价位里安全与光学口碑稳 | 雪镜、头盔 | 900–3,300 |
> 「在售参考价带」= 该品牌已被收录的型号的价格跨度,不是全系价格。
> 覆盖率不足的品牌,价带会偏窄,别当成「这个品牌就这个价」。
17.2 购买渠道(可点击)
| 品牌 | 天猫 | 京东 | 官网 |
|---|---|---|---|
| 伯顿(Burton) | 天猫 | 京东 | 官网 ✓ |
| 萨洛蒙(Salomon) | 天猫 | 京东 | 官网 ✓ |
| 卢西诺(Rossignol) | 天猫 | 京东 | 官网 ✓ |
| 海德(HEAD) | 天猫 ✓ | 京东 | 官网 ✓ |
| 阿托米克(Atomic) | 天猫 | 京东 | 官网 ✓ |
| 菲舍尔(Fischer) | 天猫 | 京东 | 官网 ✓ |
| K2(K2) | 天猫 | 京东 | 官网 ✓ |
| 尼卓(Nitro) | 天猫 ✓ | 京东 | 官网 ✓ |
| 迪桑特(Descente) | 天猫 | 京东 | 官网 ✓ |
| 史密斯(Smith) | 天猫 | 京东 | 官网 ✓ |
> ✓ = 该链接已逐条核过真实店铺/官网域名(校验日 2026-09-30)。官网全部打过勾;
> 天猫只有 HEAD、Nitro 核到了旗舰店地址,其余品牌走天猫站内搜索——不猜店铺 ID,
> 因为猜出来的店铺链接会静默变死链,而搜索链接永远成立。
> 品牌官网地址返回 403/429 属反爬响应,说明站点存在,同样算通过;返回 000 的一律不收录。
17.3 商品实拍图与版权
页面「主流推荐」抽屉里的 33 张商品图来自 17 个公开来源域名:
www.tradeinn.com(7 张)、img.alicdn.com(5 张)、images.evo.com(3 张)、content.backcountry.com(2 张)、images.snowleader.com(2 张)、qnam.smzdm.com(2 张)、www.botteroski.com(2 张)、am.zdmimg.com(1 张)、media-www.sportchek.ca(1 张)、qna.smzdm.com(1 张)、static.evo.com(1 张)、www.atbshop.co.uk(1 张)、www.skibartlett.com(1 张)、www.snowxpert.com(1 张)、www.tactics.com(1 张)、www.ultrafun.fr(1 张)、y.zdmimg.com(1 张)
> 图片来源为各品牌官网与授权经销商的公开商品图,版权归各品牌方;站点只做本地缩略展示,
> 不转载、不再分发,用途为个人行程参考。图未取到的型号自动降级为「品类矢量示意」并标注,
> 不硬凑一张不相干的图。抽屉内每张图都逐张署来源域名与像素,便于判断可信度。
17.4 选品攻略(15 条)
1. 租还是买,按「一季上雪天数」切(硬规则)
一季 ≤5 天(含室内场)→ 大件全租;6–10 天且开始上户外山 → 可买板/鞋/固定器;≥10 天 → 买,而且买对。这条比任何品牌推荐都重要。
2. 贴身四件永远自己买(硬规则)
护脸、速干衣、雪袜、手套。这几件不滑雪也能用,租的卫生成本最高、买的价格最低,不用犹豫。
3. 雪鞋是最该优先投资的一项(硬规则)
力量传导链是「脚 → 雪鞋 → 固定器 → 板」。鞋太软会逼你用踮脚、折髋等错误动作代偿,之后还得花钱请教练纠正。预算有限时,宁可板租着,鞋先买好。
4. 先试鞋,再配固定器,最后买板(经验)
固定器必须与板孔位兼容,且要匹配雪鞋尺寸。先冲动下单雪板,等于把后面两件全锁死。
5. 新手别追高硬度、高价位(经验)
单板先选硬度 2–4 的全能板、长度比身高短 10–15 cm;双板选比身高短约 10 cm 的入门款。跟风买「专业进阶板」压不动,纯浪费。
6. 雪鞋只买新、到店逐码试,不买二手(避坑)
内胆会记忆上一任主人的脚型。「店里试合脚」和「上雪几小时还合脚」是两回事,闲鱼上大量「只滑几次」的准新鞋就是这么来的。
7. 不买大一号雪鞋(避坑)
买大了脚后跟抬不起来、前掌打滑、控不住换刃。试鞋要点:穿滑雪袜、半蹲时脚趾轻触鞋头、站直时脚踝轻贴鞋后跟。
8. 头盔认 CE EN 1077 / ASTM F2040,头盔重摔必须换(硬规则)
两个标准安全性等价,EN 1077 的 A/B 类差别是覆盖面积而非安全等级。条件允许选带 MIPS 的旋转冲击防护。泡沫衰减肉眼看不见,重摔过的盔不能再用。
9. MIPS 标签可以造假,别只看标(避坑)
同品牌不同型号实测差距很大,最好查具体型号的第三方评级(如 Virginia Tech)。
10. 雪镜起雾与价位无关(经验)
防雾只取决于口鼻呼气有没有进镜、排得出去。200–300 元的平价镜加到位贴合,对绝大多数人够用。镜片按 VLT 透光率选:晴天低 VLT、多变天气中等或光变、阴天雾天高 VLT。近视选 OTG 款,雪镜带戴在头盔外侧。
11. 预算分配参考(全套自购)(经验)
护具+手套+雪袜+速干 约 500–1500 元 → 头盔/雪镜 约 1500–3500 元 → 雪鞋 约 1500–4500 元(重点)→ 板+固定器 约 3000–6000 元 → 雪服雪裤 约 1000–4000 元。核心逻辑:安全件不省,性能件(雪鞋)优先,颜值件(雪服)最后。
12. 单板与双板的装备差异(经验)
单板 = 板 + 固定器 + 软鞋,摔得多,护臀护膝护腕必配;固定器看孔位与硬度。双板 = 板 + 固定器(可脱离释放,靠 DIN 值调,必须由专业店员设置)+ 硬壳雪鞋 + 雪杖;鞋的硬度(Flex)与鞋楦宽度是关键参数。
13. 网购避坑(避坑)
板、鞋、头盔这类安全敏感件只走品牌官方旗舰店或授权实体店,警惕「内部价」「清仓尾货」「工厂瑕疵板」。正品有中文吊牌与执行标准,假货常见「板体轻飘、边刃钝化、固定器调不了 DIN」。开箱全程录像、关键细节特写;疑似假货走 12315。
14. 二手红线:头盔不买,无例外(避坑)
雪鞋谨慎(内胆已被踩成型)。雪板只从能视频验货的自用卖家处收,并查板底平整度与剩余边刃。
15. 小红书/雪友圈流传的六个误区(避坑)
① 雪镜越贵越不起雾——错,起雾和价位无关;② 贴了 MIPS 标就安全——错,要看型号实测;③ 装备越贵滑得越好——错,老款性价比高且对多数人无差别;④ 板越长越强——错,短板更易上手;⑤ 电瓶车头盔能顶替雪盔——大错,防冲击认证标准完全不同;⑥ 雪鞋买二手省一半——错。
18. 内置站点(assets/site.html)
assets/site.html 是单文件离线站点(约 4.2 MB、零外部依赖、不联网也能开),
把本技能的全部内容做成了可点的界面:
| 菜单 | 内容 |
|---|---|
| TOP 10 综合榜 | 综合分排名 + 评分口径 |
| 出发地 · 横向对比 | 28 家雪场按任意出发城市动态排序对比(第 15 节模型) |
| 我要滑雪 · 行程测算 | 填条件 → 逐日攻略 + 详细价目表(第 16 节) |
| 装备商城 · 选品攻略 | 10 个品牌 / 30 条可点渠道 / 33 张实拍图 / 15 条攻略(第 17 节) |
| 28 家雪场详情 | 每家的雪道、票档、住宿、分段交通、非上海出发的估算 |
| 教学 · 从入门到进阶 | 双板/单板各四阶段图示 + 39 条 B 站视频(点击才加载) |
| 附录 | 数据口径说明 |
用法:用户说「打开图鉴 / 看对比表 / 算一下行程 / 看看装备商城」时,
用 Bash 打开 assets/site.html,并把文件路径一并给用户。
Windows 用 start "" "<绝对路径>",macOS 用 open "<绝对路径>"。
两条禁忌:
- 不要用 Read 读这个文件。 4.2 MB、大量长行,读进来只会撑爆上下文且什么也看不出来。
要查内容读references/,要算数跑scripts/。 - 不要手改这个文件。 它是
build2.py的产物;改了下次重跑就被覆盖。
要改内容去改数据层(data.py/teach.py/shops.py/cities.py/plan.py)再重跑构建链。