Introduction¶
DSH emphasizes modularity. The community directory is an independent site with no official affiliation with DeepSeek / Huaquan. In this ecosystem, many plugins are used to extend the boundaries of an agent’s capabilities. For learning or review scenarios, simply letting an agent explain knowledge points is not the same as the process of “doing exercises, exposing problems, and practicing again.”
dsh-teacher is a DSH plugin. It starts from a markdown question set, lets the agent progress by asking questions, does not give answers directly during the process, records knowledge gaps in the session, and then uses the FSRS-5 spaced-repetition schedule to perform on-demand retests on due gaps.
What is this¶
The positioning of dsh-teacher is:
DSH teacher plugin: Socratic tutor that leads you to answers from a markdown question set, tracks knowledge gaps in-session, and retests them on a spaced-repetition schedule.
It solves the problem of transforming “letting an agent explain” into “asking, grading, and retesting around a question set.”
The repository address verified in the data is:
https://github.com/Yihong89/dsh-teacher
The maintainer’s identity was not separately confirmed in the data; the repository path is shown as Yihong89/dsh-teacher. The license declared in package.json is MIT, and the version is 0.3.0.
Core Features¶
Below are the verified main capabilities.
Teacher Mode¶
The plugin turns the agent into a teacher, with the strategy being:
never answers, always asks- The teacher strategy hides answer keys
- Does not give answers directly
The goal of this mode is not to explain directly, but to start from the question, let the agent ask questions and guide the response.
Question Sets and SQLite Storage¶
The plugin can load courses from a markdown question set and persist them to a SQLite question store.
The verified facts indicate that the storage objects include:
coursesquestionsquiz runs
The runtime environment requires DSH rc.6+ and Node ≥ 22.5, and uses the built-in node:sqlite.
Knowledge Gap Tracking¶
The plugin tracks knowledge gaps in the session and uses a SQLite gap ledger for cross-session persistence.
Related tools include:
note_gapgrade_answerretestsummary
Spaced Repetition¶
The plugin uses the FSRS-5 spaced-repetition schedule to perform on-demand retests on due gaps.
In other words, after a gap is recorded, it can enter the subsequent retest process, rather than appearing only once in the current session.
LLM-free Quiz¶
The plugin provides an LLM-free quiz popup, supporting:
MCQfree-text
The submission endpoint is:
POST /dsh-teacher/quiz/submit
This quiz is LLM-free; after completion, it is handed over to the teacher’s LLM analysis for processing.
Grading and Socratic Explanation¶
The plugin provides post-quiz LLM analysis/grading, with the tool named analyze_quiz, and performs a Socratic walk on error points.
Web Client¶
The Web client provides:
- quiz cards
- gaps button
- gap panel
These components are used to view questions, gaps, and related panel states on the browser side.
Installation and Activation¶
Before installation, confirm the environment meets:
- DSH
rc.6+ - Node
≥ 22.5
Dependencies declared in package.json include:
zod ^4.0.0dsh-voice-corefromgithub:Yihong89/dsh-voice-core
The installation command is as follows:
dsh plugin --profile web add "github:Yihong89/dsh-teacher"
After installation, restart the web profile:
dsh --profile web
Typical Usage¶
Loading Question Sets¶
Use /teach to load a question set and enter teacher mode:
/teach questions.md
This step loads the question set into the SQLite store and enters teacher mode, but does not automatically start teaching.
Opening a Quiz¶
Use /quiz to open the LLM-free quiz popup, covering the entire question bank:
/quiz
Upon completion, the result is handed over to the teacher’s LLM analysis and enters the Socratic walk.
Viewing Knowledge Gaps¶
Use /gaps to view the current course’s gap ledger:
/gaps
Retesting Due Gaps¶
Use /retest to display due gaps for on-demand drilling:
/retest
This step uses the FSRS-5 schedule.
Session End Summary¶
Use /summary to output a knowledge-gap and misconception summary when the session ends:
/summary
Commands and Tools¶
Commands supported by the plugin:
/teach/quiz/gaps/retest/summary
Tools provided by the plugin:
next_questionimport_curriculumquizanalyze_quiznote_gapgrade_answerretestsummary
Use Cases and Notes¶
This plugin is suitable for scenarios where you already have a markdown question set and want to turn it into a “questioning—answering—grading—retesting” process.
Pay attention to the following when using:
- The plugin runs with the permissions of the current
dshprocess; you should check the source code and license before installation. - The license is
MIT. - The README status shows tests passing
(83/83). - The
M5 Publishstatus ispartial (◐), and the final release status is not fully confirmed. - Star count, category, and directory page URL were not confirmed in the currently verified data.
Conclusion¶
The value of dsh-teacher lies in switching the way the DSH agent is used from “directly giving answers” to “advancing practice around a question set,” while preserving knowledge gaps and spaced repetition.
GitHub:
https://github.com/Yihong89/dsh-teacher
Community Directory Page: The currently verified data does not provide an accessible address.