前言¶
DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在模型推理领域,大多数插件侧重于增强代码生成或逻辑推理能力。dsh-edu-mode 作为一种教育模式插件,由开发者 1Vewton 维护,旨在将智能体的交付物从单纯的文本输出转变为“对主题的理解”。它通过一套强制执行的协议,让模型在生成内容前先收集权威来源、编写课堂笔记,并要求通过测验才能确认学习进度。
核心能力¶
该插件通过五个阶段和一个教学协议来驱动会话,确保学习过程结构化:
- 收集权威来源:使用
web_search和web_fetch工具检索教材、大学课程页、标准文档或论文,并记录标题与 URL。 - 分步讲解:遵循教学协议,先阐述意义与直觉,再给出精确定义、推导过程、典型示例,并纠正常见误区。
- 编写课堂笔记:每节课结束后,使用
edu_notes工具将讲解内容、关键点和来源写入课程文件。 - 测验与评分:每节课结束时,使用
edu_quiz工具通过交互式 UI 提问,自动评分,并对未通过的部分进行重讲。 - 跟踪进度:使用
edu_course工具管理课程大纲。当某个模块的测验通过后,该模块会被标记为完成,进度在会话间持久化。
插件提供三个核心工具:
* edu_course:负责创建/重写课程大纲(设置目标、级别、模块清单),报告当前状态,或标记模块完成。
* edu_notes:将单节课的讲解内容写入笔记文件。若重复写入同一节课,除非指定 replace: true,否则会被拒绝。
* edu_quiz:通过交互式问题 UI 收集答案并评分。选择题支持单选和多选;开放式问题由模型自行判断。在无交互环境(如无头模式)下,它会降级为在聊天中提问。
安装与启用¶
插件安装后需要重启服务器才能生效。安装时请务必使用 npm、tarball 或 git 安装方式,以避免符号链接导致的问题。
# 通过 npm 安装
dsh plugin --profile web add dsh-edu-mode
# 通过 tarball 安装
dsh plugin --profile web add ./dsh-edu-mode-0.1.0.tgz
# 通过 git 安装
dsh plugin --profile web add github:1Vewton/dsh-edu
注意:不要使用
dsh plugin add <directory>这种命令。这实际上是 pnpm 的link:功能,会导致 Node 解析出源码目录,使插件加载错误的依赖副本,从而无法被 Harness 识别。
安装完成后,可以通过以下命令验证配置是否加载:
dsh --profile web --dump-config
输出中应包含 # == dsh-edu-mode 段落。
配置¶
插件的配置位于 cordis.patch.yml 文件中,且在加载时会进行严格校验。
- insert:
- id: edu-mode
name: 'dsh-edu-mode'
config:
notesDir: edu-notes # 工作区内的课程文件根目录
maxQuizQuestions: 6 # 单次 edu_quiz 调用的最大问题数
passRatio: 0.8 # 自动评分部分的及格线
典型用法¶
通过 /edu 命令切换模式并指定课程:
| 命令 | 效果 |
|---|---|
/edu linear algebra |
开启模式,设定课程为线性代数 |
/edu |
开启模式,但不设定具体课程,等待模型询问 |
/edu linear algebra, starting from determinants, my basics are shaky |
开启模式并附带初始问题,模型将按此起点开始教学 |
/edu status |
查看当前状态和课程信息 |
/edu off |
关闭教育模式 |
开启模式后,协议会自动驱动会话:收集来源 -> 讲授模块 -> 记笔记 -> 测验 -> 重讲错题。你可以在任何时候打断流程(如“再解释一遍”、“出更难的题”)。
课程文件¶
课程数据以文件形式保存在会话工作区的 edu-notes/<course>/ 目录下:
edu-notes/linear-algebra/
├── syllabus.md # 课程目标、难度、模块清单 (- [ ] / - [x]) 及来源
├── notes.md # 按课程顺序记录的课堂笔记
└── quizzes.md # 测验日志,记录每次测验的分数与错题
课程名称会被转换为 slug(CJK 字符保留),例如 /edu 线性代数 会生成 edu-notes/线性代数/ 目录。
维护与发布¶
插件使用标准的 DSH Bundle 结构(dsh.bundle + cordis.patch.yml)。由于 lib/ 目录被提交到仓库,开发者不需要构建权限。发布流程通过 GitHub Actions 自动化,需要配置 NPM_TOKEN 环境变量。工作流会构建、测试、发布到 npm 并创建 GitHub Release 附带 tarball。
# 开发者构建与测试步骤
pnpm build && pnpm test
生态与链接¶
该插件已收录在社区插件目录。作为 DSH 生态的一部分,它与 DeepSeek 或幻方官方无从属关系。
- 目录页:https://www.skillhub.cn/plugins/1Vewton/dsh-edu
- 源码仓库:https://github.com/1Vewton/dsh-edu