技能市场

WorldsTip旅行指南小册子

@user_gc9bq/worldstip-travel-planner

规划国内旅行,生成单文件 HTML/PDF 旅行报告。基于目的地实证数据与联网调研,输出逐日动线、节奏配平、房间床型、预算、装备、住宿交通。支持特种兵、休闲、度假、蜜月、自驾、骑行、徒步、摩旅、亲子、情侣、朋友等 11 种节奏,户外先查天气。触发词:旅行规划、行程安排、旅游攻略、旅行报告、带娃去哪、特种兵、自驾、骑行、徒步、摩旅、蜜月。不适用:出境游、签证、机票火车票实时票价、酒店餐饮代订。

来源:千问AI平台生活服务MIT

WorldsTip 旅行规划大师

品牌名:WorldsTip | 创作者:MrdT·WorldsTip.COM | 分类:旅行

技能包名 worldstip-travel-planner(遵循平台小写连字符规范),品牌展示名为 WorldsTip。

这个技能解决什么问题

用户说"帮我规划大理 4 天"时,真正需要的不是一段攻略文字,而是一份能直接照着走的行程报告。

报告分两层,缺一不可:

层 回答什么 对应板块
指南层(去哪、玩什么) 有什么、值不值得去、节奏怎么排 行程概览 / 逐日动线 / 实地调研 / 住宿安排
路书层(怎么到、怎么买) 景点在哪、门票多少、要不要预约、怎么去、那天什么天气、车能不能开上去 景点攻略与门票 / 天气可行性预检 / 出行须知 / 预算

只做指南层 = 纸上谈兵(用户到了当地不知道票怎么买、景点怎么去)。
只做路书层 = 行程不合理(订得到票但排不出可走的动线)。本技能两层同时产出。

核心原则

1. 先定节奏,再填内容。
旅行方式的差别不在去哪,而在每天塞几个点。特种兵 7 个点/天,度假 1 个点/天 —— 这是可计算的参数差异,不是文案措辞。

2. 一切建议必须贴合实际条件。
三条硬约束,缺一则建议就是泛化的废话:

  • 出行日期决定季节结论(7 月大理雨季多雷暴、骑行常受影响;10 月干爽最舒适,结论完全相反)
  • 车辆动力类型决定自驾可行性(电车爬坡耗电翻倍、山区充电桩少、部分高海拔路限行;油车要算加油站间距)
  • 人员构成决定房间数(三口之家 1 间家庭房,不是 3 间)

用户没给日期/车辆/构成时,必须主动问,或明确标注"未提供 X,以下建议为通用参考"。

3. 世界观只是参考,行程安排是本技能的核心能力。
worldstip-sitemap.html 提供目的地基础信息,攻略页 spot 卡片提供景点级票务/预约/交通,
但路程安排、游玩节奏、预算分配、物料准备全部由本技能的编排引擎生成。

4. 票价绝不编造。
12306 与各平台均需登录态查询,无法自动获取(实测见下)。给出错误票价的危害远大于不给。

5. 留空好过给错。
地理编码、门票、开放时间拿不准时,明确说"需现场确认",不要用看似合理的信息填充。

工作流程

第 1 步:识别用户意图

必须先明确这五项,缺一项就主动问(不要猜,猜错整份报告都白做):

项 说明 缺失时
出发地 决定交通方式与首日安排 必问
目的地 单一或多城 必问
天数 决定节奏密度 必问
出行方式 11 种画像之一,见下表 必问
人员构成 决定房间数与床型,如"一家三口""两大两小""情侣""四个朋友" 必问
出行日期 决定季节结论,7 月与 10 月大理完全相反 影响大,必问
车辆类型 自驾必问:ev / phev / fuel / hybrid 自驾时必问

一次只问最关键的 2-3 个,不要连环追问。

人员构成为什么必问:三口之家与三个成年人住宿方案完全不同 —— 前者订 1 间家庭房即可(¥300-500/晚),后者需 2 间双床房(¥600-1000/晚)。若按"人数=房间数"估算,预算会高估近一倍。

