Skill Agent Hub
返回目录

SKILL 详情

生活服务

12306

查询 12306 国内列车时刻、余票与站点信息

Lifestyle Services 生活服务
最新版本1.0.2
发布时间2026年7月28日
支持运行时Generic Skill Package
来源官方种子归档

能力说明

这个 Skill 能做什么

查询 12306 国内列车时刻、余票与站点信息

安装方式

如何安装

人工安装

  1. 下载当前版本的 SKILL.md 文件。
  2. 在目标运行时的 Skills 目录中创建名为 12306 的文件夹。
  3. 将文件放入该文件夹,随后按运行时自身的加载方式启用它。
mkdir -p skills/12306
# 下载下方的 SKILL.md,并保存为:
# skills/12306/SKILL.md

清单路径:skills/12306/SKILL.md。具体安装目录可能因运行时而异,请以目标运行时文档为准。

AI 安装将这段话发送给 AI,由它根据目标运行时完成安装并检查结果。
请帮我将「12306」安装到目标 AI 运行时中。

Skill 平台详情页:https://www.skillagenthub.com/skills/12306
平台镜像下载地址:https://www.skillagenthub.com/api/skills/12306/download
目标目录:skills/12306/SKILL.md

请先确认当前运行时的 Skill 目录与安装规范;再下载或保存该版本的 SKILL.md 到正确位置。完成后请检查文件路径、版本和可加载性,并简要报告安装结果。不要执行 Skill 包内任何脚本。

AI 使用提示

分两段提供给 AI

先提供 Skill 指令,再提供具体任务,让模型先了解能力边界,再执行实际工作。

第一段:Skill 指令先发送,用于建立能力、规则与限制。
---
name: "12306"
description: Query China Railway 12306 for train schedules, remaining tickets, and station info. Use when user asks about train/高铁/火车 tickets, schedules, or availability within China.
description_zh: "查询 12306 国内列车时刻、余票与站点信息"
description_en: "Query China Railway 12306 train schedules and ticket availability"
version: 1.0.2
allowed-tools: Bash,Read
metadata:
  openclaw:
    emoji: "🚄"
    requires:
      bins:
        - node
---

# 12306 Train Query

Query train schedules and remaining tickets from China Railway 12306.

## Query Tickets

```bash
node {baseDir}/scripts/query.mjs <from> <to> [options]
```

- HTML mode (default): writes file, prints path to stdout
- Markdown mode (`-f md`): prints table to stdout

### Examples

```bash
# All trains from Beijing to Shanghai (defaults to today)
node {baseDir}/scripts/query.mjs 北京 上海

# Markdown table output (to stdout, good for chat)
node {baseDir}/scripts/query.mjs 北京 上海 -t G -f md

# Morning departures, 2h max, with second class available
node {baseDir}/scripts/query.mjs 上海 杭州 -t G --depart 06:00-12:00 --max-duration 1h --seat ze

# Only bookable trains arriving before 6pm
node {baseDir}/scripts/query.mjs 深圳 长沙 --available --arrive -18:00

# Custom output path
node {baseDir}/scripts/query.mjs 广州 武汉 -o /tmp/tickets.html

# JSON output (to stdout)
node {baseDir}/scripts/query.mjs 广州 武汉 --json
```

### Options

- `-d, --date <YYYY-MM-DD>`: Travel date (default: today)
- `-t, --type <G|D|Z|T|K>`: Filter train types (combinable, e.g. `GD`)
- `--depart <HH:MM-HH:MM>`: Depart time range (e.g. `08:00-12:00`, `18:00-`)
- `--arrive <HH:MM-HH:MM>`: Arrive time range (e.g. `-18:00`, `14:00-20:00`)
- `--max-duration <duration>`: Max travel time (e.g. `2h`, `90m`, `1h30m`)
- `--available`: Only show bookable trains
- `--seat <types>`: Only show trains with tickets for given seat types (comma-separated: `swz,zy,ze,rw,dw,yw,yz,wz`)
- `-f, --format <html|md>`: Output format — `html` (default, saves file) or `md` (markdown table to stdout)
- `-o, --output <path>`: Output file path, html mode only (default: `{baseDir}/data/<from>-<to>-<date>.html`)
- `--json`: Output raw JSON to stdout

### Output Columns

| Column | Meaning |
|--------|---------|
| 商务/特等 | Business class / Premium (swz) |
| 一等座 | First class (zy) |
| 二等座 | Second class (ze) |
| 软卧/动卧 | Soft sleeper / Bullet sleeper (rw/dw) |
| 硬卧 | Hard sleeper (yw) |
| 硬座 | Hard seat (yz) |
| 无座 | Standing (wz) |

