前言¶
在 DSH 裏看 B 站課程時,常見做法是:自己開窗口記要點,或事後根據記憶補筆記。知識地圖插件可以抓取簡介、字幕和評論並更新學科手冊,但把內容落成可檢索、可分享的 Markdown 與 Word,並在合適時機推到新會話裏,仍要額外拼裝步驟。下面介紹的 dsh-course-notes 把「看視頻 → 學科知識地圖 → 同名筆記 → 新會話交付」串成一條鏈路,本插件只消費 dsh-video-coursemap 的 state.json 與手冊,不重複抓取、不重複調用總結 LLM。
這是什麼¶
dsh-course-notes 是 DSH 聯網工具類插件,維護者爲 cplh,源碼在 GitHub。npm 包當前版本 1.1.1,許可證 MIT,僅支持 Windows 10/11 x64(os: win32)。
一句話定位:監聽 coursemap 側的新視頻章節,抽取內容後生成與視頻同名的 Markdown + Word(筆記開頭置頂 B 站鏈接),再通過 dsh-memory-evolve 新建會話並 present 兩份文件,同時寫入項目記憶。
核心功能¶
與 README 描述一致,能力可概括爲以下幾點。
- 差量監聽:按配置間隔輪詢 coursemap 輸出,發現新章節則進入生成與交付;每輪最多交付 1 個(
maxDeliveriesPerPoll),已交付記錄在delivered.json,避免重複風暴。 - 雙格式筆記:在同一學科目錄下輸出同名
.md與.docx,內容一致;Markdown 便於檢索與複製,Word 便於閱讀與分享。 - 視頻鏈接置頂:從
poll.log的 bvid 等信息解析鏈接;失敗時可用 B 站搜索反查或佔位文案,不阻斷交付。 - 新會話交付:依賴 memory-evolve 的
de_session(需開啓「會話編排」);不可用時 README 說明會走agents.create兜底。 - 運維工具:
course_notes_status查看目錄、Python、交付計數與最近錯誤;course_notes_deliver支持按標題手動補發(可選force)。 - 空閒零 LLM:無新視頻時不調用模型;異常只寫日誌,不影響 DSH 其他插件。
整條流水線分工如下:前臺 B 站視頻由 dsh-video-coursemap 每約 15 秒觀察並分類抓取;本插件寫筆記文件;dsh-memory-evolve 負責新會話與記憶。
安裝與啓用¶
插件以當前 DSH 進程權限運行。安裝前應自行查看倉庫源碼與 MIT 許可證,確認路徑、網絡訪問(B 站接口與 LLM)是否符合你的環境策略。
前置條件¶
| 依賴 | 說明 |
|---|---|
| DSH 桌面版 | 要求 >=0.2.2-rc.1;需 agents / tools / agentPresets / present |
| Windows 10/11 x64 | coursemap 依賴 PowerShell 與 Win32 前臺窗口檢測 |
| dsh-video-coursemap 2.0.0 | 視頻檢測、學科分類、抓取、學習手冊 |
| dsh-memory-evolve 0.1.0 | 新建會話與 memory;須開啓「會話編排」 |
| Python 3 + python-docx | 生成 Word;可用 DSH 捆綁運行時或配置 pythonPath |
| LLM provider / model | 在 DSH 中已配置,用於分類、總結與新會話 |
本包自身零 npm 依賴;上述兩個插件不會隨本包自動安裝。
安裝步驟¶
- 安裝 DSH 桌面版,確認 profile 可用。
- 安裝並啓用兩個前置插件,並在 memory-evolve 的「記憶 → 會話編排」打開開關:
dsh plugin add https://github.com/linner1224/dsh-video-coursemap/releases/download/v2.0.0/dsh-video-coursemap-2.0.0.tgz
dsh plugin add github:csyangwen/dsh-memory-evolve
- 安裝本插件(插件市場索引有延遲時,該命令仍可用):
dsh plugin add dsh-course-notes
包內已帶 dsh.bundle.patch / cordis.patch.yml,安裝時會自動插入插件行;不要再手動寫重複的 insert,否則重複 id 會報錯。
配置¶
在 profile 的 cordis.patch.yml 中爲已安裝的插件增加 config 覆蓋即可,不要再次 insert:
- id: dsh-course-notes
config:
coursemapOutputDir: 'C:\Users\<you>\課程知識地圖'
outputDir: 'C:\Users\<you>\課程筆記'
sessionCwd: 'C:\Users\<you>\項目'
# pythonPath: 'C:\Users\<you>\...\python.exe'
常用鍵:coursemapOutputDir(默認 ~/課程知識地圖,需與 coursemap 一致)、outputDir(筆記根目錄,默認 ~/課程筆記)、sessionCwd(新會話 cwd 與記憶歸屬,建議顯式設置)、pollIntervalMs(默認 5000)、backfillOnFirstRun(默認 false)。若 coursemap 使用默認輸出目錄,可省略 coursemapOutputDir。
典型用法與輸出¶
正常使用方式是:在前臺播放 B 站課程或紀錄片,保持 coursemap 與 memory-evolve 已啓用。coursemap 更新學科手冊後,本插件生成筆記並由 memory-evolve 在新會話中展示。
磁盤佈局示例(README):
知識筆記/
└── 健康科普/
├── 1L瓶裝水檢出24萬個微塑料,對身體有哪些危害?.md
└── 1L瓶裝水檢出24萬個微塑料,對身體有哪些危害?.docx
筆記開頭會包含學科、標題、置頂視頻鏈接與結構化知識點(內容來自 coursemap 已整理的材料)。
排查問題時,可先調用 course_notes_status;需要補發單個視頻時使用 course_notes_deliver,必填 title,可選 subject 與 force。coursemap 側還有 course_map_status、course_map_scan 便於按標題測試,但 README 提醒不要對同一標題反覆 course_map_scan,以免追加重複章節。
適用場景與注意¶
適合:經常在 Windows 上前臺看 B 站課程或紀錄片,希望按學科落盤筆記,並在 DSH 新會話裏直接打開文件的人。
不適合:只看短視頻、不需要系統筆記的用戶;以及 macOS / Linux 環境(coursemap 依賴前臺窗口檢測,本包聲明僅 win32)。
使用邊界(來自官方 README):
- 僅檢測前臺 B 站窗口;後臺播放、最小化或其他顯示器不會觸發 coursemap 觀察。
- B 站匿名接口有限制(例如評論條數、字幕缺失、偶發 412);鏈接反查可能因標題歧義失敗。
- 缺
python-docx時 Word 生成失敗會重試,沒有「只出 Markdown」的降級模式。 - 每個新視頻大約消耗 1 次分類、1 次總結與 1 個新會話回合;空閒時不調用 LLM。
- 裝完無反應時,先確認兩個前置插件與會話編排已開,再查
course_notes_status與outputDir/.state/delivery.log。
DSH 生態的理念是「一切皆插件」;社區插件目錄(如 SkillHub 上的條目)由社區維護,與 DeepSeek、幻方無官方從屬關係。
結尾¶
dsh-course-notes 在 coursemap 與 memory-evolve 之間充當「筆記橋」:把已抓取的知識地圖章節落成帶鏈接的雙格式文件,並交付到新會話。若你已在 Windows 上用 DSH 系統化看 B 站課,按上文安裝依賴與配置即可接入整條流水線。