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:

  • courses
  • questions
  • quiz 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_gap
  • grade_answer
  • retest
  • summary

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:

  • MCQ
  • free-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.0
  • dsh-voice-core from github: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_question
  • import_curriculum
  • quiz
  • analyze_quiz
  • note_gap
  • grade_answer
  • retest
  • summary

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 dsh process; you should check the source code and license before installation.
  • The license is MIT.
  • The README status shows tests passing (83/83).
  • The M5 Publish status is partial (◐), 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.