Course Handout Studio:在 DSH 里把主题扩成模块化讲义并导出 DOCX + PDF

前言

在 DeepSeek Harness(DSH)里做面向学生的教学输出时,常见做法是临时拼大纲、分段写 Markdown,再手工排版进 Word 或另找工具转 PDF。章节结构、学习目标、习题分层和交付前检查往往分散在多轮对话里,难以复用。

Course Handout Studio(仓库 Nounoumm/course-handout-studio)是维护者 Nounoumm 发布的 Harness 本地插件包,定位为面向学生的模块化课程讲义生成器:从主题出发生成「模块—章—节」骨架,补全例题、易错点与分层习题,经检查后一键产出 DOCX,并通过 Host 的 officeToPdf 得到 PDF。插件在 SkillHub 分类为「模型推理」;GitHub 当前星标数为 1。

这是什么

  • 名称:课程讲义工坊 · Course Handout Studio(插件包名 @local/course-handout,版本 1.0.0)
  • 维护者:Nounoumm
  • 许可证:MIT
  • 解决的问题:把「教学设计 + 内容编写 + 规格校验 + 文档交付」收口到一套工具与技能 course-handout,输出默认可写到工作区下的 handouts 目录

实现上,Node 侧 index.js 注册工具与技能;Python 侧 builder/handout_builder.py 负责 DOCX 渲染、Markdown 解析与规格检查,依赖运行时自带的 python-docx。PDF 不依赖系统 LibreOffice,由 Harness 的 officeToPdf 在内存中转换。

核心功能

下面按 README 中的工具表说明各能力。

工具 作用
handout_templates 列出四种模板:标准教材型、考前复习型、项目驱动型、双语对照型
handout_scaffold 按主题生成模块—章—节骨架(JSON),含学习目标、小节占位、习题框架
handout_check 检查结构、空小节、篇幅、学习目标与小结、习题与答案数量
handout_build 渲染 DOCX,并调用 Harness 的 officeToPdf 转成 PDF

同时注册技能 course-handout,固化章节设计、知识点清单、视频素材结合方式、习题设计规范与交付前检查。

教学设计约定(技能侧)包括:

  1. 结构:2–4 个模块,每模块 2–4 章,每章 2–6 节;避免「第 0 章」「杂项」式分章。
  2. 双螺旋写法:问题引入 → 严格定义 → 解释「为什么」 → 例题 → 易错点 → 小结。
  3. 知识点清单:术语中英对照、符号与适用条件、方法步骤、例题、反例、章末小结、分层习题与答案。
  4. 视频素材:可按需检索公开课程大纲(如中国大学 MOOC、学堂在线、B 站、MIT OCW、Khan Academy 等),只借鉴章节顺序,附录给出真实链接,不复制受版权保护内容。
  5. 习题:基础 / 提高 / 挑战三层,答案写出关键步骤。

安装与运行环境

官方 README 要求先把仓库放到本机,再在 Harness 会话里安装本地 bundle。安装后无需重启,工具与技能会出现在当前 profile。

plugin_manager install_bundle
target: <本仓库的绝对路径>

Python:插件依次检查 DSH_PYTHON、$DSH_HOME/dsh-runtimes/*/dependencies/python、安装目录下的 resources/runtime/*/dependencies/python,最后回退到 PATH 上的 python3 / python。Harness 自带运行时即可。

PDF:通过 Host 的 officeToPdf 服务转换。

输出目录:默认 <工作区>/handouts;handout_build 可用参数 output_dir 覆盖。

插件以当前 DSH 进程权限运行;安装前应自行查看仓库源码与 MIT 许可证,确认是否符合你的环境与安全要求。

典型用法

对话式生成

在会话里直接说明受众、主题、模板与习题层次,例如:

帮我给高一学生做一份「牛顿运动定律」的讲义,标准教材型,8 章,带基础和提高到。

助手会先确认关键信息,再生成 handouts/*.json、补全内容、检查并产出 DOCX 与 PDF。

用示例规格直接构建

仓库提供完整示例 examples/c-pointer-demo.json(4 章 8 节 15 题),可先检查再构建:

handout_check  spec_path: examples/c-pointer-demo.json
handout_build  spec_path: examples/c-pointer-demo.json

规格文件(JSON)

讲义由 JSON 描述,正文使用轻量 Markdown。完整字段与写作规范见仓库内 skills/course-handout.md。最小结构示例:

{
  "schema": "course-handout/1",
  "meta": { "title": "示例讲义", "audience": "初学者" },
  "modules": [
    {
      "title": "第一部分 基础",
      "chapters": [
        {
          "title": "第 1 章 开始",
          "objectives": ["目标一", "目标二"],
          "sections": [{ "title": "1.1 引入", "body": "正文……" }],
          "summary": ["小结一", "小结二"],
          "exercises": { "basic": ["练习题"] },
          "answers": ["参考答案"]
        }
      ]
    }
  ]
}

适用场景与注意

适合谁:需要在 DSH 里稳定产出学生向讲义、并希望 DOCX/PDF 一并交付的教师、助教或做教育类智能体工作流的开发者。

不适合或需自备环节:插件不负责替代你对版权与素材合规的最终判断;视频素材仅借鉴公开大纲顺序并附链接,不复制受保护内容。Node 侧不引入第三方 npm 依赖,能力边界清晰,复杂排版仍以 python-docx 与生成的 OOXML 为准。

生态说明:DSH 奉行「一切皆插件」;SkillHub(skillhub.cn)为社区目录站点,与 DeepSeek / 幻方无官方从属关系。本插件目录页与源码以下面链接为准。

结尾

Course Handout Studio 把讲义从「临时文稿」收成可校验的 JSON 规格,再通过 handout_build 落到 DOCX 与 PDF,适合在 Harness 会话里做系统化教学交付。查阅介绍与安装说明可打开 SkillHub 目录页与 GitHub 仓库:

  • 目录页:https://www.skillhub.cn/plugins/Nounoumm/course-handout-studio
  • GitHub:https://github.com/Nounoumm/course-handout-studio
羽毛球分组比赛记分
小程序二维码

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

Xiaoye