dsh-k12-substrate
Manifest valid★ 1K12 capability substrate for DeepSeek Harness — 143 objectively-decidable capability anchors and 6,091 list items from China's MOE 2022 curriculum standards, with local-only learner profiles
dsh-k12-substrate
English | 中文
A K12 capability substrate for DeepSeek Harness. It lets the model look up capability anchors from China's national curriculum standards, check whether a character/word/poem is on an official list, record what a specific child has mastered (locally), and compute their character count and next steps.
Data comes from China's MOE Compulsory Education Curriculum Standards (2022).
What this is NOT
This section comes first, because mistaking it for full-curriculum coverage is worse than not installing it.
1,339 candidate anchors were extracted from the standards. Only 146 cleared the bar of "objectively decidable, no teacher review required" and ship in this package:
| count | |
|---|---|
| Fragments cut from the standards | 4,841 |
| Passed the decidability gate | 1,339 |
| Survived AI review | 600 |
| Writable to a child's profile (what this plugin exposes) | 146 |
Those 146 concentrate in Chinese character recognition/writing/recitation and English vocabulary — because correctness there is objective: either the character is written correctly or it isn't.
Math, physics, and chemistry anchors are not available. Judging them requires pedagogical judgement ("can apply the number-shape combination idea"), and no teacher has reviewed them, so they are excluded. k12_substrate_info reports this boundary, and k12_find_capability honestly returns 0 results for math — absence here does not mean absence from the standards.
For the same reason this plugin cannot answer "what should be learned first". Only 2 dependency edges exist among usable anchors, both from measured set containment (basic character list ⊂ common character list 1, measured 95%; English level-2 vocab ⊂ level-3, measured 100%). That is not a learning path.
Install
pnpm add dsh-k12-substrate
pnpm dsh web --patch ./node_modules/dsh-k12-substrate/cordis.patch.yml
Or insert into your own cordis.yml:
- insert:
- id: k12-substrate
name: 'dsh-k12-substrate'
config:
profileDir: '' # empty → ~/.dsh-k12-substrate/profiles/
readOnly: false # true → register query tools only, no profile writes
Five tools
| Tool | What it does |
|---|---|
k12_substrate_info | Coverage, provenance, and known limitations. Call before asserting what the standards require |
k12_find_capability | Search anchors by subject / grade band / keyword; returns decidable statements and the basis for each |
k12_lookup_item | Locate a character, word, or recitation piece in the official appendix lists: which table, what index, which grade band, recognize vs. write |
k12_record_mastery | Record what a learner has mastered, to a local profile file |
k12_learner_progress | Character count, vocabulary size, pieces recited, per-anchor completion, and next items |
The last two can be disabled with readOnly: true.
Three hard rules
1. Profiles stay local, and only counts are echoed back.
k12_record_mastery records what a specific child can and cannot do — a minor's learning profile. It writes only under profileDir (default ~/.dsh-k12-substrate/profiles/) and uploads nothing. The tool result reports counts, not the individual items: tool results enter the model's context and may be written to session logs, compacted, and sent to the model provider. Counts are what a product needs; item-by-item detail is not.
learner becomes the filename, so use a pseudonymous id (e.g. stu_0001). Values containing path-traversal characters are rejected.
2. Model judgements are always proposed.
Only a holder starting with teacher: or parent: is recorded as confirmed. The model saying a child knows something does not make it so, and silence is not confirmation. k12_learner_progress reports the two separately.
3. Only usable anchors can be referenced. An assertion pointing at an unreviewed anchor means measuring a child with an unvalidated ruler. Passing an ID outside the 146 raises an error.
Development
pnpm install
pnpm snapshot # rebuild the data snapshot from ../os-k12-taxonomy
pnpm verify # typecheck + 69 assertions
pnpm build
The smoke test (scripts/smoke.ts) runs without the DSH runtime, calling execute() directly against real data, real boundaries, and real disk writes. It caught two things typecheck could not: required on a node referenced by items throws UNSUPPORTED_SCHEMA at runtime; and a dedupe key format duplicated across three files where one separator was a literal NUL byte.
License
Code MIT; bundled data ODbL v1.0 + CC BY-SA 4.0 (matching upstream). The curriculum text itself is not redistributed and remains the property of China's Ministry of Education. See LICENSE.
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 121/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 6.8k
MIT
JavaScript
Aug 24, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby kingcharleslzy-ai
Community-maintained dsh-purge fork with host-policy patches, prompt and rule settings, diagnostics, separate update-check and install controls, and local backup/rollback.
★ 6.3k
MIT
JavaScript
Nov 8, 2026
dsh plugin --profile web add dsh-purge-communityby QingYunA
Answer me with HTML — an agent skill that answers hard questions with a one-page HTML you can actually read. 让 AI Agent 用一页 HTML 回答复杂问题。
★ 6.2k
MIT
JavaScript
Nov 10, 2026
dsh plugin --profile web add answer-me-with-htmlby T-Auto
Provides bash, PowerShell 7, and a suite of high-performance tools written in Rust for Windows DSH to enhance token efficiency / 为windows的dsh提供bash、powershell7及一系列rust编写的高性能tools来提高token效率
★ 5.7k
↓ 52.6k/wk
NOASSERTION
JavaScript
Nov 10, 2026
dsh plugin --profile agent add dsh-opsby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 5.7k
MIT
Python
Aug 25, 2026