DeepSeek Harness 教育模式插件 (dsh-edu-mode)

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在模型推理领域,大多数插件侧重于增强代码生成或逻辑推理能力。dsh-edu-mode 作为一种教育模式插件,由开发者 1Vewton 维护,旨在将智能体的交付物从单纯的文本输出转变为“对主题的理解”。它通过一套强制执行的协议,让模型在生成内容前先收集权威来源、编写课堂笔记,并要求通过测验才能确认学习进度。

核心能力

该插件通过五个阶段和一个教学协议来驱动会话,确保学习过程结构化:

  1. 收集权威来源:使用 web_search 和 web_fetch 工具检索教材、大学课程页、标准文档或论文,并记录标题与 URL。
  2. 分步讲解:遵循教学协议,先阐述意义与直觉,再给出精确定义、推导过程、典型示例,并纠正常见误区。
  3. 编写课堂笔记:每节课结束后,使用 edu_notes 工具将讲解内容、关键点和来源写入课程文件。
  4. 测验与评分:每节课结束时,使用 edu_quiz 工具通过交互式 UI 提问,自动评分,并对未通过的部分进行重讲。
  5. 跟踪进度:使用 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