Gaokao countdown blackboard: counts down the days to the gaokao on a desktop blackboard widget that collapses into a slim bar on double-click, and quizzes random knowledge cards while the agent works; open Markdown knowledge-card framework — drop .md files under subject/category folders and they load automatically, with cross-links, favorites, priority subjects and importing your own knowledge base.
Install
# from npm (prebuilt)
dsh plugin --profile web add @weibaohui/dsh-gaokao
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:weibaohui/dsh-gaokao
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
⚠️ 知识产权说明:知识卡内容为通用高中课程知识点(事实/公式/定义/性质)的原创表述,不含来源出处、教材原文或例题。任何人可贡献自己的知识卡,导入时请确保内容为原创或公共领域。
梦回高三:右下角浮着一块可拖拽的小黑板,粉笔字写着"距离高考还有 N 天"(双击可收成教室黑板右缘那行竖字)——AI 干活的间隙它自己一震,为你翻开一张练习本知识卡,抽背一个知识点。

事件联动
知识卡通过会话事件流感知你在做什么,在恰好的时机递上一张:
| 会话事件 | 弹卡缘起 |
|---|---|
| 回合结束 | 【讲完这题,抽背一个知识点——】 |
| 工具报错 | 【卡壳了?翻翻课本压压惊——】 |
| 回合中止 | 【课间十分钟,来一题——】 |
| 道友提问 | (25% 概率)【老师提问时间到——】 |
防打扰三件套:90 秒内最多自动弹出一次、16 秒无操作自动收起、页脚 🔔 随时可关。联动关闭或页面不可见时零轮询,开启时也只 30 秒一轮轻量事件流。
核心功能
- 双形态小黑板:默认是完整黑板(距高考天数,≤100 天数字变红);双击黑板或在 ⚙ 里切换成竖条收起——像真正高三教室黑板最右侧那行竖字,只写天数数字,几乎不占地方;形态记忆
- 倒计时日历:自动指向下一届 6 月 7 日(考完 6 月 10 日滚到下一届),⚙ 里可自定义日期;按住黑板可拖到任意位置

