Trip Planner CN

v1.0.3

行程规划助手,支持往返/单程行程规划。触发词:规划行程、高铁查询、航班查询、机场周边、时间安排、出行方案、当天往返。 涵盖:航班/高铁时刻查询、中转方案、时间约束筛选、详细时间线生成。

0· 117·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for doushen-cloud/trip-planner-cn.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Trip Planner CN" (doushen-cloud/trip-planner-cn) from ClawHub.
Skill page: https://clawhub.ai/doushen-cloud/trip-planner-cn
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install trip-planner-cn

ClawHub CLI

Package manager switcher

npx clawhub@latest install trip-planner-cn
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (trip planning, flights/trains/driving) matches the SKILL.md: it queries flight/train/hotel/ticket data, considers time constraints and nearby airports. Required items (only an optional BMAP_WEBAPI_AK) align with stated needs.
Instruction Scope
Instructions primarily describe web queries, data extraction, scrolling to load lazy-loaded results, and use of built-in DuMate connectors (___query_flight, ___query_train, etc.). They also show concrete browser-automation steps (e.g., 'playwright-cli mousewheel ...'). This is coherent for scraping search results but assumes the runtime can execute browser automation and DuMate connectors; it does not instruct reading user files or unrelated environment variables.
Install Mechanism
This is an instruction-only skill with no install spec or third-party downloads. That minimizes install-time risk. The only runtime dependency implied is browser automation (Playwright) and the platform's DuMate connectors, but nothing is pulled from external URLs by the skill itself.
Credentials
No required credentials are declared; only an optional BMAP_WEBAPI_AK (Baidu Maps API key) is requested for more accurate driving times, which is proportionate to the stated driving-time feature.
Persistence & Privilege
always is false and there is no request to modify agent/system-wide settings or persist credentials. The skill does not request elevated or permanent privileges.
Assessment
This skill looks coherent and does what it says: plan trips by querying flights/trains and estimating driving times. Before installing, confirm the agent runtime provides the DuMate connectors and a browser-automation capability (Playwright or equivalent) because the instructions rely on web scraping and scrolling. If you want accurate driving times, supply a Baidu Maps API key (BMAP_WEBAPI_AK); otherwise the skill will use estimated values and note that. Be aware web scraping of sites like 携程 and 12306 may be brittle, subject to rate limits or terms of service; avoid sending highly sensitive personal data to the skill, and monitor for failures or unexpected network activity. If you need stronger assurance, request details from the skill author about which runtime services (connectors/browsers) it expects and where scraped data is sent/stored.

Like a lobster shell, security has layers — review code before you run it.

latestvk9751q99zjadtfcmvh9xq9xkyn85mzsk
117downloads
0stars
4versions
Updated 2h ago
v1.0.3
MIT-0

Trip Planner Skill

行程规划助手,支持往返行程(当天/隔天/多天)和单程行程规划。

前置条件

本技能使用DuMate自带的携程connector查询交通信息,无需额外安装依赖。

可选配置

  • BMAP_WEBAPI_AK - 百度地图API密钥,用于驾车时间查询(如未配置将使用估算值)

可用工具

工具功能数据源
___query_flight查询航班携程
___query_train查询高铁/火车携程
___query_hotel查询酒店携程
___query_ticket查询景点门票携程

触发场景

用户需要规划行程,涉及飞机、高铁、驾车等交通方式的选择和组合。

行程类型

  • 往返:可能是当天往返,也可能是隔天或多天
  • 单程:按"可以出发的时间"或"需要到达的时间"推算

核心规则

一、硬性约束(必须满足)

  • 明确了出发时间 → 不能比那个时间更早出发
  • 明确了到达时间 → 不能比那个时间更晚到达
  • 停留时间 → 必须满足
  • 说了"当天往返" → 必须找当天往返的方案(定义:早上6:30可以从出发地出发,晚上23:00前回到出发地)

二、软性约束(尽量满足)

  • 用户说"早去早回" → 在满足硬性约束下尽量早出发、早返回

