用 dsh-exam-countdown 給 DeepSeek Harness 裝上中國考試倒計時

前言

DeepSeek Harness(dsh)是 DeepSeek AI 開源的智能體框架,官方倉庫把它的架構概括成一句話:一切皆插件。模型、工具、沙箱、會話存儲、界面,都可以用插件替換或疊加。社區裏已經有不少界面增強、媒體下載、瀏覽器自動化一類的擴展,但教育、考試相關的日程數據仍然很少。

維護者 zimai233 在倉庫 README 和社區目錄頁裏寫過同一段判斷:現成插件多集中在工具鏈、媒體與設計,幾乎沒有人提供中國考試的日程與倒數計算。dsh-exam-countdown 做的就是這件事——把高考、考研、國考、四六級、CPA、法考等常見場次做成 agent 可調用的工具,對話裏直接問「高考還有多少天」。

需要先分清兩件事。DeepSeek Harness 本身是官方開源項目;DeepSeek Harness 插件庫 是獨立的社區目錄,和 DeepSeek / 幻方沒有官方從屬關係。下面按目錄詳情頁、GitHub 倉庫源碼和官方 dsh CLI 說明整理:這個插件是什麼、裝什麼命令、怎麼查、有哪些邊界。

這是什麼

dsh-exam-countdown 是 zimai233 維護的社區插件,目錄分類爲「趣味」,許可證 MIT,主要語言 JavaScript。倉庫 package.json 裏的版本是 0.1.0,GitHub 主題標了 deepseek-harnessdsh-plugin。截至 2026-08-18,目錄頁與 GitHub 倉庫都顯示 2 顆星。

它解決的不是再做一個考試日曆網頁,而是把倒數計算接到智能體工具層。README 寫明:這是作者網頁應用「考程」china-exam-countdown 的移植——64 場考試的數據集和純日期數學,暴露成兩個 agent 可調用的工具。沒有 UI、不操作 DOM、不讀寫 localStorage,運行時代碼就是發佈出去的 ESM 源文件。

目錄頁的一句話定位是:DeepSeek Harness 的中國考試倒計時插件,內置 64 場考試可查詢。源碼 src/index.js 裏的 EXAMS 數組確實是 64 條,和 README、目錄簡介一致。

核心功能

64 場考試、9 個分類

內置數據覆蓋 README 列出的 9 類:升學考試、公務員、英語考試、教師資格、會計金融、法律工程、醫學健康、計算機、其他。高考、中考、考研初試/複試、國考、省考、英語四六級、教資筆試/面試、初級到 CPA、法考客觀題/主觀題、一建、軟考、護士執業、CATTI 等都在這份名單裏。

源碼裏每條記錄有穩定 slug(如 gaokaocpacet-6)、中文名、月份,以及固定日或規則日期,另附一句備註。例如高考寫的是全國統一 6 月 7–8 日,中考、省考、專升本則註明各省不同。分類名「英語考試」在數據集裏也收了 JLPT、TOPIK 和普通話水平測試,按 category 篩選時要注意這一點。

兩個工具

插件通過 @deepseek-ai/dsh-toolsdefineTool 註冊兩個工具:

工具 作用
exam_countdown id、關鍵字或分類查詢下一場日期和剩餘天數
exam_categories 列出各分類及該分類下的考試數量

exam_countdown 的參數在 README 和源碼描述裏一致:

  • id(可選):精確 slug,如 gaokaokaoyancpacet-6;指定後會覆蓋 query / category
  • query(可選):對中文名、id、備註做子串匹配(大小寫不敏感)
  • category(可選):分類名,必須和數據集裏的中文分類完全一致
  • limit(可選):返回條數,默認 10

返回 JSON 數組,每項爲 { id, name, cat, dateLabel, days, nextOccurrence },按剩餘天數升序。id 找不到時返回帶 error 字段的對象,而不是空數組。

exam_categories 無參數,返回 [{ category, count }],按數量降序。README 建議先調它,再把合法分類名傳給 exam_countdown

日期怎麼算

倒數不是去網上抓公告,而是本地日期數學:

  • 固定日期:按收錄的月、日,在當年拼出日期;已經過去就滾到下一年同一天
  • 規則日期:2nd-sat 爲當月第二個週六(四六級:每年 6 月 / 12 月),1st-sun 爲當月第一個週日(JLPT:每年 7 月 / 12 月)
  • 列表查詢只保留 days >= 0 的場次

倉庫自帶測試覆蓋了這些規則。例如 2026 年 6 月的第二個週六是 6 月 13 日;以 2026-07-01 爲「今天」時,高考會滾到 2027-06-07,6 月四六級會滾到 2027 年 6 月的第二個週六(6 月 12 日)。

