360 Secure SkillHub
360 安全技能中心

Package Track

核心功能是提供统一的全球快递追踪接口,默认集成快递鸟,可扩展接入其他物流服务商。典型场景包括用户通过单号查物流,或在代码中集成快递查询功能。支持CLI输入快递代码和单号查询,也可通过Python代码调用获取结构化物流数据,使用前需配置快递鸟的商务ID与API密钥。

openlang-cn
openlang-cn
热度 46.48
最近更新 2026-05-11 17:30:52
分类:生活依赖:代码执行 / 第三方 API / 读写文件应用场景:API 集成 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add package-track
Metadata
name
package-tracker
description
Query package/express tracking worldwide via unified API. Integrates with 快递鸟 (Kdniao) and is extensible to other providers. Use when the user asks to track a parcel, query logistics, look up express by tracking number, or integrate courier tracking.
homepage
https://github.com/openlang-cn/package-tracker.git
metadata
{"openclaw":{"emoji":"📦","homepage":"https://github.com/openlang-cn/package-tracker.git","requires":{"bins":["python"]}}}

Package Tracker

Purpose

Helps implement and use a unified package tracking layer that can integrate multiple courier APIs (starting with 快递鸟). Use this skill when:

  • User wants to track a parcel by tracking number
  • User asks to integrate express/courier query in code
  • User mentions 快递鸟, Kdniao, or “快递查询”

Quick Start

  1. Config: Copy package_tracker.json.example to package_tracker.json, then fill in providers.kdniao.ebusiness_id and providers.kdniao.api_key.

  2. Query (Python):

    # Run in the skill directory (where this SKILL.md lives)
    python -m package_tracker track <ShipperCode> <LogisticCode>
    # e.g. python -m package_tracker track ZTO 638650888018
    
  3. In code:

    from package_tracker import get_tracker
    tracker = get_tracker()
    result = tracker.track(shipper_code="ZTO", logistic_code="638650888018")
    

Provider: 快递鸟 (Kdniao)

  • 即时查询 RequestType: 1002
  • Endpoint: https://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx
  • RequestData (JSON): ShipperCode, LogisticCode, optional OrderCode, optional CustomerName (required for 顺丰 SF: last 4 digits of phone)
  • Sign: RequestData (unencoded JSON, no spaces) + ApiKey → MD5 → Base64 → URL-encode

Do not put API keys in code; store them in package_tracker.json (and avoid committing it).

Adding Another Provider

  1. Add a new module under package_tracker/ implementing the same track interface (e.g. track(shipper_code, logistic_code, **kwargs) -> dict).
  2. Register it in package_tracker/registry.py, then select it via config (default) or pass provider=... in get_tracker(...).

Reference

  • 快递鸟即时查询: API 文档
  • 本技能目录内已包含可运行的 package_tracker/(CLI + Python 包)与示例配置文件;安装到 ClawHub 后无需额外 clone 仓库即可直接执行上述命令。