Repository navigation
Releases
v0.2.0
架构重写(不兼容) —— 库的布局、文件格式、脚本边界全变了,0.1.0 的库需要重新对齐。
布局
工作区根下两个并列文件夹:kb/(内容区:knowledge/ 知识点 + MOC/ 聚合产物)+ sys/(机器区:config.json / graph.json / ledger.jsonl / errors.jsonl / error-taxonomy.json / paper-format.json / state.jsonl)。
知识点契约
分类(多值,生成知识点时就附上)+归属(来源文件,多值,必填)- 删
课程:/主题:/难度:,英文→aliases - 正文六节,删
## 平行关联;## 后置知识由图反算、不手写 - 链接一律带路径、相对工作区根、带后缀、带别名
关系与聚合
- 关系真值 =
sys/graph.json(用途/规则/coverage/edges,边带 ≤30 字理由)+ 六项校验(双向自洽 / 无自链 / 无悬空 / 同段无重复 / 前后置互斥 / 前置两两不可比) aggregate.mjs从分类生成kb/MOC/的机器区(幂等),手写区脚本永不碰- 独立的
index.md取消:索引就是聚合结果的层级视图
脚本(Node 零依赖,不拼 shell)
_lib · graph · aggregate · scan · rewrite-links · ledger · validate
git
变化检测与历史都 git 优先;没有 git 才回退 sys/state.jsonl 哈希 / sys/changes.jsonl 流水。skill 不自动 commit、绝不 push。
修复(自 0.1.0 起就坏的 bug)
mastery-loop-setup 的 frontmatter 是非法 YAML(description 里「冒号 + 空格」)→ DSH 加载器把整个 skill 丢弃,所以 /mastery-loop-setup 在 0.1.0 里从未出现过。已改成 >- 折行块标量。详见 CHANGELOG 的 0.2.0 一节。
其它
Miyo 仍为可选、发布版不依赖。已验证:从 npm 拉包核对(26 文件 / 7 脚本 / 9 种子 / 两个 SKILL.md 的 frontmatter 合法)+ 真装进一次性 profile 确认接线。
Full Changelog: https://github.com/Noct2vis/dsh-mastery-loop/commits/v0.2.0
v0.1.0
两个 skill 打在一个 DSH bundle 里:
mastery-loop—— 复习闭环。模型可自动调用,也可手动/mastery-loop。mastery-loop-setup—— 一次性初始化。纯手动,只响应/mastery-loop-setup。
它和普通刷题机器人的区别
- 每道题都要求你写出思维链,不只写答案。批改先判思维链、再判答案 —— 蒙对不算对。
- 错误原因逐字复用:同一个偏移犯三次会被数成三次,而不是裂成三条近义句、从统计里消失。
安装
dsh plugin --profile web add dsh-mastery-loop(npm 发布后可用;也可以直接从仓库装。)
主要机制
- 出题 → 批改 → 再出题,直到逐点达标(
总共出过 ≥ 5且熟练程度 ≥ 目标正确率) - 错误原因写法借用 ASD-STE100 的原则(≤20 词、一句一个偏移、动词开头)—— 不声称符合 ASD-STE100
- 初始化生成 6 个根目录文件(账本 / 索引 / 错误原因表 / 卷子格式 / 失分原因分类 / 配置),并可用
scripts/validate.mjs机械校验 - 不做间隔重复排程(SM-2 那套)—— 那该由日历与考试表决定
已知限制
- 只造 skill,不改造你已有的知识库 —— 存量库的融合方式在初始化时问你
- 跨课程范围由你定(建议一次一门)