出行日期为什么必问:7 月的大理是雨季(午后雷雨、骑行常受影响、稻田是绿的),10 月是干爽最佳季(能见度高、紫外线仍强)。不给日期就只能说"带伞穿外套",等于没说。

车辆类型为什么必问:纯电车与油车在高海拔是两种完全不同的体验 —— 电车爬坡耗电约翻 1.9 倍、山区充电桩间距可能超 60km、部分高海拔路限行;油车要算加油站间距与92/95 号供应。

第 2 步:选定节奏画像

11 种画像已内置,选择规则:

画像 key 中文 每日点数 强度 典型用户说法
commando 特种兵 6-9 5 "特种兵""一天刷完""暴走""极限"
leisure 休闲 3-4 2 "休闲""慢游""不赶""随便逛"
resort 度假 1-2 1 "度假""躺平""休息""放松"
honeymoon 度蜜月 2-3 2 "蜜月""新婚""纪念日""二人"
roadtrip 自驾 4-6 4 "自驾""开车""一路看风景"
cycling 骑行 2-3 4 "骑车""骑行""自行车""单车"
hiking 徒步 1-2 5 "徒步""爬山""登山""走线"
moto 摩旅 3-5 5 "摩旅""摩托车""机车"
family 家庭亲子 3-4 2 "带娃""亲子""孩子""老人"
couple 情侣 3-4 3 "情侣""两个人""约会"
friends 朋友 4-5 4 "朋友""结伴""一群人""宿舍"

同一画像内部还要按用户措辞微调(这是"活人感"的来源):

  • "特种兵但别太狠" → commando 但取每日 6 点而非 9 点
  • "自驾想多看风景" → roadtrip + 增加上午时段长度、降低换景点频率
  • "度假但想出门逛逛" → resort + 每日 2 点
  • "带娃但别太累" → family + 每日 3 点 + 下午必留午睡时段
  • "蜜月想浪漫" → honeymoon + 傍晚/夜间安排

第 3 步:检索目的地基础信息

# 关键词搜索(支持名称/拼音/简介)
python scripts/search_dest.py 大理

# 按区域
python scripts/search_dest.py --region 西南 --limit 20

# 按主题(草原 沙漠 雪山 海岛 古城 美食 亲子 徒步 摄影 避暑 温泉 边境)
python scripts/search_dest.py --theme 骑行

# 按建议天数
python scripts/search_dest.py --days-max 3

# 无目标时给方向
python scripts/search_dest.py --stats

第 4 步:生成行程骨架

python scripts/build_itinerary.py \
  --from 杭州 --to 大理 --days 4 --people 3 --composition "一家三口" \
  --style cycling --lodging 舒适 --food 舒适 --season 秋 \
  --json > plan.json

输出内容:逐日三段式动线(上午/下午/晚上)、每段景点数与停留时长、每日备注、骑行/自驾/徒步/摩旅的当日里程、住宿房间分配、预算分配、按画像生成的物料清单。

参数说明:

  • --people 总人数;--composition 人员构成(影响房间数,务必传)
  • --style 画像 key;不指定时用 --hint 传用户原话自动推断
  • --lodging 青旅/经济/舒适/高档/奢华
  • --food 经济/舒适/高档/奢华
  • --season 春/夏/秋/冬,影响季节性装备

第 4.5 步:住宿合理性检查(已自动完成)

build_itinerary.py 内置 stay_plan(),按人员构成自动算房间数与床型。这不是可选步骤,是预算合理性的基础。

人员构成 房间数 房型建议
一家三口 / 二大一小 1 间 家庭房(1.5m 大床 + 0.9m 单床)或双床房加床
两大两小 / 一家四口 1 间 家庭套房 / 两室一厅(亲子分区睡)
情侣 / 蜜月 1 间 大床房(1.8m 床),蜜月建议带浴缸或景观房
独自一人 1 间 大床房
2 人 1 间 双床房或大床房
3-4 位朋友 2 间 双床房 ×2(同行者各自舒适),或 1 间四人家庭房
5-6 人 ⌈n/2⌉ 间 双床房为主,或考虑民宿整栋

