前言¶
在 DSH(DeepSeek Harness)里用 AI 学一门技术,常见流程是:第一轮对话生成一份看起来完整的计划,几轮之后模型仍像在讲第一章,而你其实已经问过「学到哪了」。根因往往是学习状态绑在聊天上下文里,换会话、换模型或断线重连后没有统一续点。
dsh-skill-learning-coach(npm 包名同名)是 wanlte 维护的 DSH 插件,SkillHub 分类为「记忆」。它把路线与进度落到工作区 JSON,用「撤掉提示后的独立产出」判断某节是否学会,并把卡壳点只追加存档,下次开场先引用。路线在原生设置卡里改,不靠 AI 在对话里「冻结一份计划」。
这是什么¶
一句话:会记住你卡在哪的 DSH 学习陪练——路线图在设置里维护,状态在磁盘上,学会了 由你不看资料也能做出来的事说了算,而不是模型一句夸奖。
插件由三块组成:
| 块 | 职责 |
|---|---|
| 设置卡 | 改学习路线与学习方法;设置 → 侧边栏一级「学习路线」 |
| host 半 | 经 /learning-coach/api 读写工作区状态 |
| skill bundle | AI 按真实进度带练;每轮只读当前节点 |
适合:有明确目标(求职、考试、转行、兴趣)但容易「看完就忘」、需要跨会话续学的人。不适合:只要静态计划表,或希望 AI 一口气讲完整门课的人。
许可证 MIT;当前 npm 版本 0.2.3(以 package.json 与 npm 徽章为准)。GitHub 仓库星标约为 1(目录页数据,可能变动)。
它解决什么¶
下面是与「常见 AI 家教」对照后的核心设计,均来自仓库 README:
- 状态外置:
<工作区>/learning/framework.json为唯一真源;换会话、换模型、断线重连从同一文件续。 - 无提示产出才算过:AI 先撤提示,由你独立做出
mastery描述的动作;若仍要答案则标gap,该节重学。 - 卡壳档案只追加:
misconceptions只追加、不由 AI 清空;下次开场必须引用。 - 按目的定达标:
purpose区分工作 / 考试 / 兴趣 / 转行,达标动作形态不同(可运行产物或限时真题等)。 - 资料优先:先读你手上的教材、课件、链接;学习页只写读哪几段、读到什么算够、自测与达标动作,原理归来源。
- 节小到能收口:单节约 15–25 分钟,便于在无提示产出场景下坚持。
节点 status 状态机:pending → 问完 assumed-known → 说没懂 gap → 出学习页 drafted → 无提示产出 done。
安装与启用¶
桌面版与网页版按平台选择 --profile;没有本地 dsh 时可用 npx。
# 桌面版 / 网页版,按平台换 --profile
pnpm dsh plugin --profile desktop add dsh-skill-learning-coach
pnpm dsh plugin --profile web add dsh-skill-learning-coach
# 没有本地 dsh 命令时
npx @deepseek-ai/dsh plugin add dsh-skill-learning-coach
装好后重启 DSH:host 半与客户端 bundle 需重启才加载;之后若只改 skills/ 下 Markdown,不必重启。
验证:设置侧边栏应出现与「模型」同列的一级项「学习路线」。没有该项则说明未正确加载。
开发插件本体时可用本地链接(路径按你本机仓库位置替换):
pnpm dsh plugin --profile desktop add link:F:/work/dsh-skill/dsh-skill-learning-coach
仓库公开时 README 亦提到可用 github:wanlte/dsh-skill-learning-coach 直装,但安装侧需放行构建脚本并本地构建一次;日常用 npm 安装通常更快。
卸载:
pnpm dsh plugin --profile desktop remove dsh-skill-learning-coach
卸载不会删除工作区里的 learning/framework.json 与讲义,需自行清理。
权限说明:插件以当前 DSH 进程权限运行,安装前建议阅读 GitHub 源码 与 MIT 许可证,确认读写工作区路径的行为符合你的安全预期。
典型用法¶
第一次:在对话中说「我想学 X」。流程会给出编号选项,回数字即可——包括目的(1 求职 / 2 考试 / 3 兴趣 / 4 转行,并补充岗位或考试名与期限)、现状、过去一周真实学习分钟数、手头资料等。随后生成知识框架并落盘,输出 learning/路线图.html,再按框架逐块提问。默认假设你已懂;若某点没懂,只标红该节点。
之后每次:说「继续学」。只读当前节点,先引用上次卡壳,给行动清单,再按所选学习方法带练:你先做 → 卡住时给阶梯提示(方向 → 半个步骤 → 答案)→ 撤掉提示,要求独立产出该节的 mastery。
一节收口:汇报路线位置、本页学习页路径、下一节第一个动作,并提醒可开新会话;状态在盘上,断了能续。
设置卡里可改目的与每周真实时间;对路线树增删、选为当前、标没懂;编辑每节资料与达标标准;在 8 张学习方法卡中单选或自定义。AI 在会话里落盘后,设置卡约 3 秒内自行刷新。
状态文件与产物¶
工作区 learning/ 下三类产物(路径均相对于当前会话工作区):
| 路径 | 作用 |
|---|---|
learning/framework.json |
目的、每周分钟、方法、当前节、整棵框架树 |
learning/讲义/<YYYY-MM-DD>-<节点标题>.md |
单次一页:资料索引 + 自测,不批量生成 |
learning/路线图.html |
离线快照:进度、当前节点、达标动作与资料位置;框架变化后重生成 |
framework.json 中 mastery 须是可验证动作(「读完某章」「理解某概念」不得落盘)。materials[].locator 须细到能一步翻到章节、页码或段落;materials[].enough 须写清读到什么程度算够。写盘走原子写(.tmp 再 rename);半截 JSON 会报明确错误,不静默重置。
学习方法内置 8 张卡:费曼技巧、主动回忆、间隔重复、交错练习、番茄钟 + 刻意练习、SQ3R 精读、康奈尔笔记、自定义。间隔重复的复习日由 AI 按固定表计算(达标当日 +1 / +3 / +7 / +14 / +30 天),无后台调度进程。
有意不做的能力¶
README 明确列出不包含:错题本与掌握度打分、批量生成整套讲义、多学习者档案、联网抓取需登录或付费资料、本地服务与账号云同步等。设置卡是编辑入口,HTML 路线图是同一份数据的离线视图。
结尾¶
若你希望 DSH 里的学习不是「每轮重放一整段计划」,而是路线可编辑、进度可迁移、学会了 有可验证动作,dsh-skill-learning-coach 把这三件事拆到设置卡、host 路由与 skill bundle,状态落在 framework.json。
- SkillHub 目录页:https://www.skillhub.cn/plugins/wanlte/dsh-skill-learning-coach
- GitHub:https://github.com/wanlte/dsh-skill-learning-coach
- 英文说明:README.en.md