三、时间预留

  • 国内航班:提前1小时到机场
  • 高铁:提前30分钟到站
  • 中转:预留足够时间(建议30分钟以上)

四、交通方式选择

  • 优先直达
  • 无直达时,考虑出发地或目的地周边城市的机场/火车站
  • 选择标准:总时长最短(从最初出发地到最终目的地)

五、驾车限制

  • 驾车时间不超过2.5小时
  • 例外情况:没有其他交通方式可选,或替代方案(飞机/高铁)比驾车多出1小时以上

六、不考虑价格因素

时间最关键,不因价格差异改变推荐方案。

航班查询规则(携程)

1. 打开页面

  • 访问携程航班搜索页面
  • 等待页面加载完成(sleep 3-5秒)

2. 按时间排序

  • 点击"起飞时间早-晚"排序
  • 便于后续筛选

3. 滚动加载完整数据(关键!)

携程等网站使用懒加载,必须滚动到底部才能获取所有航班。

操作步骤

  1. 获取初始快照
  2. 滚动页面:playwright-cli mousewheel 0 500
  3. 等待2秒让数据加载
  4. 获取新快照
  5. 重复步骤2-4,直到页面不再加载新内容

判断是否加载完成

  • 快照中的航班数量不再增加
  • 页面底部出现"没有更多"提示
  • 滚动后快照内容与上次相同

常见错误

  • 只获取第一屏数据就停止 → 遗漏后面的航班
  • 假设数据已完整 → 实际还有更多航班未加载

实际案例

  • 查询烟台→北京返程航班时,第一屏只显示到14:00的航班
  • 继续滚动后,发现19:30起飞的航班(这才是当天往返的关键)

4. 数据提取

  • 提取所有直飞航班
  • 区分虹桥机场(SHA)和浦东机场(PVG)
  • 区分直飞、经停、中转
  • 标注次日到达(+1)

携程connector数据解析规则

使用 ___query_flight 工具时,返回的 routeList 中每个 route 包含 flights 数组:

  • 直飞flights 数组长度为1,且 aport.name 为目标机场
  • 经停flights 数组长度为1,但 stops 不为空
  • 中转flights 数组长度大于1

筛选直飞航班时,必须同时满足:

  1. len(flights) == 1
  2. flights[0].aport.name == 目标机场名称

错误示例:只按 len(flights) == 1 筛选,未检查到达机场,导致遗漏部分直飞航班

5. 数据完整性验证

  • 提取后,对比"应该有多少航班"vs"实际提取了多少"
  • 关键决策前,抽查几个航班确认数据准确
  • 验证方法:用户提及某个航班时,立即在原始数据中搜索确认是否存在

6. 出发机场优先

  • 优先选择离用户出发地最近的机场
  • 例如:用户在浦东,优先选浦东机场出发的航班

高铁查询规则(12306)

1. 查询实时数据

  • 使用浏览器自动化访问12306

2. 未开售处理

  • 如目标日期未开售,查询历史同期/相近日期的时刻表作为参考
  • 标注"参考历史时刻表,实际以开售后为准"

穷尽周边机场

触发条件

  • 目的地城市进出港航班较少(如小城市、县城)
  • 目的地没有机场或机场航班选择有限

操作方法

  1. 确定目的地具体位置
  2. 在地图上搜索周边200-300km范围内的所有机场
  3. 不能凭印象列举,要系统性地排查
  4. 逐一查询每个机场的航班

优先级

  • 先查最近的机场
  • 航班选择少时,再查周边更远的机场

示例

  • 郎酒庄园(古蔺县二郎镇)→ 周边机场:泸州、遵义、重庆、贵阳、宜宾、昭通
  • 龙口(山东烟台下辖县级市)→ 周边机场:烟台、青岛、潍坊

综合排序

  • 不是按价格排序,而是按"总耗时"排序
  • 总耗时 = 出发地到机场/车站时间 + 候机/候车时间 + 航班/高铁时间 + 机场/车站到目的地时间
  • 输出时只输出筛选后的方案,不输出完整列表

