Preface¶
In DeepSeek Harness (DSH), while coding and tuning models, many people keep the same “host process + Web panel” setup for learning and reference. New Concept English Book 1 has 144 lessons; the traditional approach involves switching between books, online courses, Anki, and mistake notebooks. The dsh-nce introduced below consolidates course browsing, single-page texts, fill-in-the-blank worksheets, SRS memory cards, a mistake notebook, and phonetic references into the DSH sidebar; the host side provides /dsh-nce/api, while the browser side renders the panel. It is worth noting that textbook content is not distributed with the repository. After installing the plugin, you must prepare your own dataset that conforms to the data contract; otherwise, the course and vocabulary views will show errors until the data is complete.
What is it¶
dsh-nce (GitHub: ChenYichener/dsh-nce) is a DSH client plugin released by maintainer ChenYichener, positioned as a “New Concept English Book 1 Learning Panel”: the left side displays a list of 144 lessons, and the right side shows the selected lesson as a single page, complete with progress, search, grouping, and learning status. The plugin is categorized as a client in the DSH plugin directory; the current public repository has 0 stars. The license is MIT, requiring Node.js ≥ 20 on the machine running DSH; the README specifies development and testing on DSH 0.2.2-rc.1 and dsh web / desktop Web surfaces.
Core Features¶
Course Browsing and Single-Page Text¶
First, select a lesson on the left, then jump to the anchor point on the right. Split-column layout: the left side persistently displays the 144-lesson list, including progress (x / 144 learned), search, four groups of texts, a status dropdown (Not started / In progress / Completed), and highlighting of the current lesson; each lesson has three step dots (Words / Grammar / Practice) indicating where the user stopped. It can be collapsed into a single column on narrow screens.
The single-page text includes a header (Previous / Next lesson, lesson number, Chinese/English titles, page number, status) and a sticky anchor bar at the top, allowing smooth scrolling to Video / Text / Words / Grammar / Practice. Videos are folded by default; upon expansion, the mapped Bilibili embed player loads. You can also save custom Bilibili/YouTube addresses for each lesson and restore the built-in links at any time.
Text & Vocabulary: The left column contains Q&A, dialogues (click a line or speaker to read), and a collapsible reference translation; the right column contains a vocabulary list (IPA, part of speech, definition, audio, star to add to memory card). Grammar consists of textbook notes and classroom notes blocks; Practice includes the assignment checklist for each lesson, classroom recall cards, and a fillable worksheet. The three-step learning status can be switched via the status dropdown (selecting “Completed” checks all three steps) or operated individually via the “Mark Complete” toggle within each block.
Fill-in-the-Blank Worksheets and AI Grading¶
Worksheets are rendered based on the textbook format: spaces become inline inputs, line-matching questions are real A/B columns judged by an answer key, table questions retain the table structure, word boxes are bordered cards, and printed examples remain static. Enter / Shift+Enter moves between blanks; drafts are written to localStorage per lesson and can be restored after changing lessons or restarting DSH.
One-click Grading sends all answered questions along with the answer key to the default model of the current profile, returning correct / close / wrong, comments, and reference answers for each question. The score is calculated as (number of AI-corrected questions / total number of questions) and can be manually corrected. If there is no default model or the call fails, it degrades to deterministic system grading with a prompt in the header. “Preview PDF” and “Download PDF” (based on page images to generate an A4 PDF, without going through a server) are supported.
Mistake Notebook¶
Questions marked wrong or close automatically enter the mistake notebook and are removed after correction. They are grouped by lesson, retaining your answer, reference answer, AI comment, verdict, and timestamp, and can be filtered by All / Wrong / Close. Saved graded papers locally are scanned once to backfill historical mistakes. “AI Explanation” is available for each question (correct answer, error type, memory tip), and results are cached per question.
Memory Cards and Spaced Repetition¶
Cards come from a deduplicated 866-word vocabulary list and can be searched and filtered by lesson. Space flips the card, 1–4 rates it. Spacing is aligned with Anki: Again (1 min) / Hard (10 min) / Good (tomorrow) / Easy (4 days), and it displays counts of new / learning / due cards and the daily limit.
New cards follow the lesson: only words from “Started” lessons enter the queue (default 10 per day). Due reviews are not blocked by the daily limit. If the optional plugin dsh-translate is installed, sentence cards can be automatically imported from its history file ~/.dsh/dsh-translate/history.json (default 3 per day). Page numbers, selected lesson, scroll position, and video expansion state are remembered for each view.
Phonetics, Phonics, and Reading¶
It provides 48 IPA symbols (12 monophthongs / 8 diphthongs / 28 consonants) along with pronunciation points, common letter combinations, and clickable example words; 38 phonics rules, 22 minimal pairs, and syllable stress rules.
Reading prioritizes reusing the dsh-translate voice pipeline (Microsoft Edge Neural TTS, no API key, shared cache), followed by macOS /usr/bin/say, and finally browser speech. The Sound menu in the top right allows setting the voice, speed, auto-read, and testing.
Installation and Activation¶
It is recommended to install to a specific profile from GitHub:
dsh plugin --profile <profile> add github:ChenYichener/dsh-nce
You can also point to a local path after cloning the repository, or select “Install from local directory” in the plugin page of the DSH desktop app. After installation, you need to restart dsh web (or the desktop app) to load the host side; thereafter, only client-side changes require a page refresh. Host-side changes or dataset changes require restarting DSH again (the host process caches).
| Dependencies | Description |
|---|---|
| DeepSeek Harness | The list includes dsh.bundle patch and dsh.client; the README targets DSH 0.2.2-rc.1 |
| Node.js | ≥ 20; the host uses node:sqlite, falling back to JSON if unavailable |
| macOS (Optional) | Offline reading falls back to say |
| dsh-translate (Optional) | Edge voice and sentence memory card import |
| Textbook Dataset | Not built-in, must be constructed by yourself (see next section) |
Textbook Data (Not Included with Repo)¶
New Concept English is copyrighted. This repository contains only the plugin code; the author’s local text data was compiled from their own physical books, and .gitignore excludes data/. After a fresh installation, the plugin can mount, but if data is missing, the course, vocabulary, and phonetic views will display loading errors and a retry button. Provided you legally possess the textbook, you can build a personal dataset according to the README:
- Organize the content into structured JSON (
nce1/,notes/,gwb/) that conforms to docs/DATA-CONTRACT.md. - Run:
NCE_CONTENT_DIR=/path/to/nce-content npm run build:data
The output is written to the git-ignored data/ directory.
- Run
npm run build:phoneticsto generate phonetics / phonics reference (the content is handwritten in the script and does not depend on the textbook). - Restart DSH to load the dataset.
Compiled data is for personal use only and must not be published publicly; details on extraction and validation can be found in docs/DATA-QUALITY.md in the repository.
Typical Usage¶
Open NCE in the DSH sidebar. There are four entries at the top: Course, Memory Cards, Mistake Notebook, Phonetics & Phonics. The top right is the Sound menu.
| Action | Method |
|---|---|
| Open a specific lesson | Click in the left list; the right side switches instantly |
| Read along with the text structure | Use the sticky anchor bar to jump between Video / Text / Words / Grammar / Practice |
| Expand video | Click the video area title or the “Video” anchor (folded by default) |
| Read aloud | Click dialogue lines, speakers, or the audio control in the vocabulary list |
| Do exercises and grade | Fill out the worksheet in the Practice section and use one-click grading (requires a default model for the profile) |
| Review vocabulary | Enter memory cards and rate with the keyboard 1–4 |
| Review mistakes | Filter by lesson or by wrong/close in the mistake notebook, click AI explanation if necessary |
The panel opens at the last incomplete lesson or the next unfinished lesson. For each lesson, words can be starred from the vocabulary list to add them to the memory card queue.
Suitable Scenarios and Notes¶
Who is it for: Users who have already fixed on a specific profile in DSH and wish to place New Concept Book 1 single-lesson study, fill-in exercises, spaced repetition, and mistake review in one Web panel; optionally paired with dsh-translate to enhance reading and sentence card experience.
Permissions and Security: The plugin runs with the permissions of the current DSH process, and the host API and local SQLite/JSON storage exist within the same environment. It is recommended to read the repository source code and the MIT license before installing to confirm that keeping data on the local machine (exercise drafts, localStorage, grading and mistake caches, etc.) is acceptable.
Ecosystem Note: The DSH community plugin directory (e.g., the dsh-nce page on SkillHub) is an independent site with no official affiliation with DeepSeek / Furui; the installation command and behavior follow the GitHub README.
Conclusion¶
dsh-nce consolidates the 144 lessons of New Concept Book 1 into a single-page learning flow within the sidebar and connects exercises, the mistake notebook, and Anki-style reviews via model grading; the trade-off is that the textbook JSON must be legally constructed by yourself. To view a more detailed introduction and installation entry, you can visit the directory page https://www.skillhub.cn/plugins/ChenYichener/dsh-nce; for source code and full documentation, see https://github.com/ChenYichener/dsh-nce.