dsh-video-coursemap
视频课程知识地图 Agent 2.0:定时观察浏览器前台窗口实时检测 B 站视频课程,按关键词自动分类学科并抓取视频简介/字幕/弹幕/评论做知识总结,输出 Word 知识地图与学习手册
What it is
视频课程知识地图 Agent 2.0:定时观察浏览器前台窗口实时检测 B 站视频课程,按关键词自动分类学科并抓取视频简介/字幕/弹幕/评论做知识总结,输出 Word 知识地图与学习手册
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/linner1224/dsh-video-coursemap.git#9daf368cc945420835af1c8faca7cccd5f8736e3'
DSH versions accepted
Undeclared
Author and traction
linner1224 · ★ 20 · Updated 2026-11-03
About this plugin
dsh-video-coursemap · 视频课程知识地图 Agent 2.0
一个纯 DSH 插件:实时检测网页端 B 站视频课程 → 按关键词自动学科分类 → 抓取视频内容/弹幕/评论做知识总结 → 输出 Word 知识地图与学习手册。无需任何运行时依赖,无需修改 DSH 核心。
安装
方式一:Release 预构建包(推荐,无需 git、无需 npm)
dsh plugin add "https://github.com/linner1224/dsh-video-coursemap/releases/download/v2.0.0/dsh-video-coursemap-2.0.0.tgz"
直接从 GitHub Release 下载打包好的产物,全程不调用 git,也不需要 npm 账号或构建工具。这是兼容性最好的方式,任何装了 DSH 的机器都能成功。
方式二:插件市场
在市场里搜索 dsh-video-coursemap 一键安装。市场能否免 git 安装,取决于索引里这条记录是否已带上 tarball 映射 —— 详见下方《装不上怎么排查》。
方式三:GitHub 地址(需要本机已装 git)
dsh plugin add github:linner1224/dsh-video-coursemap
此方式要求本机已安装 git 且在 PATH 中,并且能访问 github.com。缺任意一项都会失败。
装不上怎么排查
| 现象 | 原因 | 解决 |
| --- | --- | --- |
| ERR_PNPM_GIT_RESOLVE_FAILED、git ls-remote failed: 'git' 不是内部或外部命令 | 本机没装 git,或 git 不在 PATH | 安装 Git for Windows 并重启 DSH,或改用方式一 |
| ETIMEDOUT、连接 github.com 超时 | 网络无法访问 GitHub | 给 git/pnpm 配代理,或改用方式一 |
| 市场里点安装失败,但手动 dsh plugin add 能装 | 市场索引尚未收录本插件的 tarball 映射,退化成了裸 github: 地址(必须走 git) | 改用方式一,或等索引刷新 |
| 装完 course_map_* 工具不出现 | 插件未被加载 | 重启 DSH(DSH 对插件模块做缓存,不会热重载) |
| 能装、能跑,但生成 Word 失败 | 缺少 Python 环境(scripts/md2docx.py 依赖本机 python) | 安装 Python,或先关闭 Word 输出 |
维护者:发版与「市场免 git 安装」
市场的安装目标由 installTargetFor 决定,优先级为:
1. npm 包(发布到 npm registry)
2. GitHub Release 上的 .tgz 资产(tarball 映射)
3. 兜底:github:owner/repo ← 要求用户本机有 git
本插件未发布到 npm,因此必须挂 Release 资产,市场才会生成免 git 的安装命令。发版步骤:
1. 打包:pnpm pack --pack-destination <输出目录>,得到 dsh-video-coursemap-<版本>.tgz
2. 在 GitHub 创建 Release,tag 与 package.json 的 version 保持一致(如 v2.0.0),把 .tgz 作为二进制资产上传
3. 等待聚合索引刷新(awesome-dsh-plugin.com,其 build-site 工作流每天 10:23(北京时间) 运行)
4. 验证映射是否生效:
$j = Invoke-RestMethod "https://awesome-dsh-plugin.com/plugins.json"
($j.plugins | Where-Object { $_.name -eq "dsh-video-coursemap" }) |
Select-Object npm, version, tarball, install
tarball 字段返回 Release 的 .tgz 地址即表示成功,此时市场按钮会走免 git 路径。
注意:package.json 里的 files 字段决定打包内容,增删文件时需同步更新;private 字段会阻止发布到 npm(不影响 Release 资产)。
2.0 三大功能
功能一:实时检测 & 静默去重
- 定时(默认每 15s)读取 Windows 前台窗口标题,识别浏览器/视频客户端中的视频。
- 新视频 → 连续
stablePolls次(默认 2 次)稳定确认后自动生成知识地图; - 已处理过的视频 → 保持静默,不重复生成(记录到
seen去重表); - 非知识内容(纯音乐、搞笑段子、无解说实况、直播、新闻、普通网页等)→ 静默忽略。
功能二:学科分类
- 由 LLM 根据视频标题 + 关键词判断所属学科(中文 ≤8 字);
- 旧学科 → 追加更新到已有的知识地图 / 学习手册;
- 新学科 → 自动新建该学科的学习手册。
功能三:内容知识总结 & Word 输出
- 按标题反查 B 站视频,抓取:视频简介、标签、字幕(如有)、弹幕(≤150 条)、热评(≤20 条);
- 基于真实内容 + 弹幕 + 评论提炼核心知识点(8~20 条、2~3 层)与思维导图(Mermaid mindmap);
- 输出为 Word(.docx):每个学科一本《学习手册.docx》+ 全局《课程总览.docx》;
- Mermaid 思维导图在 Word 里渲染为原生分级大纲(根加粗 + 分级项目符号),而非代码文本。
输出目录结构
<输出目录>(默认 C:\Users\<你>\课程知识地图,可用 outputDir 配置) ├── 课程总览.docx # 全局知识地图(学科总览 + 学科列表) ├── <学科A>/ │ └── 学习手册.docx # 该学科所有视频的知识总结 ├── <学科B>/ │ └── 学习手册.docx └── .state/ # 内部状态(state.json、manuals/*.md 源、poll.log 调试日志)
配置项
| 配置 | 默认 | 说明 |
| --- | --- | --- |
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| thoughtdag | chenxiachan | 763 | 0.2.2 | 2026-11-08 |
| graph-memory | adoresever | 675 | 1.5.8 | 2026-10-01 |
| dsh-Mimir-Academic-research | 1692775560 | 562 | 0.0.0 | 2026-11-04 |
| memtrace-public | syncable-dev | 515 | 0.0.0 | 2026-11-09 |
| marketingdashboard | theBigGavin | 459 | 0.1.0 | 2026-10-29 |