驾车时间查询

  • 使用百度地图 webapi(需配置 BMAP_WEBAPI_AK 环境变量)
  • 如未配置,可使用估算值并标注

工作流程

1. 明确需求

  • 出发地、目的地
  • 出发日期
  • 行程类型(往返/单程)
  • 时间约束(出发时间/到达时间/停留时间)
  • 其他偏好(如"早去早回")

2. 确定目的地位置

  • 查询目的地具体位置
  • 搜索周边机场(200-300km范围)

3. 调研交通方式

  • 查询各机场航班时刻表
  • 查询高铁时刻表
  • 查询驾车时间(如适用)
  • 查询目的地到机场/车站的交通时间

4. 生成方案

  • 根据约束条件筛选可行方案
  • 计算每个方案的总耗时
  • 按总耗时排序

5. 呈现方案

  • 方案对比表
  • 最优方案详细时间线
  • 注意事项

输出格式

方案对比表

方案出发时间到达时间总耗时交通方式备注
方案AXX:XXXX:XXX小时XX→XX→XX简要说明
方案BXX:XXXX:XXX小时XX→XX→XX简要说明

最优方案详细时间线

06:30-08:10  北京首都机场  值机、安检、候机
08:10-09:35  北京首都机场 → 烟台蓬莱机场  乘坐SC5069航班
09:35-10:30  烟台机场 → 龙口  打车
...

注意事项

  • 航班号、航站楼信息
  • 中转交通建议
  • 到达时间较晚时的提醒

输出前自洽性检查(必须!)

时间线输出前,逐行检查:

1. 时间段长度与耗时说明一致

  • 例:写"05:50-06:08"则时长为18分钟,不能写"地铁30分钟"
  • 例:写"地铁30分钟"则时间段必须跨越30分钟

2. 每个交通节点预留候车/候机时间

  • 高铁发车前必须预留30分钟到站检票
  • 航班起飞前必须预留1小时到机场值机
  • 例:高铁14:09发车 → 最晚13:39到站 → 出发时间往前推
  • 错误示例:写"12:30-14:09 打车到威海站"然后"14:09高铁发车"——没有预留候车时间

常见错误

  1. 只查去程不查返程:导致返程时间不合适
  2. 忽略机场/车站到目的地的交通时间:导致实际停留时间不足
  3. 不考虑值机时间:导致赶不上航班
  4. 不区分机场/车站:导致用户跑错地方
  5. 违反硬性约束:推荐了不满足用户时间要求的方案
  6. 航班数据提取不完整:只获取了部分航班,遗漏更优方案
  7. 凭印象列举周边机场:遗漏更近的机场
  8. 只按价格排序:忽略了出发机场、总耗时等因素
  9. 时间线自相矛盾:时间段长度与耗时说明不一致(如写"05:50-06:08"但说明"地铁30分钟")
  10. 数据解析错误:携程connector返回了完整数据,但解析时筛选条件不正确,遗漏了部分航班(如只按 len(flights)==1 筛选,未检查到达机场是否为目标机场)

示例

用户需求:4月25日从上海浦东去泸州郎酒庄园,9:30后出发

目的地位置分析

  • 郎酒庄园位于泸州市古蔺县二郎镇,地处川黔交界
  • 周边机场:泸州云龙(100km)、遵义新舟(150km)、重庆江北(200km)、贵阳龙洞堡(280km)

调研结果

  • 上海→泸州:仅1班直飞(MF8857,16:25-19:30,虹桥T1)
  • 上海→重庆:多班航班,CA4576(12:05-14:55,浦东T2)较优
  • 上海→遵义:需查询
  • 上海→贵阳:多班航班

方案对比

方案出发时间到达庄园时间总耗时航班价格驾车距离
A(泸州直飞)14:2521:30约7小时¥740100km
B(重庆转车)10:0018:30约7小时¥900200km

推荐:方案B,从浦东出发更方便,到达时间更早。

Comments

Loading comments...