插件本身不做報名、准考證或成績查詢,也不保證日期與當年官方公告一致。這一點 README 寫得很明確。

安裝與啓用

社區目錄詳情頁給出的安裝命令是:

dsh plugin add github:zimai233/dsh-exam-countdown

官方 dsh CLI 的插件管理會把參數轉給當前 profile 目錄裏的 pnpm,習慣寫法是帶上 --profile。裝到默認 Web 配置可以寫成:

dsh plugin --profile web add github:zimai233/dsh-exam-countdown

倉庫 README 另外給了一條按 npm 包名安裝的示例:

dsh plugin --profile myprofile add dsh-exam-countdown

package.json 的包名確實是 dsh-exam-countdown,並聲明瞭 dsh.bundle.patch 指向 ./cordis.patch.yml。目錄頁與 GitHub 安裝入口都以 github:zimai233/dsh-exam-countdown 爲準;npm 包名那條以 README 原文爲準,安裝前仍建議覈對該包是否已發佈、內容是否與倉庫一致。

目錄頁還提示:如需可復現安裝,請固定 commit 哈希。當前 master 最新提交爲 54492515553fcf38a48f372e381bbf3252abcc38(2026-08-14,說明爲 initial plugin):

dsh plugin --profile web add github:zimai233/dsh-exam-countdown#54492515553fcf38a48f372e381bbf3252abcc38

這個倉庫沒有 prepare / 構建腳本,入口就是 src/index.js。官方文檔裏「Git 安裝要放行 pnpm allowBuilds」主要針對帶構建步驟的源碼包;本插件是純 ESM,一般不依賴那一步,若本機 pnpm 仍報錯,按 CLI 打印的 allowBuilds 提示處理即可。

裝好後重啓對應 profile。cordis.patch.yml 會插入 id 爲 exam-countdown、name 爲 dsh-exam-countdown 的一層,並把兩個工具掛到當前 agent 上。

典型用法

不需要記參數名。README 的用法是直接用自然語言問 agent。

問高考還剩多少天時,agent 會調 exam_countdown

{
  "id": "gaokao"
}

倉庫 README 裏的示例返回如下(daysnextOccurrence 隨查詢當天變化,不要當成此刻的真實倒數):

[
  {
    "id": "gaokao",
    "name": "高考",
    "cat": "升學考試",
    "dateLabel": "6月7日",
    "days": 327,
    "nextOccurrence": "2027-06-07"
  }
]

看最近的英語相關場次,可以讓 agent 帶上關鍵字和條數:

{
  "query": "英語",
  "limit": 5
}

問「有哪些考試分類」時,agent 調用 exam_categories,再用返回的分類名做 category 篩選,例如 "category": "公務員"

按 id 精確查時,常用 slug 包括:gaokao(高考)、kaoyan(考研初試)、guokao(國考筆試)、cet-6 / cet-12(四六級)、cpa(註冊會計師)、fakao-k / fakao-z(法考客觀題 / 主觀題)、rk-5 / rk-11(軟考)。完整 64 個 id 以倉庫 README 爲準。

適用場景與注意事項

適合把考試日程接到對話裏的用法:備考時問下一場還剩幾天、按分類列出最近場次、給 agent 一個可查詢的內置日曆,而不是每次讓模型去網上猜日期。它不替代教育部、人社部或各行業協會的官方公告,也不處理報名入口、准考證和成績。

日期邊界要單獨看。README 寫明:全國統一日期的考試按固定日收錄;考研、省考、事業單位等時間不固定的,用的是歷年典型日期。四六級和 JLPT 由程序按「第幾個周幾」算,比寫死某年某日更穩,但主辦方若改規則,插件不會自動更新。源碼備註裏還有「各省不同」「以當年公告爲準」「各地每月安排」這類提示。所有日期僅供參考。

DeepSeek Harness 目前仍是開發者預覽,官方 README 標明會有破壞兼容性的變更。社區目錄也寫了安全提示:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。 安裝前應檢查源代碼倉庫和許可證;需要可復現環境時固定 commit。本插件依賴 @deepseek-ai/dsh-tools,peer 依賴 @deepseek-ai/cordis,權限模型和其它 DSH 插件相同。

小結

dsh-exam-countdown 把 64 場中國考試的倒數做成兩個服務端工具,讓 DeepSeek Harness 裏的 agent 能按 id、關鍵字或分類回答「還有多少天」。沒有網頁日曆,也沒有報名流程,核心就是一份內置數據集加純日期計算。日期會滾動到下一場未過期的發生日,四六級和 JLPT 按周次規則計算;最終仍以各考試主辦方公告爲準。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-exam-countdown/

GitHub:https://github.com/zimai233/dsh-exam-countdown

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