预算口径:住宿 = 房间单价 × 房间数 × 晚数,不按人数乘。三口之家 4 天舒适档约 ¥900 住宿;若按 3 人算会虚报成¥2700。

输出中必须包含(脚本已生成,直接渲染进报告):

  • 房间数与建议房型
  • 分配理由(如"三口订 1 间家庭房比 2 间标准房更宽敞,且便于照看孩子")
  • 预订提示(是否提供儿童床/加床、是否免费、热门景区需提前 2-3 周)

第 4.8 步:户外天气可行性预检(户外画像必做)

骑行、徒步、摩旅、自驾在推荐行程之前必须先跑这个,不能凭印象推荐。

python scripts/check_weather.py --to 大理 --style cycling --days 3
python scripts/check_weather.py --to 大理 丽江 --style moto --days 4# 沿线多城一起查
python scripts/check_weather.py --to 稻城亚丁 --style hiking --days 3
python scripts/check_weather.py --to 大理 --style cycling --json > weather.json

判定基于 Open-Meteo 官方 WMO 天气代码 + 温度/风速阈值,输出四档:

判定 含义 必须怎么回应
ok 适宜 各日均达标 正常推进,备基础防护
caution 需谨慎 有风险日但可用 报告标注风险日,给出应对(雨具/减里程/避开强风)
indoor_rewrite 需改室内 户外差但行程可成立 亲子/休闲/度假/情侣适用:把户外段换成博物馆、美术馆、科技馆、古镇室内段、温泉、手作工坊;不改变总天数与住宿
not_recommended 不建议 全期不达标 不要直接推荐原方案。按优先级给替代:① 改期(查更远窗口 --days 10~16)② 换同区域目的地重查 ③ 降级为室内/市区方案

各画像阈值不同(越户外越严格):

画像 降水 概率 最低温 风速
徒步 ≤3mm ≤50% ≥3°C ≤30km/h
骑行 ≤5mm ≤60% ≥5°C ≤35km/h
摩旅 ≤3mm ≤50% ≥5°C ≤30km/h
自驾 ≤12mm ≤70% ≥0°C ≤45km/h
亲子 ≤25mm ≤85% ≥-2°C ≤50km/h

若用户坚持在恶劣天气出行,必须明确告知风险边界:降雨山路不徒步(落石/滑坡/雷击);骑行减速避开积水;雷电不在海边湖边山脊停留;低温+雨注意失温;摩旅遇大雨积水不要硬通过。

第 4.9 步:景点票务提取(路书层的核心)

这一步决定报告是"指南"还是"路书"。 目的地简介无法回答"票怎么买、要不要预约、怎么去",必须提取景点级信息。

# 单个目的地试跑
python scripts/extract_poi.py dali

# 批量提取并写入 references/poi.json
python scripts/extract_poi.py dali lijiang chengdu beijing sanya \
  zhangjiajie huangshan xichang --save

提取字段(来自攻略页 spot 卡片):景点名、标签、描述、门票线索、预约线索、数据来源。

两种页面结构都要支持(实测踩过):

  • <div class="spot"> / <article class="spot"> —— 卡片型(大理/三亚/张家界/黄山/西昌)
  • h2 直接作景点名 —— 列表型(丽江/成都/北京/杭州),脚本自动走extract_fallback()

标签名不固定、顺序也不固定(有的 sptag 在 h3 前有的在后),故用通配 + 全块搜索。

提取到的信息实例(这就是路书该有的颗粒度):

  • 丽江玉龙雪山:门票 100 + 环保车 20(必选),冰川公园大索道 120 元,旺季需提前实名抢票,官方小程序 20:00 放票
  • 丽江古城维护费 50 元/人(缴纳后 365 天内有效)
  • 束河古镇 40 元,白沙古镇免费(白沙壁画 30)
  • 大理洱海生态廊道:130km,全天免费,禁机动车驶入,自行车 20-30/天、电动 60-80
  • 大理双廊玉几岛太阳宫参观需提前预约,日落最佳时段 18:30-19:00
  • 黄山:门票+索道分段计价,具体以景区当日公示为准

未提取到时的处理:如实说明并引导 python scripts/extract_poi.py <slug> --save 补充,或联网查官方渠道。不要凭记忆编造门票价格。

