前言¶
在本地整理課件時,經常遇到兩類問題:一是課件裏只有一堆 PPTX/PDF/DOCX/MD,章節標題散落在各頁,難以快速定位;二是想找配套的講解視頻,但 B 站上關鍵詞一搜就是一屏無關結果。DeepSeek Harness(DSH)的插件生態允許在對話界面內集成這些能力,把原本需要跨軟件、跨步驟的操作收攏到一條對話流裏。
課程助手(dsh-course-assistant)就是這樣一個工作流插件:把課程文件拖進面板,自動識別章節目錄,逐章生成知識點/重點/難點,檢索 B 站配套網課,最後輸出一份 Markdown 學習報告(可導出 PDF),報告末尾固定附 B 站網課列表。
插件定位¶
- 類型:工作流插件(bundle)
- 維護者:logb-1
- 倉庫:https://github.com/logb-1/dsh-course-assistant
- 核心價值:把本地課件轉化爲結構化學習資料,並關聯站外學習資源
核心功能¶
1. 文件識別與目錄提取¶
支持拖入或點擊選擇 .pptx .pdf .docx .md .txt 文件,一次最多 12 個(單文件 ≤60MB)。插件會解析文件,識別章節目錄,並逐章生成要點、重點、難點與關鍵詞。
2. B 站網課推薦¶
啓用「檢索 B 站網課」後,插件會根據課程內容與章節關鍵詞檢索 B 站視頻。附錄包含「系列課程推薦」與「分章節視頻推薦」兩個表格,列出視頻標題、UP 主、播放量、時長/集數及鏈接。若檢索被風控或無結果,附錄會退化爲 B 站搜索入口。
3. 學習報告輸出¶
報告嚴格按需求給定的結構輸出:
# 《課程名》學習報告
> 生成時間 / 來源文件 / 章節數 / 總結模型
## 一、課程目錄
## 二、各章知識點 ### 第 N 章 … - 要點 / - ⭐ 重點 / - ⚠️ 難點 / - 關鍵詞
## 三、課程總結 (≤300 字)
## 附錄:B 站相關網課推薦
### A. 系列課程推薦 序號 | 標題 | UP 主 | 播放量 | 時長/集數 | 鏈接
### B. 分章節視頻推薦 章節 | 標題 | UP 主 | 播放量 | 時長 | 鏈接
報告可在面板中查看、下載 Markdown/PDF 或複製文本。
4. 質量閘門與 OCR 重讀(1.2.0 新增)¶
解析後插件會計算四項指標:每頁字數、可疑字符率、空頁率、成詞率,並判定「good / fair / unusable」。若結果不理想,可在面板中選擇「不太行」並展開三條補救:換源文件(最優)、OCR 重讀、關閉網課檢索重跑。OCR 重讀使用 Windows OCR(zh-CN,約 1 秒/頁,默認上限 60 頁),僅 Windows 平臺可用。
5. 領域錨定與搜索優化(1.5.0 新增)¶
插件通過代碼特徵識別課程語言(如 #include/std::/cout → C++;System.out → Java…),並對章節關鍵詞強制帶域(例如「Python 異常處理」→「C++ 異常處理」)。B 站查詢會加上前綴,並按領域過濾跨語言結果。若識別不準,可在配置裏寫死 domain 字段。此外,插件會清洗通用詞章名(如「主要內容」),改用「第一個有信息量的小標題」或正文首行。
6. 要點溯源與本地核對(1.4.0 新增)¶
每條要點都會帶原文引文,並由本地核對。插件會將引文與章節原文做歸一化比對,判定爲 exact(引文是原文子串)、fuzzy(4-gram 覆蓋率 ≥ 0.85)、short(歸一化後不足 10 字)或 missing(找不到)。報告與面板只陳述測量值(如「詞面重合 34%:要點多爲改寫」「5 條引文 2 條找不到」),不再用重合度推斷「編造」。
7. 多項實用改進(1.4.0 / 1.3.0 新增)¶
- 字形反查:對字體缺少
/ToUnicode的 PDF,解析嵌入的 TrueTypecmap表,把字形編號還原成真字。 - 演講者備註:讀取
notesSlides,講義備註往往是完整講稿。 - 編碼還原:對無 ToUnicode 的字體先按 GBK/Big5 再解一次,能救「GBK 字節被當 Latin-1」的老 PDF。
- 同名源文件擇優:同時拖
x.pptx與x.pdf時自動用 pptx,並提示跳過了哪個。 - 要點重合計分:每章要點與原文算 bigram 重合度,低於 30% 標「可能有推斷成分」。
- OCR 引擎抽象:支持
windows(WinRT 渲染 + Windows OCR)與rapidocr(需安裝rapidocr_onnxruntime pymupdf)兩種引擎。 - 雙欄排版:按欄讀論文/教材型 PDF,避免左右兩欄內容串成一句話。
- 單章重跑與差異視圖:每章右上角「重跑本章」,只重算該章並重建報告,其他章節與總結保持不變。面板會顯示綠色新增與紅色刪除的要點。
- 本地課件問答:使用
Intl.Segmenter分詞 + BM25 在章節正文裏檢索,返回帶章號與頁碼的原文片段。 - 對照考綱算覆蓋率:把複習大綱/考點清單交給插件,按 token 重合把每條考點歸到最匹配的章節。
- 增量課程:
append操作可把新課件追加到已有課程,舊章節摘要緩存命中則不重算。 - 修復靜默 bug:1.4.0 起正文顯式傳給模型,prompt 版本升到 v5。
8. 配置與校驗(1.4.0 新增)¶
插件通過 schemastery 聲明 11 個配置字段,激活時校驗非法配置會直接 fail loud。字段與優先級(請求 > 配置 > 默認):
| 字段 | 默認 | 約束 |
|---|---|---|
dataDir |
空(<DSH_HOME>/course-assistant) |
路徑 |
concurrency |
4 | 1–5 |
withVideos |
true | 布爾 |
domain |
空(自動識別) | 字符串 |
ocrMaxPages |
60 | 1–400 |
ocrEngine |
空(自動) | windows / rapidocr |
ocrPython |
空 | python 路徑 |
provider / model |
空(跟隨默認模型) | 字符串 |
spacingMs |
1000 | 1000–60000 |
keepUploadsDays |
7 | 1–90 |
安裝與啓用¶
前置條件¶
- 安裝好 DeepSeek Harness
- profile 裏配好一個可用模型(缺失時會退回本地抽取摘要)
裝法一:讓 Agent 裝(最省事)¶
在 Harness 對話框裏直接說:
幫我安裝插件 dsh-course-assistant(用 plugin_manager,action=install_bundle,target 用包名)
Agent 會執行 install_bundle(target="dsh-course-assistant"),從 npm 裝;application: applied 後刷新頁面即可。
裝法二:GitHub ZIP(不用 git、不用 Node)¶
- 打開 https://github.com/logb-1/dsh-course-assistant/releases
- 下載最新 ZIP 包
- 解壓到 DeepSeek Harness 的插件目錄(通常爲
<DSH_HOME>/plugins/dsh-course-assistant) - 重啓 DSH
面板入口¶
- 左側欄「課程助手」圖標(
main槽位,keycourse-assistant) - 常駐入口:輸入框下方 dock 的一行「🎓 課程助手 · 打開面板 →」(
conversation.composer.dock)
典型用法¶
- 打開課程助手面板
- 拖入課程文件(支持
.pptx .pdf .docx .md .txt) - 等待解析、目錄識別、逐章總結與 B 站檢索
- 在面板標籤頁查看「知識點」「目錄」「B 站網課」「報告」
- 若結果不理想,選擇「不太行」並選擇補救方式(換源文件、OCR 重讀、關閉網課檢索重跑)
- 下載 Markdown/PDF 或直接複製報告
適用場景與注意¶
- 適合需要系統化整理本地課件、生成結構化學習資料的用戶
- 適合希望關聯 B 站視頻資源以輔助學習的場景
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證(MIT)
- B 站檢索需要網絡連接,關閉「檢索 B 站網課」選項可避免站外請求
結尾¶
課程助手通過本地解析、要點溯源與 B 站推薦,把本地課件轉化爲結構化學習報告,並支持增量更新與單章重跑。插件版本 1.5.2,倉庫與目錄頁見下方鏈接。
- 目錄頁:https://www.skillhub.cn/plugins/logb-1/dsh-course-assistant
- GitHub:https://github.com/logb-1/dsh-course-assistant