Repository navigation
Releases: zanedonkey/dsh-tool-12306
Release list
v0.1.6 — Runtime diagnostics, compact output and query deadlines
v0.1.6 — Runtime diagnostics, compact output and query deadlines
Highlights
- 新增
12306_plugin_info:不联网显示当前已加载插件版本、Node.js 版本、四个工具、能力标识及超时配置。更新后可据此确认新版是否生效。 - 直达和中转新增
outputMode: "compact":减少模型文本,保留有票/指定席别、实际出发和到达日期、中转间隔与完整已返回价格组合。默认full输出和原生结构化结果保持兼容。 - 新增
queryTimeoutMs,默认 60000 毫秒、范围 100–300000:一次查询共同预算覆盖初始化、排队、限速、重试、所有分页和响应体读取。超时明确报错并取消该调用,不返回看似完整的部分结果,也不取消其他订阅仍使用的共享 HTTP 请求。 - HTTP User-Agent 自动使用包版本,移除固定 0.1.3 标识。同步当前安装、安全、配置和兼容性说明。
Installation and upgrade
DeepSeek Harness 桌面端“插件 → 添加插件”输入 dsh-tool-12306@0.1.6,安装后启用。旧版先卸载再安装;完全退出 Harness(包括托盘后台)后重新打开,避免仍使用旧进程。
dsh plugin --profile rail add dsh-tool-12306@0.1.6
dsh --profile rail web调用 12306_plugin_info,应显示 version: "0.1.6",transferPricing、compactOutput、queryDeadline 均为 true。诊断不比较磁盘版本,不显示本地路径或凭据。如果该工具不存在,请核对插件所在 profile、加载位置及旧进程是否退出。
也可安装 Release 的 dsh-tool-12306-0.1.6.tgz,先核对旁附 SHA-256 文件。它与本次 npm 发布使用同一 tarball。
Available tools
12306_query_tickets12306_query_transfer12306_train_route12306_plugin_info(新增,本地只读)
两个行程查询可传 outputMode: "compact";经停输出保持原有格式。整次查询预算通过插件 config 设置 queryTimeoutMs,不是模型查询参数。
Validation and compatibility
支持两套已验证的 Harness SDK:0.2.0-rc.2 / Cordis 4.0.4,0.2.1-alpha.1 / Cordis 4.0.5-alpha.1。本地两套环境均通过 build、lint 和 165 项离线测试,包括真实 Loader、ToolRuntime、卸载、精简文本、共享取消、排队/分页/重试/响应体超时。默认测试不访问真实 12306。
GitHub CI 配置覆盖 Ubuntu/Windows、Node 22/24 及两套 SDK;本次提交的实际状态见仓库 Actions。Node.js 要求 ^22.19.0 || >=24.0.0。
Known limitations
- 精简仅改变模型文本,canonical 结构化结果仍完整;未展示席别不表示无票,未知票价保持
null。 - 中转仍为两程、有限分页;最低已知票价不保证全局最低价,缺失或冲突票价不推测。
- 整次超时后不会返回部分路线;查询范围较大或上游较慢时可合理调整预算,保持保守请求频率。
- 不提供登录、购票、抢票、验证码绕过、支付或账号自动化。上游公开网站/API 行为变化可能影响查询。
Acknowledgements and license
基于 Joooook/12306-mcp 的站点数据、查询和解析实现进行优化,并迁移为 DeepSeek Harness 原生插件。MIT;保留上游 Jok 的必要版权与许可证声明。本项目非中国铁路或 12306 官方项目。
Published package verification
- Source CI: all 8 jobs passed (Ubuntu/Windows, Node 22/24, both supported SDKs), 165 offline tests per job.
- Public npm latest is 0.1.6. Two clean registry installations each passed 23 native ToolRuntime calls, including diagnostics, compact rendering, the query deadline, loading, unloading and reloading.
- The npm and GitHub tarballs are identical: 65,268 bytes, 102 files.
- SHA-256:
bb318f3e3bcedbb3a45a70c25de9e0bb0ec737761094544acdc8c6b890354e30. - Source/tag target:
7a071936f56e1bec7aa1e6f19b092e5d631d5a05.
v0.1.5 — Transfer seat combinations and pricing
v0.1.5 — Transfer seat combinations and pricing
Native China Railway 12306 query tools for DeepSeek Harness.
Highlights
- 中转支持两程分别指定席别:
firstSeatType/secondSeatType,例如二等座+硬卧、一等座+软卧。两程独立覆盖共同seatType,保持已有筛选兼容。 - 每条路线展示当前明确有票的席别组合、各程已知票价和人民币合计;任一程价格缺失时合计为
null,并标记incomplete。 sortBy: "price"按最低完整已知组合总价选择路线,未知价格排后,同价按总历时。默认仍按总历时。maxSeatCombinations默认 5、范围 1–20;列表截断与路线分页截断分别标记,无额外补价请求。- 包含 0.1.4 的中转首末程时间窗口、跨午夜出发、换乘时长和仅同站筛选改进。
Installation
在 DeepSeek Harness 桌面端“插件 → 添加插件”输入 dsh-tool-12306@0.1.5,安装后立即启用。已安装旧版时先卸载旧版。
dsh plugin --profile rail add dsh-tool-12306@0.1.5也可下载本 Release 的 dsh-tool-12306-0.1.5.tgz 与对应 .sha256 文件,核对 SHA-256 后在桌面端输入安装包本地完整路径。CLI:
dsh plugin --profile rail add ./dsh-tool-12306-0.1.5.tgz需要 Node.js 22.19+ 或 24+;已验证 DeepSeek Harness 0.2.0-rc.2 / 0.2.1-alpha.1。
Available tools
12306_query_tickets:直达车次、余票、时间窗口和席别筛选。12306_query_transfer:两程中转、换乘筛选、席别组合和已知总价排序。12306_train_route:指定列车经停站及沿途区间。
自然语言示例:查深圳到拉萨的中转,第一程二等座、第二程硬卧,只看两程有票的,按已知总价从低到高列出。
Validation
两套支持的 SDK 均通过 build、lint、154 项离线测试。候选安装包分别通过真实 Harness Loader 加载、17 次原生 ToolRuntime 调用、三个工具、跨午夜筛选、混合席别、总价、缺价排序、卸载和重载验证。测试使用人工 fixture,不访问真实 12306。
Known limitations
票价只来自现有查询响应中可解析的字段,缺失或冲突价格保留 null;最低已知价格不代表所有路线或未知票价中的全局最低。中转只读取配置允许的分页,余票为查询时快照。
不支持同一列车分段换席、不购票、不抢票、不登录、不绕过验证码、不支付。本项目与中国铁路及 12306 官方无隶属或合作关系;上游接口行为可能变化。详见 席别与价格规则。
Acknowledgements and license
基于 Joooook/12306-mcp 的查询实现进行优化并迁移为 Harness 原生插件,无 MCP Server 或 MCP 依赖。感谢作者 Joooook(许可证署名 Jok)与 deepseek-ai/deepseek-harness。MIT License,保留上游版权和许可证声明。
v0.1.3
Highlights
Native China Railway 12306 query tools for DeepSeek Harness. 首次公开发布提供直达车次/余票、两程中转和经停站查询;支持跨午夜出发及按真实日期筛选到达。无需 12306 登录,未使用 MCP Server。
Installation
下载本 Release 的 dsh-tool-12306-0.1.3.tgz 和对应 .sha256 文件,核对安装包校验值。
- 在 DeepSeek Harness 桌面端“插件 → 添加插件”输入下载包的本地完整路径,安装后立即启用。升级时先卸载旧版再安装。
- CLI 在包所在目录执行
dsh plugin --profile rail add ./dsh-tool-12306-0.1.3.tgz。 - 需要 Node.js 22.19+ 或 24+;支持 DSH 0.2.0-rc.2 / 0.2.1-alpha.1。
- 已发布 npm 包 dsh-tool-12306@0.1.3:桌面端“插件 → 添加插件”输入
dsh-tool-12306@0.1.3,或执行dsh plugin --profile rail add dsh-tool-12306@0.1.3。
Available Tools
12306_query_tickets:直达列车、时间窗口与席别余票筛选。12306_query_transfer:两程中转、等待时间、跨站换乘。12306_train_route:指定车次经停及沿途区间。
Known limitations
本项目非官方查询插件;不提供登录、购票、抢票、验证码绕过或支付。依赖上游公开可访问接口行为,可能因维护、预售期、运行图变化和限流不可用。城市代表站查询不穷举全部站点组合,中转为有限分页,余票只是请求时快照。
0.1.3 的到达 HH:mm 以乘车 date 为锚点;次日凌晨筛选需明确日期时间,详见 TIME_WINDOWS.md。模型可能选错日期或参数,输入校验无法替代用户核对行程。
Validation
构建、lint 和 113 项离线测试通过。候选包已通过两套官方 Harness CLI 及 rc.2 桌面端安装验收;已完成 5 项真实模型/API 查询及换装后的跨午夜复核,首次日期错误和纠正过程见 桌面验收记录。
正式发行包仅 README 和 CHANGELOG 与旧候选包不同,运行代码不变;再次通过两套官方 CLI 安装及各 8 次离线调用,见 发行包验收。请使用本 Release 附件的校验值。
SHA-256: 28e39f3679d151479d2fa3917590eef7b59e4171828b889652f6a1f6155e3942
Acknowledgements
感谢 Joooook/12306-mcp 的车站、字段映射与查询行为参考,以及 deepseek-ai/deepseek-harness 的原生插件 SDK。代码采用 MIT,保留 Copyright (c) 2025 Jok;见仓库 LICENSE 与 THIRD_PARTY_NOTICES.md。