第 4.95 步:季节与车辆规划(建议必须可执行)

python scripts/plan_context.py --to 大理 --date 2026-07-15
python scripts/plan_context.py --to 丽江 --date 2026-10-01 --car ev --drive 380 --json > context.json

季节按四类地区分别判断(不是全国一套):

类别 覆盖 特点
south 南方 华东/华中 梅雨季集中在 6-8 月
north 北方 华北/东北 冬季严寒干燥、春季风沙
plateau 高原 拉萨/香格里拉/稻城亚丁等 昼夜温差极大、紫外线极强、7-8 月滑坡泥石流高发
southwest 西南城区 大理/丽江城区 海拔 1500-2400m,比高原温和,比北方湿
tropical 热带 海南/华南沿海 台风季 7-9 月、冬季反而是最佳季

注意区分:TRUE_PLATEAU 名单只收"整城高海拔"(拉萨、香格里拉、稻城亚丁等)。
大理丽江城区属southwest,只有苍山/玉龙雪山等景区才是高海拔 —— 不要一刀切按高原处理。

车辆动力类型的差异(实测数据):

类型 能耗 高海拔系数 核心短板
ev 纯电 0.18 kWh/km ×1.9 爬坡哑车、山区桩少、涉水拒赔、部分高海拔路限行
phev插混 0.10 kWh/km ×1.6 亏电油耗飙到 8-10L/100km(比油车还高)
fuel 燃油 0.085 L/km ×1.25 爬坡动力衰减、乡镇可能只有 95 号、加油站间距大
hybrid 混动 0.055 L/km ×1.2 高原低氧下电机效率下降,短途更费油

脚本会输出每种车的短板清单与路线补能策略(如电车"充电桩间距 >60km 一律先充再走"、油车"上坡用低挡位控速不要高挡硬顶")。

节假日高峰自动识别:元旦/五一/国庆前后 → 提示住宿机票上浮 50-200%、需提前 3-7 天抢票;7-8 月上旬 → 暑期高峰提示。

第 5 步:联网调研(关键,不能跳过)

这一步是"事无巨细"的来源。按需搜索,每次一个维度,把结果整理成 research.json。

搜索维度与关键词模板:

维度 搜索关键词模板 要挖到什么
交通接驳 {目的地} 到{下一站} 高铁 时刻表、{目的地} 机场 市区 交通 具体线路、耗时、票价区间、末班时间
租车骑行 {目的地} 租电动车 价格 注意、{目的地} 骑行 路线 里程 日租价、续航虚标、禁行路段、停车点
景点预约 {目的地} 景点 门票 预约 2026、{目的地} 免费景点 推荐 票价、是否需提前预约、限量情况
美食 {目的地} 必吃 排队、{目的地} 私房菜 本地人 具体店名、招牌菜、人均、避开的坑
人文历史 {目的地} 历史 由来、{目的地} 博物馆 世界遗产 历史脉络、有价值的文化点
商圈购物 {目的地} 商圈 逛街、{目的地} 伴手礼 哪里买 具体商圈名、什么在哪买更便宜
住宿 {目的地} 住哪 方便、{目的地} 民宿 推荐 亲子 分区域住宿建议、避坑(太远/太贵/太吵)
安全 {目的地} 自驾 危险 路段、{目的地} 天气 风险 具体风险路段、限速、天气预警
避坑 {目的地} 骗局 宰客、{目的地} 注意事项 后悔 真实负面反馈,这是最有价值的部分

research.json 结构:

{
  "transport": [
    {"title": "标题", "text": "正文", "kind": "warn"}
  ],
  "spots": [], "food": [], "humanity": [], "shops": [],
  "stay": [], "gear": [], "safety": [], "pitfalls": []
}

kind 字段:warn 渲染为红色警示框(必须留意的坑),tip 渲染为绿色贴士框(省时省钱技巧),省略则为普通段落。

