TripSense 行知 · 周边出行顾问:首版

零依赖 Node 服务,三步流程(选出发地 → 分析候选 → 生成方案 + 路线图 + 住宿参考)。

- 候选发现:高德 place/text 类型词跨城检索 + 内置景区/城市/小众库 + Photon 兜底
- 区县级「排除同城」判定(adname),过滤发生在轮转取样之前
- 路线图画的是 AI 方案里实际安排的每个地点,按正文顺序编号 + 虚线动线 + 真实高德底图
- 住宿:RollingGo 只读 CLI 取实时报价,无价格源时如实标注不编造
- 服务端内存缓存(指纹 + TTL + LRU),数据源层与 HTTP 层分别缓存
- 上下文瘦身:逐日天气只给 rank1,紧凑 JSON,实测约 1335 token
This commit is contained in:
2026-11-05 20:25:03 +08:00
commit c5c2ffae68
53 changed files with 8586 additions and 0 deletions
+219
View File
@@ -0,0 +1,219 @@
'use strict';
/**
* 国内兜底地名库
*
* 用途:Photon / 高德 POI 服务不可用或结果不足时,仍能提供一份可用的周边清单。
* 坐标为近似值(WGS-84),用于天气与路网估算足够;结果里会明确标注数据来源,
* 不会伪装成实时检索结果。用户配置了高德 Key 或 Photon 可用时,以此为基础做补充。
*/
// 格式:[名称, 纬度, 经度, 类型, 标签(逗号分隔)]
const EXTRA_SCENIC = [
['金山岭长城', 40.6790, 117.2290, '古迹', '人文历史,徒步登山,拍照'],
['司马台长城', 40.6370, 117.3350, '古迹', '人文历史,徒步登山,拍照'],
['龙庆峡', 40.5330, 116.0080, '风景区', '自然风光,亲水海滨,休闲'],
['百里画廊', 40.5670, 116.2830, '风景区', '自然风光,拍照,休闲'],
['百花山', 39.8330, 115.6000, '山峰', '自然风光,徒步登山,拍照'],
['灵山', 39.9830, 115.4330, '山峰', '自然风光,徒步登山'],
['雾灵山', 40.6000, 117.4830, '山峰', '自然风光,徒步登山,拍照'],
['京东大峡谷', 40.1830, 117.1670, '风景区', '自然风光,徒步登山,亲水海滨'],
['石林峡', 40.1830, 117.2000, '风景区', '自然风光,徒步登山,拍照'],
['坡峰岭', 39.7170, 115.7330, '自然风光', '自然风光,徒步登山,拍照'],
['乐谷银滩', 39.6330, 115.5670, '风景区', '自然风光,亲水海滨'],
['清东陵', 40.1830, 117.6330, '古迹', '人文历史,拍照'],
['黄崖关长城', 40.2330, 117.4000, '古迹', '人文历史,徒步登山,拍照'],
['天津之眼', 39.1536, 117.1742, '人文历史', '人文历史,拍照,休闲'],
['意式风情区', 39.1431, 117.2008, '人文历史', '人文历史,拍照,休闲'],
['瓷房子', 39.1250, 117.2000, '展馆', '人文历史,拍照,室内避雨'],
['西柏坡纪念地', 38.2833, 113.9500, '古迹', '人文历史,休闲'],
['嶂石岩', 37.6000, 114.2330, '风景区', '自然风光,徒步登山,拍照'],
['苍岩山', 37.7830, 114.1330, '山峰', '自然风光,徒步登山,人文历史'],
['天生桥瀑布', 38.7500, 113.8330, '风景区', '自然风光,亲水海滨,拍照'],
['壶口瀑布', 36.1500, 110.4330, '风景区', '自然风光,亲水海滨,拍照'],
['乔家大院', 37.4000, 112.4330, '古镇', '古镇,人文历史,拍照'],
['王家大院', 36.8500, 111.8830, '古镇', '古镇,人文历史,拍照'],
['悬空寺', 39.7330, 113.7000, '寺观', '人文历史,拍照'],
['应县木塔', 39.5670, 113.1830, '古迹', '人文历史,拍照'],
['雁门关', 39.2000, 112.8500, '古迹', '人文历史,徒步登山'],
['绵山', 36.8830, 111.9830, '山峰', '自然风光,徒步登山,人文历史'],
['云台山', 35.4330, 113.4000, '风景区', '自然风光,徒步登山,亲水海滨'],
['老君山', 33.7500, 111.6330, '山峰', '自然风光,徒步登山,拍照'],
['白云山洛阳', 33.6500, 111.8500, '山峰', '自然风光,徒步登山'],
['殷墟', 36.1330, 114.3170, '古迹', '人文历史,室内避雨'],
['清明上河园', 34.8000, 114.3500, '主题乐园', '人文历史,亲子,主题乐园'],
['夫子庙秦淮河', 32.0217, 118.7881, '人文历史', '人文历史,美食,拍照'],
['牛首山', 31.9000, 118.7500, '山峰', '自然风光,人文历史,休闲'],
['栖霞山', 32.1500, 118.9670, '山峰', '自然风光,徒步登山,拍照'],
['灵山大佛', 31.4330, 120.1000, '寺观', '人文历史,休闲,拍照'],
['拈花湾', 31.4170, 120.0830, '古镇', '古镇,人文历史,拍照'],
['同里古镇', 31.1600, 120.7170, '古镇', '古镇,人文历史,拍照'],
['西塘古镇', 30.9400, 120.8900, '古镇', '古镇,人文历史,拍照'],
['南浔古镇', 30.8830, 120.4170, '古镇', '古镇,人文历史,拍照'],
['天目湖', 31.3000, 119.4170, '风景区', '自然风光,亲水海滨,休闲'],
['莫干山', 30.6000, 119.9000, '山峰', '自然风光,徒步登山,休闲'],
['普陀山', 30.0000, 122.3833, '寺观', '人文历史,亲水海滨,拍照'],
['雁荡山', 28.3667, 121.0500, '山峰', '自然风光,徒步登山,拍照'],
['楠溪江', 28.3000, 120.6500, '风景区', '自然风光,亲水海滨,休闲'],
['江郎山', 28.5330, 118.5670, '山峰', '自然风光,徒步登山,拍照'],
['根宫佛国', 29.1330, 118.4000, '展馆', '人文历史,拍照,室内避雨'],
['西递', 29.8830, 117.9830, '古镇', '古镇,人文历史,拍照'],
['呈坎', 29.9170, 118.2670, '古镇', '古镇,人文历史,拍照'],
['三清山', 28.9000, 118.0670, '山峰', '自然风光,徒步登山,拍照'],
['龙虎山', 28.1000, 116.9830, '山峰', '自然风光,徒步登山,人文历史'],
['庐山', 29.5830, 115.9830, '山峰', '自然风光,徒步登山,休闲'],
['婺源篁岭', 29.3830, 117.9330, '古镇', '古镇,自然风光,拍照'],
['滕王阁', 28.6830, 115.8830, '古迹', '人文历史,拍照'],
['鼓山', 26.0830, 119.3830, '山峰', '自然风光,徒步登山'],
['福建土楼', 24.6830, 117.1330, '古镇', '古镇,人文历史,拍照'],
['清源山', 24.9330, 118.5830, '山峰', '自然风光,徒步登山,人文历史'],
['泰山日出', 36.2558, 117.1008, '山峰', '自然风光,徒步登山,拍照'],
['蓬莱阁', 37.8170, 120.7500, '古迹', '人文历史,亲水海滨,拍照'],
['刘公岛', 37.5000, 122.1830, '海滨', '亲水海滨,人文历史,拍照'],
['台儿庄古城', 34.5670, 117.7330, '古镇', '古镇,人文历史,拍照'],
['青州古城', 36.6830, 118.4830, '古镇', '古镇,人文历史,拍照'],
['黄鹤楼', 30.5450, 114.3030, '古迹', '人文历史,拍照'],
['东湖绿道', 30.5500, 114.4000, '公园', '自然风光,休闲,拍照'],
['三峡大坝', 30.8330, 111.0000, '风景区', '自然风光,人文历史'],
['恩施大峡谷', 30.5670, 109.2670, '风景区', '自然风光,徒步登山,拍照'],
['神农架', 31.7500, 110.3330, '风景区', '自然风光,徒步登山'],
['武陵源', 29.3167, 110.4833, '风景区', '自然风光,徒步登山,拍照'],
['凤凰古城', 27.9500, 109.6000, '古镇', '古镇,人文历史,拍照'],
['岳麓山', 28.1830, 112.9330, '山峰', '自然风光,徒步登山,人文历史'],
['橘子洲', 28.1830, 112.9500, '公园', '自然风光,休闲,拍照'],
['丹霞山', 25.0333, 113.7500, '风景区', '自然风光,徒步登山,拍照'],
['广州塔', 23.1066, 113.3245, '人文历史', '人文历史,拍照,美食'],
['沙面', 23.1080, 113.2400, '人文历史', '人文历史,拍照,休闲'],
['开平碉楼', 22.3667, 112.7000, '古镇', '古镇,人文历史,拍照'],
['惠州西湖', 23.0830, 114.4000, '风景区', '自然风光,休闲,拍照'],
['桂林象鼻山', 25.2700, 110.3000, '风景区', '自然风光,拍照,亲水海滨'],
['龙脊梯田', 25.7500, 110.1330, '自然风光', '自然风光,徒步登山,拍照'],
['涠洲岛', 21.0330, 109.1170, '海滨', '亲水海滨,自然风光,拍照'],
['德天瀑布', 22.8500, 106.7170, '风景区', '自然风光,亲水海滨,拍照'],
['天涯海角', 18.2500, 109.3500, '海滨', '亲水海滨,拍照,休闲'],
['南山文化旅游区', 18.3000, 109.2000, '寺观', '人文历史,亲水海滨,休闲'],
['宽窄巷子', 30.6690, 104.0550, '人文历史', '人文历史,美食,拍照'],
['武侯祠', 30.6470, 104.0480, '古迹', '人文历史,拍照'],
['杜甫草堂', 30.6630, 103.9930, '园林', '人文历史,拍照,休闲'],
['大熊猫繁育基地', 30.7330, 104.1500, '动物园', '亲子,自然风光'],
['峨眉山', 29.5330, 103.3500, '山峰', '自然风光,徒步登山,人文历史'],
['乐山大佛', 29.5500, 103.7670, '古迹', '人文历史,拍照,亲水海滨'],
['稻城亚丁', 28.4330, 100.3000, '风景区', '自然风光,徒步登山,拍照'],
['四姑娘山', 31.1000, 102.9000, '山峰', '自然风光,徒步登山,拍照'],
['若尔盖花湖', 33.9000, 102.8330, '风景区', '自然风光,拍照,亲水海滨'],
['黄龙', 32.7500, 103.8330, '风景区', '自然风光,徒步登山,亲水海滨'],
['磁器口古镇', 29.5800, 106.4500, '古镇', '古镇,美食,人文历史'],
['大足石刻', 29.7000, 105.7000, '古迹', '人文历史,拍照'],
['武隆天生三桥', 29.4330, 107.8000, '风景区', '自然风光,徒步登山,拍照'],
['青岩古镇', 26.4170, 106.6830, '古镇', '古镇,人文历史,美食'],
['荔波小七孔', 25.3000, 107.7000, '风景区', '自然风光,亲水海滨,拍照'],
['镇远古镇', 27.0500, 108.4330, '古镇', '古镇,人文历史,拍照'],
['西江千户苗寨', 26.4830, 108.1830, '古镇', '古镇,人文历史,拍照'],
['石林风景区', 24.8167, 103.3333, '风景区', '自然风光,拍照,徒步登山'],
['玉龙雪山', 27.1000, 100.1830, '山峰', '自然风光,徒步登山,拍照'],
['束河古镇', 26.9000, 100.2170, '古镇', '古镇,人文历史,休闲'],
['泸沽湖', 27.7000, 100.7830, '风景区', '自然风光,亲水海滨,拍照'],
['西双版纳植物园', 21.9170, 101.2670, '园林', '自然风光,亲子,拍照'],
['崇圣寺三塔', 25.7000, 100.1500, '寺观', '人文历史,拍照'],
['兵马俑', 34.3853, 109.2785, '古迹', '人文历史,亲子,室内避雨'],
['华清宫', 34.3670, 109.2170, '古迹', '人文历史,拍照'],
['大唐芙蓉园', 34.2170, 108.9670, '园林', '人文历史,拍照,亲子'],
['法门寺', 34.4330, 107.9000, '寺观', '人文历史,室内避雨'],
['太白山', 34.0830, 107.7670, '山峰', '自然风光,徒步登山'],
['麦积山石窟', 34.3500, 106.0000, '古迹', '人文历史,拍照'],
['张掖七彩丹霞', 38.9000, 100.1330, '风景区', '自然风光,拍照,徒步登山'],
['嘉峪关关城', 39.8000, 98.2200, '古迹', '人文历史,拍照'],
['鸣沙山月牙泉', 40.0830, 94.6670, '风景区', '自然风光,拍照,亲子'],
['塔尔寺', 36.4830, 101.5670, '寺观', '人文历史,拍照'],
['茶卡盐湖', 36.7500, 99.0830, '风景区', '自然风光,拍照,亲水海滨'],
['沙坡头', 37.4500, 105.0000, '风景区', '自然风光,亲子,亲水海滨'],
['镇北堡西部影城', 38.5000, 106.0830, '主题乐园', '人文历史,拍照,亲子'],
['伊犁那拉提', 43.3000, 84.0000, '风景区', '自然风光,拍照,徒步登山'],
['喀纳斯', 48.7330, 87.0330, '风景区', '自然风光,拍照,亲水海滨'],
['赛里木湖', 44.6000, 81.2000, '风景区', '自然风光,拍照,亲水海滨'],
['沈阳故宫', 41.7997, 123.4539, '古迹', '人文历史,拍照'],
['大连星海广场', 38.8767, 121.5733, '海滨', '亲水海滨,休闲,拍照'],
['长白山天池', 42.0000, 128.0667, '山峰', '自然风光,徒步登山,拍照'],
['伪满皇宫', 43.8830, 125.3500, '古迹', '人文历史,室内避雨'],
['中央大街', 45.7750, 126.6167, '人文历史', '人文历史,美食,拍照'],
['北极村', 53.4670, 122.3500, '古镇', '自然风光,拍照,休闲'],
];
// 主要城市:[名称, 纬度, 经度],用作「城市级」周边目的地
const CN_CITIES = [
['北京市', 39.9042, 116.4074], ['天津市', 39.3434, 117.3616],
['石家庄市', 38.0428, 114.5149], ['唐山市', 39.6304, 118.1804],
['秦皇岛市', 39.9354, 119.6005], ['邯郸市', 36.6256, 114.5391],
['保定市', 38.8740, 115.4646], ['张家口市', 40.7687, 114.8865],
['承德市', 40.9544, 117.9634], ['廊坊市', 39.5377, 116.6833],
['沧州市', 38.3037, 116.8388], ['衡水市', 37.7392, 115.6690],
['邢台市', 37.0682, 114.5048], ['太原市', 37.8706, 112.5489],
['大同市', 40.0903, 113.3001], ['长治市', 36.1954, 113.1163],
['晋中市', 37.6870, 112.7529], ['运城市', 35.0263, 111.0038],
['临汾市', 36.0880, 111.5190], ['呼和浩特市', 40.8414, 111.7519],
['包头市', 40.6574, 109.8404], ['赤峰市', 42.2586, 118.9568],
['鄂尔多斯市', 39.6086, 109.7816], ['沈阳市', 41.8057, 123.4315],
['大连市', 38.9140, 121.6147], ['丹东市', 40.1243, 124.3939],
['锦州市', 41.0955, 121.1257], ['营口市', 40.6674, 122.2352],
['长春市', 43.8171, 125.3235], ['吉林市', 43.8379, 126.5496],
['延吉市', 42.9048, 129.5091], ['哈尔滨市', 45.8038, 126.5349],
['齐齐哈尔市', 47.3427, 123.9177], ['牡丹江市', 44.5527, 129.6333],
['上海市', 31.2304, 121.4737], ['南京市', 32.0603, 118.7969],
['无锡市', 31.4912, 120.3119], ['徐州市', 34.2058, 117.2848],
['常州市', 31.8107, 119.9730], ['苏州市', 31.2989, 120.5853],
['南通市', 31.9802, 120.8943], ['连云港市', 34.5967, 119.2216],
['扬州市', 32.3936, 119.4128], ['镇江市', 32.1878, 119.4253],
['杭州市', 30.2741, 120.1551], ['宁波市', 29.8683, 121.5440],
['温州市', 27.9938, 120.6993], ['嘉兴市', 30.7461, 120.7555],
['湖州市', 30.8927, 120.0868], ['绍兴市', 30.0303, 120.5802],
['金华市', 29.0784, 119.6474], ['舟山市', 29.9853, 122.2073],
['台州市', 28.6560, 121.4207], ['合肥市', 31.8206, 117.2272],
['芜湖市', 31.3529, 118.4331], ['蚌埠市', 32.9168, 117.3838],
['安庆市', 30.5259, 117.0520], ['黄山市', 29.7147, 118.3376],
['福州市', 26.0745, 119.2965], ['厦门市', 24.4798, 118.0894],
['泉州市', 24.8741, 118.6757], ['漳州市', 24.5125, 117.6471],
['南平市', 26.6416, 118.1781], ['南昌市', 28.6820, 115.8579],
['景德镇市', 29.2689, 117.1783], ['九江市', 29.7120, 116.0010],
['赣州市', 25.8310, 114.9350], ['上饶市', 28.4549, 117.9434],
['济南市', 36.6512, 117.1201], ['青岛市', 36.0671, 120.3826],
['淄博市', 36.8134, 118.0548], ['烟台市', 37.4638, 121.4479],
['潍坊市', 36.7069, 119.1618], ['济宁市', 35.4145, 116.5872],
['泰安市', 36.1944, 117.1280], ['威海市', 37.5128, 122.1204],
['日照市', 35.4166, 119.5269], ['临沂市', 35.1045, 118.3563],
['郑州市', 34.7466, 113.6254], ['开封市', 34.7973, 114.3077],
['洛阳市', 34.6197, 112.4539], ['安阳市', 36.0990, 114.3920],
['新乡市', 35.3028, 113.9268], ['南阳市', 32.9908, 112.5287],
['武汉市', 30.5928, 114.3055], ['宜昌市', 30.6919, 111.2865],
['襄阳市', 32.0090, 112.1226], ['荆州市', 30.3350, 112.2390],
['恩施市', 30.2720, 109.4880], ['长沙市', 28.2282, 112.9388],
['株洲市', 27.8275, 113.1339], ['衡阳市', 26.8932, 112.5719],
['岳阳市', 29.3570, 113.1288], ['张家界市', 29.1171, 110.4794],
['郴州市', 25.7707, 113.0117], ['广州市', 23.1291, 113.2644],
['深圳市', 22.5431, 114.0579], ['珠海市', 22.2710, 113.5767],
['佛山市', 23.0218, 113.1218], ['汕头市', 23.3535, 116.6808],
['湛江市', 21.2707, 110.3594], ['肇庆市', 23.0471, 112.4720],
['惠州市', 23.1110, 114.4160], ['东莞市', 23.0207, 113.7518],
['中山市', 22.5208, 113.3820], ['南宁市', 22.8170, 108.3665],
['柳州市', 24.3264, 109.4280], ['桂林市', 25.2736, 110.2994],
['北海市', 21.4813, 109.1200], ['海口市', 20.0442, 110.1999],
['三亚市', 18.2528, 109.5119], ['重庆市', 29.5630, 106.5516],
['成都市', 30.5728, 104.0668], ['绵阳市', 31.4670, 104.6790],
['乐山市', 29.5520, 103.7620], ['宜宾市', 28.7660, 104.6170],
['南充市', 30.8370, 106.1100], ['西昌市', 27.8860, 102.2580],
['贵阳市', 26.6470, 106.6302], ['遵义市', 27.7250, 106.9270],
['安顺市', 26.2530, 105.9470], ['昆明市', 25.0389, 102.7183],
['曲靖市', 25.4900, 103.7970], ['玉溪市', 24.3500, 102.5460],
['丽江市', 26.8720, 100.2320], ['大理市', 25.6060, 100.2670],
['景洪市', 22.0070, 100.7980], ['拉萨市', 29.6525, 91.1721],
['日喀则市', 29.2670, 88.8810], ['林芝市', 29.6490, 94.3620],
['西安市', 34.3416, 108.9398], ['宝鸡市', 34.3620, 107.2370],
['咸阳市', 34.3290, 108.7090], ['延安市', 36.5860, 109.4900],
['汉中市', 33.0670, 107.0230], ['榆林市', 38.2860, 109.7350],
['兰州市', 36.0611, 103.8343], ['天水市', 34.5800, 105.7250],
['张掖市', 38.9260, 100.4500], ['敦煌市', 40.1420, 94.6610],
['西宁市', 36.6171, 101.7782], ['银川市', 38.4872, 106.2309],
['乌鲁木齐市', 43.8256, 87.6168], ['喀什市', 39.4700, 75.9890],
['伊宁市', 43.9160, 81.3240], ['阿勒泰市', 47.8480, 88.1390],
];
module.exports = { EXTRA_SCENIC, CN_CITIES };