物流查询助手

Other

通过快递单号查询欧美主流物流状态(UPS、FedEx、USPS、DHL、英国皇家邮政、PostNL 等)。当用户发送快递单号或询问包裹状态时触发。

Install

openclaw skills install logistics-tracker

物流查询助手

本技能由 coopeai.com 创制,根据快递单号查询欧美主流物流商的实时包裹状态。

触发条件

以下情况调用本技能:

  • 用户发送一串快递单号(单独或附带快递商说明)
  • 用户说"帮我查一下包裹"、"查快递"、"我的包裹到哪了"
  • 用户询问物流状态、派送位置或预计到货时间
  • 用户发来数字串并问"到了吗"、"在哪里"

第一步 — 识别快递商

按顺序(优先最具体的规则)匹配单号格式:

快递商格式规则示例
UPS1Z[A-Z0-9]{16}1Z999AA10123456784
FedEx 快递纯数字 12 位123456789012
FedEx 陆运/经济纯数字 15 / 20 / 22 位012345678901234
USPS 国内94/92/93 开头 20~22 位数字9400111899223397467490
USPS 国际[A-Z]{2}[0-9]{9}[A-Z]{2}EA123456789US
DHL 快递纯数字 10~11 位(无字母前缀)1234567890
DHL 电商GM 开头 16~18 位,或 420 开头GM6019267030000285
英国皇家邮政[A-Z]{2}[0-9]{9}GBRA123456789GB
PostNL(荷兰)3S[A-Z0-9]{14}JJD[0-9]{18}3SDEVC123456789A
DPD(欧洲)05 开头 14 位数字05012345678901
GLS(欧洲)8~11 位数字12345678
Evri / Hermes(英国)16 位字母数字(常以 H 开头)H1234567890ABCD
亚马逊物流TBA[0-9]{9,12}TBA123456789000
Purolator(加拿大)[A-Z]{3}[0-9]{9}PUR123456789
加拿大邮政16 位数字,或 [A-Z]{2}[0-9]{9}CA1234567890123456

若格式存在歧义(如纯 12 位可能是 FedEx 也可能是 DHL),询问用户确认快递商,或两个都查一遍。


第二步 — 获取物流信息

主要方案:使用 WebSearch 搜索

按快递商使用以下搜索语句:

快递商搜索词
UPSUPS tracking {单号}
FedExFedEx track {单号}
USPSUSPS tracking {单号}
DHLDHL Express tracking {单号}
皇家邮政Royal Mail track {单号}
PostNLPostNL track {单号}
DPDDPD tracking {单号}
亚马逊Amazon order tracking {单号}

备用方案:直接抓取快递商官网

用 WebFetch 抓取以下页面(注意:部分页面依赖 JavaScript 渲染,若返回空内容则退回 WebSearch):

快递商查询链接
UPShttps://www.ups.com/track?tracknum={单号}
FedExhttps://www.fedex.com/fedextrack/?trknbr={单号}
USPShttps://tools.usps.com/go/TrackConfirmAction?tLabels={单号}
DHL 快递https://www.dhl.com/en/express/tracking.html?AWB={单号}&brand=DHL
DHL 电商https://www.dhl.com/en/ecommerce/tracking.html?tracking-id={单号}
皇家邮政https://www.royalmail.com/track-your-item#/tracking-results/{单号}
PostNLhttps://jouw.postnl.nl/track-and-trace/{单号}
Evri / Hermeshttps://www.evri.com/track/{单号}
DPD 英国https://www.dpd.co.uk/service/parcelstatus?parcel={单号}
亚马逊https://track.amazon.com/tracking/{单号}
Purolatorhttps://www.purolator.com/en/ship-track/tracking-results.page?pin={单号}

兜底方案:17track 聚合平台

若以上两种方式均失败,使用 17track(支持 2000+ 家快递商):

https://t.17track.net/en#nums={单号}

第三步 — 展示结果

按以下格式输出:

📦 快递单号:{单号}
🚚 快递商:{快递商名称}
📍 当前状态:{状态}  ← 如"运输中"、"派送中"、"已签收"
🕐 最新更新:{日期 时间 时区}
📍 当前位置:{城市, 省/国家}

--- 物流轨迹 ---
(最新在前)
• {日期 时间} — {地点} — {事件描述}
• {日期 时间} — {地点} — {事件描述}
• {日期 时间} — {地点} — {事件描述}
  …(超过 10 条轨迹时截断)

📅 预计到货:{日期 或 "暂无信息"}
🔗 官网查询:{直达查询链接}

状态图标说明:

  • ✅ 已签收
  • 🚚 派送中
  • 📦 运输中
  • 🛃 海关清关
  • ⏳ 待揽收 / 已创建标签
  • ⚠️ 异常 / 延误 / 投递失败
  • ❓ 无数据

第四步 — 批量查询

用户一次发送多个单号时:

  1. 并发查询每个单号(各自独立 WebSearch)
  2. 先给出汇总表:
| # | 快递单号               | 快递商  | 当前状态    | 预计到货       |
|---|----------------------|--------|------------|--------------|
| 1 | 1Z999AA10123456784   | UPS    | 运输中      | 2026年6月5日  |
| 2 | 123456789012         | FedEx  | 已签收      | 2026年6月1日  |
  1. 汇总表之后再展示每个单号的完整轨迹详情。

第五步 — 特殊情况处理

查询无结果:

我已搜索快递单号 {单号}({快递商}),但未找到任何物流记录。可能原因:

  • 商家刚创建面单,包裹还未被揽收扫描(请等待 24~48 小时后重试)
  • 单号输入有误,请核对是否有多余字符或遗漏
  • 该包裹已超过 120 天,轨迹已过期

可直接前往官网查询:{直达链接}

快递商模糊不清:

这个单号({单号})同时符合多家快递商的格式,请问是哪家发货的?

  • FedEx(12 位纯数字)
  • DHL 快递(10 位纯数字)

或者我可以两家都查一遍。

未识别格式: 若格式不匹配任何已知规则,直接搜索:

track package "{单号}"

根据搜索结果判断快递商后再展示结果。


快速参考:各地区主流快递商

地区主流快递商
美国UPS、FedEx、USPS、Amazon Logistics、OnTrac、LaserShip
英国英国皇家邮政 Royal Mail、Evri/Hermes、DPD UK、Parcelforce、Yodel
德国DHL Paket、Hermes DE、DPD DE、GLS、UPS DE
法国La Poste/Colissimo、Chronopost、DHL FR、DPD FR、Mondial Relay
荷兰PostNL、DHL NL、DPD NL、GLS NL
西班牙Correos、SEUR、MRW、GLS ES、DHL ES
意大利Poste Italiane、BRT、GLS IT、DHL IT、SDA
加拿大Canada Post、Purolator、FedEx CA、UPS CA

当用户提到特定欧洲国家时,优先识别该国本地快递商格式。