- 缩放自由:⚙ 里 30%–150% 滑杆等比缩放(默认 60%),持久化
- 练习本纸张:卡头只有标题;正文底色可选 7 种流行护眼色(豆沙绿/青草绿/杏仁黄/秋叶褐/胭脂红/海天蓝/银河白),格线 4 种样式(横线/方格/点阵/空白),组合出你的专属练习本
- 知识卡:点黑板翻开练习本,Markdown 渲染(标题/列表/代码/引用/粗体),卡头学科章 + 年级 + 倒计时徽章;右下角拖拽调大小(自动记住)
- 🎲 随机 / ⏮ 上一个 / ⏭ 下一个:沿浏览历史前进后退,到顶自动再抽新卡;整副洗牌式抽卡——一副牌内绝不重复,抽到只剩 2 张才重洗,小知识库也能每轮见遍所有卡
- ❤ 收藏:重点卡片收藏,⭐ 收藏夹回看;localStorage 持久化
- 关联跳转:卡片底部"关联知识点" chips 与正文
[[wikilink]]都可点击翻卡,知识库里还没有的卡灰显提示 - 重点学科:⚙ 勾选想主攻的学科,随机只出选中的;学科章低饱和素色,端庄不花哨
- 导入知识卡:⚙ 里"选择文件夹"批量导入本机 md 知识卡(按 学科/分类 结构归档,同名跳过),立即生效
- 开放知识卡框架:插件只提供运行骨架,内容全是普通 Markdown 文件——按文件夹放好、符合格式就自动加载,任何人可贡献或导入自己的知识库
- 低频批量拉取:每 5 分钟一次批量取 30 张存本地池,抽卡基本不产生请求压力
安装
dsh plugin --profile web add @weibaohui/dsh-gaokao -w
装完重启 dsh web 即生效。内置 1109 张知识卡(9 学科:数学 396、物理 402、化学 289,语数英物化生历地政齐全),无需任何配置。
使用
- 打开 Web UI → 右下角找到 小黑板,点它翻开知识卡(首次自动抽一张);拖住黑板可挪位置
- 双击黑板收成竖条(只写天数数字),再双击展开;⚙ 里也能切
- 🎲 随机:从当前学科范围再抽一张;⏮/⏭ 在看过的卡之间前进后退
- ❤ 收藏:重点知识点收藏;⭐ 打开收藏夹回看
- ⚙ 挑纸张底色与格线、正文字号、缩放黑板、导入本地知识卡文件夹、勾选重点学科、改高考日期;🔔 开关事件联动;💬 提建议(直达 GitHub Issues)
知识卡格式(贡献指南)
一条知识点 = 一个 .md 文件,目录层级即学科 / 分类:
data/
物理/力学/牛顿第一定律.md
物理/精要/摩擦力.md # 手写精炼卡放"精要"分类
数学/必修/函数的零点.md
化学/溶液/溶解度.md
---
title: 牛顿第一定律 # 可选,缺省取正文第一个 # 一级标题
subject: 物理 # 可选,缺省取第一级文件夹名
grade: 力学 # 可选,缺省取第二级文件夹名(即分类)
tags: [力学, 运动学] # 可选
related: [牛顿第二定律] # 可选,写卡片标题或 id 均可
---
# 牛顿第一定律
**内容**:一切物体总保持匀速直线运动状态或静止状态……
关联知识点用 [[牛顿第二定律]] 写在正文里也行,会自动变成可点击链接。
规则只有几条:
- 跳过
README.md、.开头文件和_开头目录,其余.md全部加载 - frontmatter 全部可选;关联(
related或[[wikilink]])按标题或 id 解析,解析不到的灰显 - 卡片 id 默认是相对路径(如
物理/高一/牛顿第一定律),也可用 frontmatterid:指定 - 改了文件后
curl "http://127.0.0.1:3080/dsh-gaokao/api/reload"热刷新,不用重启
导入自己的知识库
插件配置支持两种方式——dataDir 整体替换内置种子库,extraDirs 外挂追加(种子库照常在):
config:
dataDir: /Users/you/my-knowledge-base # 可选:替换内置种子库
extraDirs: # 可选:外挂追加任意多个目录
- /Users/mac/Desktop/课本/知识点 # 例:数理化自学丛书精读产物(880+ 张)
外挂目录同样是 学科/分类/卡.md 结构即可被自动扫描;目录里的大文件(章节总览)也会成为一张"总览卡"。改动文件后调 GET /dsh-gaokao/api/reload 热加载。
开发
npm run build:client # 重建 client/bundle-mc.js
npm run check # 语法检查
npm test # smoke 测试
HTTP API(/dsh-gaokao/api/*):/draw 随机抽一张、/bundle?n=30 批量抽取、/card?id= 取整张、/feed?after=N 会话事件流、/status(含高考倒计时)、/reload。
发版:npm version patch && git push --follow-tags,再 gh release create vX.Y.Z --generate-notes 触发 npm Trusted Publishing(OIDC 免 token)。
致谢
骨架复用自 dsh-code-poem(代码如诗)。
联系我 :飞书群
版本兼容性
本插件与 DeepSeek Harness(@deepseek-ai/dsh)的版本对应关系:
| 插件版本 | 适配 dsh 版本 | 备注 |
|---|---|---|
| 0.4.2 | 0.1.7-rc.2 | 当前版本,已在 @deepseek-ai/dsh@0.1.7-rc.2 下验证运行 |
发版约定:每次发布新版本时,请在上表追加一行,记录该插件版本实际验证所用的
@deepseek-ai/dsh版本。package.json的engines.dsh声明最低支持版本;本表记录实际验证版本,二者配合使用。
Links
More in this category
PC2005-cloud/dsh-pet#dsh-pet★ 1193
Desktop pet for the DSH Web UI with 25 transparent animations, screen wandering, click reactions and drag, plus a reproducible asset-generation pipeline.
Nagi-ovo/dsh-ads★ 653
Parody ads in 2005-Chinese-web style: sidebar banners, in-chat feeds, corner popups, and a close button whose hit area is smaller than it looks. All fictional.
vlln/whale-girl★ 354
Desktop pet (QQ-pet style): floats in the corner, draggable, feedable, playable.
yyh-001/dsh-meme★ 164
Chat meme stickers: text-only send, mood auto-send, QQ/WeChat-style picker, auto-learn, custom packs.
a86582751/dsh-nexttavern★ 156
Roleplay workspace for DeepSeek Harness: import SillyTavern/TauriTavern character cards or author one from scratch through an interactive flow; turn a long TXT novel into a playable card with either an intensive or a coarse reading pass; the main agent consults worldbooks on demand, and prose is read in a dedicated tavern reader tab; explore multiple worldlines inside one conversation (regenerate, edit-and-send, explicit clone); scoped style presets with 16 built-in styles, a character agent cluster, a standalone decision card, and card or novel export; long stories hold together through a frozen settings prefix, a hard-cut context window, traceable director notes and keyword/semantic/hybrid recall, with embeddings either online or fully local. Targets Harness 0.1.2-alpha.3 and applies its documented compatibility patches.
Sutera-Diffusus/dsh-whale-musume★ 118
A whale-girl desktop pet for the DeepSeek Harness Web UI: pat-to-raise growth, work-state poses per tool type, 494 dialogue lines, 30 achievements, a growth diary, drag physics, theme sync and an accessibility mode. Chat-keyword sensing and API-balance care ship off and are opt-in; an optional weather mood calls Open-Meteo only after you name a city. No telemetry.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.