调研质量要求(实测验证过):

  • ✅ 搜到的细节远超预期:电动车续航虚标金额、生态廊道禁行规则、亲子酒店具体房型与价位、餐厅名称与营业时间、低价团套路
  • ❌ 搜索结果会有过时或错误信息(2024 年的票价、已关闭的店),交叉验证:价格类信息至少看 2 个来源
  • 每条信息都要能落到"可执行"层面,不能写"注意安全"这种空话

第 6 步:叠加实时数据

# 天气(含体感、湿度、风速、降水概率)
python scripts/fetch_weather.py 大理 --days 4

# 铁路车站码与车次(无票价)
python scripts/fetch_transit.py --stations 杭州 大理
python scripts/fetch_transit.py G71 --date 20261010

# 多目的地距离、方位、顺序(避免折返)
python scripts/plan_route.py 杭州 大理 丽江 昆明

第 7 步:生成 HTML 报告

python scripts/render_report.py \
  --plan plan.json --research research.json \
  --weather weather.json --poi references/poi.json --context context.json \
  --out 旅行报告.html

参数:

  • --plan 必需
  • --research 调研素材
  • --weather 天气预检结果(户外画像必传)
  • --poi 景点库(提供门票/预约/来源,路书层核心)
  • --context 季节与车辆规划(提供日期适配与动力类型建议)

产出特点:单文件、内联 CSS/JS、无外部依赖、响应式、已内置打印样式(用户可直接 Ctrl+P 另存为 PDF)。

紧凑排版:整体字号 13.5px、section 内边距 15px 17px、卡片间距 8-11px,行高 1.58。
一屏能看到更多信息,PDF 页数也相应减少。打印时进一步压缩至 11.5px 并隐藏导航。

目录导航:报告顶部有 sticky 目录条,列出全部板块(自动编号 01/02/03…),点击跳转。
滚动时自动高亮当前板块,右下角显示阅读进度百分比,末尾附「↑ 顶部」快捷返回。
打印时目录自动隐藏(@media print 中 .toc{display:none}),避免浪费纸面。

板块通过 sec_open(id, 图标, 标题) 注册,编号按注册顺序自动分配 —— 新增板块时无需手动改编号与目录。

报告共 8 大板块,指南层与路书层各占一半:

# 板块 层次 回答什么
01 行程概览 指南 节奏、强度、总花费
02 逐日动线 指南 每天几点出门、几个点、怎么串
03 实地调研 指南 交通/美食/人文/商圈/安全/避坑
04 景点攻略与门票 路书 景点在哪、门票多少、要不要预约、来源
05 出行须知 路书 该季节穿什么、车辆能不能开上去
06 住宿安排 指南 几间房、什么床型、预订提示
07 预算安排 路书 分项花费与全团口径
08 装备与物资清单 路书 按画像+季节生成的物资

主题色随画像自动变化:特种兵红、度假蓝、蜜月粉、骑行绿、摩旅紫、徒步棕等。

天气预检板块的视觉分级:ok 绿框 / caution 黄框 / indoor_rewrite 蓝框 / not_recommended 红框,每档都带「怎么办」行动指引。

第 8 步:交付时的说明

生成报告后,向用户说明:

  1. 报告可直接打开查看,打印为 PDF 用 Ctrl+P
  2. 票价需自行核实(给出查询路径)
  3. 天气、开放时间为生成时状态
  4. 如需调整(增减天数、改节奏、换住宿区域),可具体说明重新生成

实时数据源实测结论

不要凭直觉改写这一节,都是实测结果:

数据源 状态 说明
Open-Meteo 天气 ✅ 免key 实时 + 1~16 天预报,WMO 码需转中文
Open-Meteo 地理编码 ✅ 免 key 预置坐标用,只接受 CN 结果
12306 车站码表 ✅ 免 key 已缓存到 references/station_codes.json
12306 车次搜索 ⚠️ 仅支持车次号 只认车次号,不支持 OD 查询;模糊匹配需精确过滤
12306 票价 ❌ 不可用 leftTicket/query 会 302 到 error.html,需 session
携程车次 ❌ 已失效 返回 Ack:Success 但 TrainInfoList 恒为空数组
携程机票 ❌ Forbidden 返回 code:11010
高德 API ⚠️ 需 key 无 key 返回 INVALID_USER_KEY
Nominatim (OSM) ❌ 网络不可达 本环境 HTTP 000
wttr.in ✅ 备选 免 key 天气,可作降级

