← 返回列表
未验证
dsh-teacher 🧑🏫
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档
DSH 教师插件:苏格拉底式导师,从 Markdown 问题集中引导你找到答案,在会话中跟踪知识缺口,并按间隔重复计划重新测试这些缺口。
综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Yihong89/dsh-teacher该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:需留意实装验证未通过
- 是什么
- dsh 原生插件 · other
- 装得上吗
- 实装验证未通过(repo_missing),装前请到仓库确认最近更新与 issue
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 更新放缓:最近一次提交在 40 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
⚠︎ 实装验证未通过(repo_missing · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-teacher 🧑🏫 一个 DeepSeek Harness 插件,将智能体 变成一位老师——从不给出答案,总是提问。 给它一个包含问题的 markdown 文件。它会用苏格拉底式方法引导你找到答案,悄悄记录它在你的推理中发现的漏洞,并按间隔重复计划按需重新测试这些漏洞。 循环 questions.md ──▶ /teach questions.md │ LLM 解析 / 容错解析器 ▼ SQLite 问题存储(课程 + 问题 + 测验运行) │ /quiz → 📝 无 LLM 测验弹窗(选择题 / 自由文本) ▼ 答案 ──▶ POST /dsh-teacher/quiz/submit(运行已存储) │ "Quiz finished (run N)" → LLM 分析 ▼ 为每个答案评分(对照隐藏答案)──▶ 漏洞 → 苏格拉底式引导 │ 漏洞账本(跨会话持久化,SQLite) │ 你:"/retest"(按需,随时) ▼ "Explain rebase to me." ──▶ 已评分,已重新安排(FSRS-5) 状态 v0.3.0 — 核心 + Web 客户端 + SQLite 问题存储 + 无 LLM 测验弹窗;测试通过(83/83)。 | 里程碑 | 状态 | |---|---| | M0 脚手架(bundle 补丁、插件行、零构建 JS) | ✅ | | M1 核心苏格拉底式循环(课程解析器、策略部分、5 个工具) | ✅ | | M2 漏洞账本 + 持久化(SQLite + JSON 回退、会话事件) | ✅ | | M3 FSRS-5 间隔重测(官方测试向量已固定) | ✅ | | M4 Web 客户端(测验卡片、漏洞按钮 + 面板、漏洞投影) | ✅ | | M5 发布(dsh-plugin 主题 ✓、awesome 列表、实时端到端) | ◐ | | M6 SQLite 问题存储(课程/问题/测验运行) | ✅ | | M7 无 LLM 测验弹窗(选择题 + 自由文本,POST /dsh-teacher/quiz/submit) | ✅ | | M8 测验后 LLM 分析 + 苏格拉底式引导(analyze_quiz) | ✅ | 设计决策见 docs/PLAN.md(§10 = v0.3 重新设计)。 Web 客户端 插件安装并重启 web 配置文件后,浏览器 bundle (lib/client.js,通过 dsh.client 注册)会添加: - 测验卡片 — 为 next_question、 grade_answer、note_gap、hint 和 retest 提供的自定义 tool.call.toolview 卡片(问题提示、 按结果着色的判定、按类型区分的漏洞标签)。 - 🧑🏫 漏洞按钮 — 位于会话头部操作行,显示到期数量徽章 并打开漏洞面板。 - 漏洞面板 — 浮动覆盖层,列出本会话的漏洞(类型、主题、 到期/✓ 已掌握),由 teacherGaps 会话投影提供数据(与 dsh-usage-plugin 使用的同一接缝)。跨会话的持久账本仍保留在 /gaps 和 /retest 中。 - 📝 测验弹窗 — 无 LLM 测验:问题来自 teacherQuiz 会话投影(从 SQLite 存储加载,不涉及 AI);每个 问题在存在可点击的选项时显示选项,否则显示自由文本 框,并带有 💡 提示开关。完成后将你的答案提交到插件 (POST /dsh-teacher/quiz/submit),然后教师的 LLM 分析会评分, 记录知识缺口,并以苏格拉底式提问引导你逐一分析错题。可从 页眉按钮或 /quiz 打开。 安装 需要 DSH rc.6+ 和 Node ≥ 22.5(使用内置的 node:sqlite)。 dsh plugin --profile web add "github:Yihong89/dsh-teacher" restart dsh --profile web 用法 questions.md — 答案存放在 HTML 注释中;教师会在内部 对照答案评分,绝不会展示给你。 title: Networking review Q1: What happens when TCP handshake fails? hints | 命令 | 作用 | |---|---| | /teach questions.md | 将题目集加载到 SQLite 存储并进入教师模式(不会开始教学——请说“start”、“quiz me”,或询问某个主题) | | /teach on / /teach off | 切换教师模式(模式是会话状态,恢复会话后仍然有效) | | /quiz | 在整个题库上打开 无 LLM 的测验弹窗(选择题 / 自由文本);完成后会将结果交给教师的 LLM 分析,并对错题进行苏格拉底式引导 | | /gaps | 显示本课程的知识缺口台账 | | /retest | 呈现到期的知识缺口,用于按需练习(FSRS-5 调度) | | /summary | 会话结束时的知识缺口与误解总结 | 教师行为(模型工具) - next_question —— 一次拉取一道题;答案绝不会出现在工具输出中。 - import_curriculum —— 加载任意 markdown 题目文件:读取原始文件,提取每道题 + 正确答案,并按标准格式输出。当自动解析器无法理解某个文件的格式时使用。加载课程不会开始教学——教师会等待你的许可。每次加载都会将课程持久化到 SQLite 题目存储中。 - quiz —— 在整个题库上运行的旧版快速测试模式;v0.3 UI 更推荐使用无 LLM 的测验弹窗。 - analyze_quiz —— 测验后的 LLM 分析:传入弹窗中的运行 id(“Quiz finished (run N)”),获取该次运行的题目(隐藏的答案 + 提示)和用户的答案,逐题评分(正确/部分正确/错误/未作答),记录知识缺口,并以苏格拉底式提问引导分析错题;done: true 表示该次运行已分析完毕。 - note_gap —— 记录一个知识缺口(wrong | vague | missing | exposed),包含用户的原话 + 你识别出的知识点;持久化到台账和会话日志中。 - grade_answer —— 对照隐藏的答案进行评分;更新每个未解决知识缺口的 FSRS 调度;correct 会将知识缺口标记为已掌握。 - retest —— 返回到期的知识缺口;逐一练习,然后使用 grade_answer。 - summary —— 拉取台账,用于会话结束时的知识点报告。 根据策略部分(仅在教师模式激活时注入):严格的苏格拉底式 模式——绝不揭示答案,一次一个微问题;提示由老师根据用户的回答生成(逐步升级,绝不给出答案); 知识缺失回退——同一个微问题失败两次,或用户说“我不知道 X 是什么”→ 简明解释缺失的知识点(定义 + 示例),绝不再第三次重复该问题;“直接告诉我”→ 给出答案并记录一个 exposed 缺口。 输入格式 自动解析器对格式宽容:它能识别多种形式的问题 (编号条目、Q1: 条目、## Q: 标题)、答案标记(→ Answer:、 Answer:、答案:、✅/加粗的单选题选项、 注释), 以及提示(> Key words:、> Trap:、> 关键词:、注释)。不 携带答案/选项/提示的问题会被视为普通文本并跳过。 如果某个文件仍然无法解析,告诉老师“导入此文件”——它会用 import_curriculum(LLM 辅助)将 文件转换为标准格式。Markdown 文件提供问题和答案;提示和知识点始终来自老师自己的生成,而非来自该文件。 它为何存在 聊天机器人对着你讲解;认知科学表明那是最无效的教学方式。提取练习、间隔复习,以及让学生自己产出 答案(预测试)胜过被动阅读——即使第一次尝试是错的。 dsh-teacher 将这些证据构建进 DSH agent。参见 docs/PLAN.md §1 中的全景调查。 开发 npm test # node:test — zero runtime deps beyond DSH itself - lib/ — 纯逻辑(课程解析器、FSRS-5、评分、折叠、账本、缺口 投影、SQLite 问题存储、测验投影);完全单元测试覆盖,无 DSH 导入。 - index.js — Cordis 宿主插件(提示词区段、命令、工具、会话 事件、teacherGaps + teacherQuiz 投影、 /dsh-teacher/quiz/submit 路由)。用纯 JS 编写(无构建步骤);在运行时导入 @deepseek-ai/dsh-tools 和 zod,从 DSH 安装 / npm 解析。 - lib/client.js — Web 客户端:一个手工编写的 __ModuleLoader__ 打包 (纯 JS + React.createElement,无构建步骤),在 package.json 中声明 dsh.client,并注册在 ./client 导出子路径。 - 账本位置:$DSH_HOME/state/dsh-teacher/ledger.db(回退到 .json)。 - 问题存储:$DSH_HOME/state/dsh-teacher/question-store.db(回退到 .json)——一个由每个老师会话共享的单一全局课程池;旧版 v0.2 的按工作区 JSON 课程文件会在 首次加载时导入一次。 许可证 MIT