前言¶
在 DSH(DeepSeek Harness)中扩展教育/考试能力时,常见需求不是先做一套网页界面,而是让 agent 能直接查询考试日期并计算剩余天数。dsh-exam-countdown 针对这个问题:内置 64 场中国主要考试数据,并用纯日期计算支持按年滚动查询。
这是什么¶
zimai233/dsh-exam-countdown 是一个 MIT 许可证的 DSH 插件,定位为教育/考试类插件。
它内置 64 场中国主要考试,覆盖 9 大分类:升学考试、公务员、英语考试、教师资格、会计金融、法律工程、医学健康、计算机、其他。
插件采用纯 ESM、零构建步骤,发布的 npm 包本身可作为运行时代码。实现上是纯服务端数据与日期计算,不依赖 DOM 或 localStorage。
GitHub 地址:
https://github.com/zimai233/dsh-exam-countdown
核心功能¶
数据范围¶
- 内置 64 场中国主要考试。
- 覆盖 9 大分类:升学考试、公务员、英语考试、教师资格、会计金融、法律工程、医学健康、计算机、其他。
- 固定日期考试按全国统一日期收录。
- 考研、省考、事业单位等时间不固定考试使用历年典型日期。
- 插件说明所有日期仅供参考,最终以各考试主办方官方公告为准。
日期计算¶
- 日期过期后自动顺延到下一年。
- 查询时仅返回
days >= 0的未过期场次。 - 支持精确规则日期计算,例如 CET-4/6 按每年 6 月/12 月第二个周六、JLPT 按每年 7 月/12 月第一个周日计算。
查询接口¶
插件提供两个工具:
exam_countdown:倒数查询工具。支持可选参数id、query、category、limit,其中limit默认值为 10。可按id精确查找、按名称/关键词模糊搜索、按category分类筛选,结果按剩余天数升序排序。exam_categories:分类清单工具。无参数,返回格式为[{ category, count }],按考试数量降序排序,可用于发现category参数的合法取值。
安装与检查¶
1、按资料给出的安装命令,将插件加入指定 profile:
dsh plugin --profile myprofile add dsh-exam-countdown
资料未说明 --profile myprofile 是否为必填参数。命令中的 myprofile 是资料给出的 profile 示例值。
2、检查 package.json 中声明的依赖与 DSH 打包配置:
{
"dependencies": {
"@deepseek-ai/dsh-tools": "^0.0.1-rc.1"
},
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.0"
},
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
这些声明会影响安装与运行时的配套依赖。安装前可以结合源码核对依赖范围和补丁文件。
典型用法¶
1、查单个考试。
用户问:
高考还有多少天?
agent 调用 exam_countdown,参数示例为:
{
"id": "gaokao"
}
这个参数用于按 id 精确查找考试场次。
2、查某一类考试。
用户问:
帮我看看最近要考的英语类考试,列出 5 个
agent 调用 exam_countdown,参数示例为:
{
"query": "英语",
"limit": 5
}
这里通过名称/关键词进行模糊搜索,并用 limit 控制返回数量。
3、查看可用分类。
用户问:
有哪些考试分类?
agent 调用 exam_categories。该工具无参数,返回各分类及考试数量,按考试数量降序排序,便于后续把分类名传给 category。
适用场景与注意¶
适合需要让 DSH agent 直接查询中国考试倒数的场景,例如升学考试、公务员、英语考试、教师资格、会计金融、法律工程、医学健康、计算机等分类下的日程问答。
使用时需要注意:
- 日期数据仅供参考,最终以各考试主办方官方公告为准。
- 考研、省考、事业单位等时间不固定考试使用历年典型日期,不等同于当期官方日期。
- 插件以当前 dsh 进程权限运行。安装前应检查 GitHub 源码和 MIT 许可证,确认其数据与日期计算逻辑符合预期。
结尾¶
dsh-exam-countdown 把中国考试日程和倒数计算封装为 DSH 可调用的服务端工具:用 exam_countdown 查询考试场次,用 exam_categories 查询分类清单。
GitHub:
https://github.com/zimai233/dsh-exam-countdown