
Kaiji-Z/dsh-plugin-lookatstudy
dsh-plugin-lookatstudy
dsh community plugin: turn any markdown/folder/GitHub learning repo into a guided AI-tutor course (gated skill tree, BKT mastery, SM-2 reviews) inside DeepSeek Harness
Install
npx @deepseek-ai/dsh plugin --profile web add github:Kaiji-Z/dsh-plugin-lookatstudyRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-plugin-lookatstudy)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Kaiji-Z/dsh-plugin-lookatstudy, cleaned of badges and images.
dsh-plugin-lookatstudy
Turn any markdown document, local folder, or GitHub learning repository into a guided course inside DeepSeek Harness (dsh) — your dsh agent becomes a full AI tutor with the interaction design of LookatStudy: per-concept knowledge tracking, mastery-driven progression, spaced repetition, mastery proposals, friction awareness, learner memory, a Cornell notebook, an in-chat proposal card, exam mode with star grades, XP & streak, bilingual lessons, and a rich blackboard (KaTeX math, syntax-highlighted code, mermaid diagrams, mindmap & concept-map views). Learning engine modules are vendored from LookatStudy (MIT).
Screenshots
| The 学习 tab — course rail (progress, mastery bars, due box), the live tutor conversation, and the focus lesson's blackboard, all inside one dsh conversation view. | |
| 讲解 — server-sanitized markdown rendered rich on demand: KaTeX formulas, syntax-highlighted code, mermaid diagrams (CDN loaders, silent degrade offline). | |
| 🧠 脑图 — the lesson as an interactive markmap mindmap. | |
| 🕸 概念图 — the lesson's knowledge components laid out as a draw.io-style concept graph (bundled ELK layout, no external service). | |
| 课程栏 — sections, gating, mastery bars, ⚡ weak spots, exam stars, XP & streak. |
Install
dsh plugin add dsh-plugin-lookatstudy # from npm
# or from a tarball:
dsh plugin add ./dsh-plugin-lookatstudy-0.2.1.tgz
Works with any profile. In the web profile the plugin additionally serves the study tab's HTTP API and loads its browser half; headless profiles get the plain tool surface.
The two surfaces
1. The tutor (chat). Talk to the agent: "import https://github.com/microsoft/AI-For-Beginners and teach me lesson 1", "what reviews are due today?". The tutor persona (stable core + one of three souls — guide 引导 / direct 精讲 / practice 实战) drives the full LookatStudy loop:
- Knowledge components (KC) — on first teaching a lesson the tutor derives 2–7 concepts (
study_define_concepts); every graded answer is attributed (study_record_answerwithconcept); per-concept BKT runs and lesson mastery is the weakest concept — quizzes target ⚡weak ones first. - Mastery-driven progression — ≥50% unlocks the next lesson early; ≥90% graduates and schedules the first SM-2 review; answers also nudge the review schedule.
- Mastery proposals (propose → apply) — at ≥85% plus a convincing Feynman-style explanation the tutor proposes early graduation and waits for the learner's yes/no; only the explicit decision applies it.
- Friction awareness — confusion/blocks/frustration are silently logged (
study_report_friction) and surface as ⚡😣 weak spots. - Learner memory — three slots (global style / per-course pattern / per-lesson gap), read-merge-write (
study_remember). - A dynamic learner snapshot (focus, strategy band, weak concepts, friction, memory, due count, pending proposal) is injected as runtime context every turn.
2. The study tab (dsh.client). The whole plugin lives in ONE conversation view tab — 「学习」 — a simplified LookatStudy in three columns, styled entirely with dsh's --dsw-* tokens; nothing outside the tab modifies dsh chrome:
…