攻略页解析要点

每个目的地攻略页板块名完全不同,不要套固定模板。实测:

目的地 板块组织
成都 成都一览 / 短程2-3天 / 长程4-5天 / 市区景点 / 购物 / 美食 / 交通避坑 / 特产
大理 2天打卡版 / 5天沉浸版 / 10天旅居版 / 必去景点 / 出行方式 / 住宿 / 必吃 / 预算 / 避坑
丽江 一句话看懂 / 玉龙雪山 / 大研古城 / 拉市海+虎跳峡 / 泸沽湖 / 必吃 / 交通海拔避坑

必须先看板块清单:

python scripts/fetch_guide.py 大理 --sections   # 只列板块名
python scripts/fetch_guide.py 成都 --grep 避坑    # 只取指定板块

站点特性:

  • 不存在的 slug 返回首页 200而非 404,必须校验 canonical(/map/<slug>/,不带 index.html`)
  • 页面含深色模式 CSS,勿当内容提取
  • 底部有「N / M」页码,脚本已剔除

坐标可靠性(重要)

天气查询必须有经纬度,而 234 个目的地的攻略页均不含坐标,需离线预置。免费地理编码对中文地名极不可靠:

查询 接口返回 正确位置 判别依据
承德 吉林同名点 河北承德 省份不符
大理 四川泸州"大理"(PPL,无人口) 云南大理市(PPLA2,23 万人) 需查"大理市"
洛阳 福建泉州"洛阳"村(PPL,6.6 万人) 河南洛阳市(PPLA2,139 万人) 需查"洛阳市"
五台山 四川同名点 山西五台山 省份不符

enrich_coords.py 的四重防护:① country_code==CN;② 省份须落在该目的地所属区域辖省内;③ 名称须相符(允许"大理"↔"大理市"后缀差异);④ feature_code 加权 + 人口排序,排除"低行政等级且无人口数据"。

地名加后缀变体重试(市/县/自治州)是命中率提升的关键。

实测准确率:正确 9 / 错误 0 / 未匹配 5。零错误是核心指标。

维护命令:

python scripts/enrich_coords.py --workers 4   # 并发不要超4,6 会触发限流
python scripts/verify_coords.py               # 反查自检
python scripts/verify_coords.py --fix# 清除可疑坐标后重抓

资源清单

数据(references/)

  • destinations.json — 234 个目的地全量数据(含预置坐标,坐标覆盖约 53%)
  • poi.json — 景点级票务与预约信息(由 extract_poi.py 生成,可增量扩充)
  • station_codes.json — 12306 车站电报码表(首次运行自动生成)

脚本(scripts/)

脚本 用途 层次
search_dest.py 目的地检索:关键词/区域/主题/天数/统计 指南
fetch_guide.py 抓攻略页正文:--sections / --grep / --raw 指南
extract_poi.py 提取景点门票/预约/来源(路书核心) 路书
plan_context.py 季节感知 + 电车/油车规划 路书
check_weather.py 户外天气可行性预检,四档判定 路书
build_itinerary.py 行程编排引擎(节奏+住宿+预算+装备) 指南
render_report.py 渲染单文件 HTML 报告(可打印PDF) 两者
fetch_weather.py 实时天气与预报 路书
fetch_transit.py 车站码与车次(无票价) 路书
plan_route.py 距离/方位/顺序规划 指南
enrich_coords.py 坐标补全 内部
verify_coords.py 坐标反查自检 内部

示例(examples/)

examples/ 内是两份完整报告,可作为生成质量的参考基准:

文件 说明
plan_dali_family.json 三口之家亲子行程数据(含 stay 房间分配)
research_dali_family.json 调研素材写法示例(9 维度、21 条 warn/tip)
weather_cycling_dali.json 天气预检输出示例(not_recommended 档)
大理亲子3日.html 亲子报告成品(含住宿安排板块)
大理骑行天气预检.html 户外报告成品(含天气预检板块)

参考它们可以确认:房间数与床型该给到什么颗粒度、warn/tip 怎么标、
天气四档该怎么回应、报告该达到什么详细程度。

质量准则

  • 先给结论:推荐、节奏、预算先说清楚,再展开细节
  • 两层缺一不可:只有指南层是纸上谈兵(不知道票怎么买),只有路书层排不出动线
  • 建议必须可执行:不写"注意安全""带雨伞",要写"7 月午后雷雨多,户外活动放上午,骑行改室内"
  • 住宿按房间数算,不按人数算:三口之家 1 间家庭房,不是 3 间
  • 户外行程先查天气再推荐:天气不达标必须给替代方案,不能硬推
  • 季节结论必须绑定实际日期:7 月大理与 10 月大理结论相反,不给日期就说"未提供日期,以下为通用参考"
  • 自驾必须区分动力类型:电车与油车在高海拔是两种体验,不问清车型就没法给路线建议
  • 门票与预约要给来源:引用攻略页数据时保留 source 字段,让用户知道可信度
  • 区分事实与推断:summary与网页内容是事实;天数推断属推断,须标明
  • 实时数据必须现查:天气用脚本实跑,不凭记忆报气温
  • 票价绝不编造:无法获取就明说并给查询路径
  • 门票价格会变:引用时加「以景区当日公示为准」
  • 优先推荐冷门替代:用户想去热门城市且预算/体验有要求时,主动提同区域小众目的地
  • 不做无依据的组合:多目的地行程须说明地理相邻性,不把相距两千公里的城市硬凑一线
  • 未收录目的地如实告知:查不到就说查不到,转联网搜索或手动坐标,不编造景点与交通

发布到千问技能市场

本技能同时兼容千问平台(Qoder / Claude Code等 Agent)与本地 WorkBuddy。

发布流程:登录 → 设置技能市场个人名称(首次)→ 完成实名认证 → 上传 ZIP 预检(校验 frontmatter)→ 填写资料 → 提交审核 → 约 2 分钟出结果。

发布资料字段:

字段 说明
英文标识 默认取 SKILL.md 的 name,系统自动加命名空间前缀(@user_xxx/worldstip-travel-planner)
Skill 名称 展示名,可用中文「WorldsTip 旅行规划大师」
图标 可选上传
简介 默认取 description,最多 200 字(本技能已压到 193 字,留有余量)
版本号 默认 0.0.1
开源协议 只能选MIT 或 Apache-2.0(本技能采用 MIT)

审核链路:安全检测 → 人工审核 → 发布上线。

  • 安全检测结果分「通过 / 提醒 / 可疑 / 危险」;「提醒/可疑」进入待处置,需手动选择「继续审核」或「修改后重新提交」;「危险」必须修改
  • 状态共四种:待处置(红)/ 审核中(紫)/ 已上线(绿)/ 已下线(灰)
  • 被驳回或发现安全问题 → 修改后重新提交即可

版本管理:

  • 发布新版时 SKILL.md 中的 name 必须与当前 Skill 一致,英文标识与名称沿用不可改
  • 挂载到智能体时需指定版本号,上传新版不会自动升级已挂载的智能体,须到智能体配置里改版本

容易被驳回的风险点(本技能已规避):

  • 硬编码 API key 或凭证 —— 本技能全部数据源免key
  • 要求用户上传敏感信息 —— 只问行程偏好,不问身份证/银行卡
  • 诱导性话术、绝对化承诺(如"保证不出事")—— 天气与安全均给出条件化表述
  • 引用未授权的第三方内容 —— 数据源为公开接口与用户反馈,已注明出处

目录与数据维护

目的地库快照自 2026-10-04 的 sitemap(https://worldstip.com/worldstip-sitemap.html)。更新方式:

curl -sL "https://worldstip.com/worldstip-sitemap.html" -o sitemap.html

数据位于页内 const DATA = {...}; 与 const META = {...}; 两个 JS 字面量(注意是 JS 对象语法,key 无引号,需先转成合法 JSON)。字段:n=名称、u=URL、d=简介、dy=建议天数、py=拼音首字母;META 存区域全称与配色。

重建 JSON 后必须重跑坐标补全,否则天气功能失效。