← Back to Skills Marketplace
zhangsaizz

12306 Query

by zhangsaizz · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
159
Downloads
0
Stars
3
Active Installs
1
Versions
Install in OpenClaw
/install 12306-query
Description
Query China Railway 12306 for train schedules, remaining tickets, and station info. Use when user asks about train/高铁/火车 tickets, schedules, or availability...
README (SKILL.md)

12306 Train Query

Query train schedules and remaining tickets from China Railway 12306.

Query Tickets

node {baseDir}/scripts/query.mjs \x3Cfrom> \x3Cto> [options]
  • HTML mode (default): writes file, prints path to stdout
  • Markdown mode (-f md): prints table to stdout

Examples

# 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 \x3CYYYY-MM-DD>: Travel date (default: today)
  • -t, --type \x3CG|D|Z|T|K>: Filter train types (combinable, e.g. GD)
  • --depart \x3CHH:MM-HH:MM>: Depart time range (e.g. 08:00-12:00, 18:00-)
  • --arrive \x3CHH:MM-HH:MM>: Arrive time range (e.g. -18:00, 14:00-20:00)
  • --max-duration \x3Cduration>: Max travel time (e.g. 2h, 90m, 1h30m)
  • --available: Only show bookable trains
  • --seat \x3Ctypes>: Only show trains with tickets for given seat types (comma-separated: swz,zy,ze,rw,dw,yw,yz,wz)
  • -f, --format \x3Chtml|md>: Output format — html (default, saves file) or md (markdown table to stdout)
  • -o, --output \x3Cpath>: Output file path, html mode only (default: {baseDir}/data/\x3Cfrom>-\x3Cto>-\x3Cdate>.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

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 (快速)
Usage Guidance
This skill appears to do exactly what it says: it requires Node.js and will make HTTPS requests to kyfw.12306.cn / www.12306.cn at runtime, then cache station data in data/stations.json and optionally write HTML output files in the skill directory or a user-specified path. No credentials are requested. Before installing, ensure you trust the skill source (there are small metadata inconsistencies between the registry Owner ID, _meta.json, and README install path), confirm you have Node >= 18 so the built-in fetch is available, and be comfortable with the skill writing a cache file under its data/ directory. If you need stronger assurance, ask the publisher for provenance (author account) or run the scripts in an isolated environment first.
Capability Analysis
Type: OpenClaw Skill Name: 12306-query Version: 1.0.0 The skill bundle is a legitimate tool for querying the China Railway 12306 API for train schedules and ticket availability. The scripts (query.mjs and stations.mjs) communicate exclusively with official 12306 domains (12306.cn and kyfw.12306.cn) and use local file storage for caching station data and saving generated HTML reports. There is no evidence of data exfiltration, malicious execution, or prompt injection; the code is well-documented and its behaviors are strictly aligned with the stated purpose.
Capability Assessment
Purpose & Capability
Name/description ask for 12306 queries and the package requires only Node and includes two scripts that call 12306 endpoints and a station cache. Required binaries (node) and bundled station data are appropriate. Minor bookkeeping inconsistency: _meta.json ownerId and the registry Owner ID/README install path differ (suggests a forked/copy origin) but this does not affect functionality.
Instruction Scope
SKILL.md instructs running the included node scripts; the scripts perform only the advertised actions: fetching station_name.js and leftTicket/query from 12306, parsing results, printing JSON/MD or writing an HTML file, and caching stations.json. The scripts write/read a local cache (data/stations.json) and output HTML/JSON as described; they do not read other system files or access unrelated environment variables or external endpoints.
Install Mechanism
No install spec — instruction-only plus included source files. Nothing is downloaded at install time; network access occurs at runtime (fetching 12306). This is low-risk and proportionate to the skill.
Credentials
The skill requests no environment variables or credentials. It only uses network access to 12306 and local filesystem access to cache station data and save HTML output — both expected for the stated purpose.
Persistence & Privilege
always:false and no requests to persist or modify other skills or agent-wide configuration. The only persistence is a local cache file under the skill's data directory (data/stations.json), which is appropriate for performance.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install 12306-query
  3. After installation, invoke the skill by name or use /12306-query
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of 12306-query: a tool to query China Railway 12306 for train schedules, remaining ticket availability, and station information. - Supports flexible search by city or station name, date, train type, departure/arrival time, and seat class. - Multiple output formats: HTML (file), Markdown (table to stdout), and JSON. - Includes advanced filters such as duration, available/bookable trains, and specific seat types. - Built-in station lookup with 7-day local caching. - Fetches live data directly from the official 12306 API; no API key required.
Metadata
Slug 12306-query
Version 1.0.0
License MIT-0
All-time Installs 3
Active Installs 3
Total Versions 1
Frequently Asked Questions

What is 12306 Query?

Query China Railway 12306 for train schedules, remaining tickets, and station info. Use when user asks about train/高铁/火车 tickets, schedules, or availability... It is an AI Agent Skill for Claude Code / OpenClaw, with 159 downloads so far.

How do I install 12306 Query?

Run "/install 12306-query" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 12306 Query free?

Yes, 12306 Query is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 12306 Query support?

12306 Query is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 12306 Query?

It is built and maintained by zhangsaizz (@zhangsaizz); the current version is v1.0.0.

💬 Comments