Values: number = remaining seats, `有` = available (qty unknown), `—` = not applicable

## Station Lookup

```bash
node {baseDir}/scripts/stations.mjs 杭州
node {baseDir}/scripts/stations.mjs 香港西九龙
```

## Notes

- Data comes directly from 12306 official API (no key needed)
- Station data is cached for 7 days in `{baseDir}/data/stations.json`
- Supports city names (resolves to main station) or exact station names
- Works for all train types: G (高铁), D (动车), Z (直达), T (特快), K (快速)
第二段:任务请求在第一段之后发送,将方括号内容替换为你的目标。
请使用「12306」完成以下任务。

任务目标:
[描述你希望完成的结果]

输入资料:
[粘贴文本、链接、文件说明或数据]

输出要求:
[说明格式、语言、篇幅和验收标准]

请严格遵循上一段 Skill 指令中的边界、步骤和限制;缺少必要信息时先提出澄清问题。

原始内容

SKILL.md

---
name: "12306"
description: Query China Railway 12306 for train schedules, remaining tickets, and station info. Use when user asks about train/高铁/火车 tickets, schedules, or availability within China.
description_zh: "查询 12306 国内列车时刻、余票与站点信息"
description_en: "Query China Railway 12306 train schedules and ticket availability"
version: 1.0.2
allowed-tools: Bash,Read
metadata:
  openclaw:
    emoji: "🚄"
    requires:
      bins:
        - node
---

# 12306 Train Query

Query train schedules and remaining tickets from China Railway 12306.

## Query Tickets

```bash
node {baseDir}/scripts/query.mjs <from> <to> [options]
```

- HTML mode (default): writes file, prints path to stdout
- Markdown mode (`-f md`): prints table to stdout

### Examples

```bash
# All trains from Beijing to Shanghai (defaults to today)
node {baseDir}/scripts/query.mjs 北京 上海

# Markdown table output (to stdout, good for chat)
node {baseDir}/scripts/query.mjs 北京 上海 -t G -f md

# Morning departures, 2h max, with second class available
node {baseDir}/scripts/query.mjs 上海 杭州 -t G --depart 06:00-12:00 --max-duration 1h --seat ze

# Only bookable trains arriving before 6pm
node {baseDir}/scripts/query.mjs 深圳 长沙 --available --arrive -18:00

# Custom output path
node {baseDir}/scripts/query.mjs 广州 武汉 -o /tmp/tickets.html

# JSON output (to stdout)
node {baseDir}/scripts/query.mjs 广州 武汉 --json
```

### Options

- `-d, --date <YYYY-MM-DD>`: Travel date (default: today)
- `-t, --type <G|D|Z|T|K>`: Filter train types (combinable, e.g. `GD`)
- `--depart <HH:MM-HH:MM>`: Depart time range (e.g. `08:00-12:00`, `18:00-`)
- `--arrive <HH:MM-HH:MM>`: Arrive time range (e.g. `-18:00`, `14:00-20:00`)
- `--max-duration <duration>`: Max travel time (e.g. `2h`, `90m`, `1h30m`)
- `--available`: Only show bookable trains
- `--seat <types>`: Only show trains with tickets for given seat types (comma-separated: `swz,zy,ze,rw,dw,yw,yz,wz`)
- `-f, --format <html|md>`: Output format — `html` (default, saves file) or `md` (markdown table to stdout)
- `-o, --output <path>`: Output file path, html mode only (default: `{baseDir}/data/<from>-<to>-<date>.html`)
- `--json`: Output raw JSON to stdout

### Output Columns

| Column | Meaning |
|--------|---------|
| 商务/特等 | Business class / Premium (swz) |
| 一等座 | First class (zy) |
| 二等座 | Second class (ze) |
| 软卧/动卧 | Soft sleeper / Bullet sleeper (rw/dw) |
| 硬卧 | Hard sleeper (yw) |
| 硬座 | Hard seat (yz) |
| 无座 | Standing (wz) |

Values: number = remaining seats, `有` = available (qty unknown), `—` = not applicable

## Station Lookup

```bash
node {baseDir}/scripts/stations.mjs 杭州
node {baseDir}/scripts/stations.mjs 香港西九龙
```

## Notes

- Data comes directly from 12306 official API (no key needed)
- Station data is cached for 7 days in `{baseDir}/data/stations.json`
- Supports city names (resolves to main station) or exact station names
- Works for all train types: G (高铁), D (动车), Z (直达), T (特快), K (快速)