ワンクリックで
holiday-of-12306
12306 节假日抢票日历。输入出发站与返程站,自动同步 chinesecalendar、分别查两站起售时间,生成 HTML 页,一键下载 ICS 导入日历。用户提及「节假日购票」「12306 起售时间」时使用本 skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
12306 节假日抢票日历。输入出发站与返程站,自动同步 chinesecalendar、分别查两站起售时间,生成 HTML 页,一键下载 ICS 导入日历。用户提及「节假日购票」「12306 起售时间」时使用本 skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
使用全局 ~/.tmux.services 管理多个项目的常驻服务。支持注册、启动、精确重启、停止、查看状态与日志
启动 mock-ollama,将 OpenAI Chat Completions、Anthropic Messages、OpenAI Responses 三种协议代理到真实 LLM,并为 Claude Code、Codex/GPT-5.6 与 Cursor 提供本地接入和协议桥接。触发词:mock-ollama、启动 ollama mock、Claude 接第三方模型、Codex 接第三方模型、GPT-5.6 代理、Cursor BYOK、监控 LLM 请求
将回复生成 MP3 语音并通过 QQ 发送。用户要求语音回复、音频回复、朗读、“语音回复”、“发语音”、“读给我听”,或希望答案以语音形式交付时使用
用 Playwright 将网页或本地 HTML 渲染为高清 PNG 截图,支持全页、视口、分辨率和加载等待控制。用户提到 html-cut、cut-html、网页截图、HTML 截图、网页转 PNG、全页长截图时使用。
创建、定制并运行零依赖的临时局域网聊天室,支持浏览器聊天、文件传输、粘贴图片与桌面/移动端响应式布局。用户需要局域网聊天页、临时 Wi-Fi 文件共享,或修改内置聊天 UI 时使用。
把 Markdown 文件渲染成手机友好的 HTML,再调用 html-cut 截图为高清 PNG。用户提到 md-to-png、md 转 png、md 截图、把 md 发到手机看时使用。
| name | holiday-of-12306 |
| description | 12306 节假日抢票日历。输入出发站与返程站,自动同步 chinesecalendar、分别查两站起售时间,生成 HTML 页,一键下载 ICS 导入日历。用户提及「节假日购票」「12306 起售时间」时使用本 skill。 |
| version | 1.1.0 |
| dependencies | ["python3","requests","chinesecalendar","esflow"] |
| repository | https://github.com/gitByEOS/open-part-skills |
输入出发站与返程站(返程可省略),自动完成:
Python 包:
pip install esflow requests chinesecalendar
# 去程 + 返程
python3 scripts/run.py 北京南 天津西 2026
# 仅去程(第二参数直接写年份)
python3 scripts/run.py 北京南 2026
# 同步节假日库并自检,不生成日历
python3 scripts/run.py --update
默认行为:写入 ~/Downloads/ticket-calendar/ticket-calendar-{出发站}-{返程站}-{年}.html(仅去程时无返程站名),并自动打开浏览器。在服务器/容器/headless 环境请加 --out <dir> + --no-open 避免污染家目录或卡在弹窗。
esflow DAG 编排(scripts/flow.py 声明,scripts/nodes/ 各节点):
holidays ∥ resolve_stations → query_sale_time → export_html
holidays:入口节点,升级 chinesecalendar + 取目标年份节假日区间,与 resolve_stations 并行resolve_stations:入口节点,下载站名表 + 模糊匹配出发/返程站query_sale_time:依赖 resolve_stations,查去程 + 返程起售时间(无返程站则返程字段 None)export_html:扇入 holidays 与 query_sale_time,组装抢票条目 + 生成 HTML + 弹出浏览器无 TO_AGENT 断点,纯数据流一次跑完。无返程站时 query_sale_time 返程字段返回 None,export_html 不生成返程条目。
https://kyfw.12306.cn/otn/resources/js/framework/station_name.js站名|代码 映射北京难 → 北京南station_error 列出候选(esflow 非交互,不再 stdin 询问)分别查出发站、返程站:
queryAllCacheSaleTime,按 station_telecode 查 sale_timesale_time.html 页面14:00 并标注get_holiday_detail 识别节日名holiday_error写入 ~/Downloads/ticket-calendar/,并自动打开浏览器。网页内完成:
| 方向 | 乘车日 | 抢票日 | 起售站 |
|---|---|---|---|
| 去程 | 假期首日 | 首日 − 15 天 | 出发站 |
| 返程 | 假期末日 | 末日 − 15 天 | 返程站 |
预售期 15 天,以 12306 官方为准。
| 参数 | 说明 |
|---|---|
departure | 出发站名,如 北京南 |
return_station | 返程站名,如 天津西;省略则仅生成去程 |
year | 目标年份,默认当前年 |
--update | 仅升级 chinesecalendar 并自检,不生成日历 |
--skip-update | 跳过默认的节假日库同步 |
--out <dir> | HTML 输出目录,默认 ~/Downloads/ticket-calendar(headless 环境建议显式指定) |
--no-open | 不自动打开浏览器(headless 环境必加) |
--job-dir <dir> | 指定 esflow job 目录 |
--schema | 仅打印 JSON 契约到 stdout 后退出,不跑 flow、不生成产物(退出码 0) |
退出码:0 ok / 1 runtime / 3 validation
成功时 stdout 输出一行 JSON envelope:
{
"ok": true,
"data": {
"html_path": "/path/to/ticket-calendar-北京南-天津西-2026.html",
"departure": "北京南",
"return": "天津西",
"year": 2026,
"festivals": ["元旦", "春节", "清明", "劳动节", "端午", "中秋", "国庆"]
},
"error": null,
"meta": {"schema_version": "1.0.0", "tool": "holiday-of-12306", "elapsed_ms": 1489}
}
失败时 ok=false,error 含 {code, message, retryable};data 为 null。--schema 输出同结构但字段为类型说明字符串。esflow 事件流(trace/running/artifact)走 stderr,不污染 stdout 的 envelope。
| 情况 | 行为 |
|---|---|
| 车站匹配失败 | 抛 station_error,列出候选站名 |
| 起售时间查询失败 | 日志输出失败原因,回落 14:00 (默认)(接口正常返回 14:00 时无「(默认)」后缀,可区分) |
| 节假日数据缺失 | 抛 holiday_error,执行 --update 查看详情 |
| 年份超库支持范围 | 抛 holiday_error,提示支持区间 |
用户提到「抢票日历」「节假日购票」「12306 起售时间」时使用本 skill:
python3 scripts/run.py <出发站> [返程站] [年份]