dsh-course-notes:B 站課程筆記自動化流水線

前言

在 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 描述一致,能力可概括爲以下幾點。

  1. 差量監聽:按配置間隔輪詢 coursemap 輸出,發現新章節則進入生成與交付;每輪最多交付 1 個(maxDeliveriesPerPoll),已交付記錄在 delivered.json,避免重複風暴。
  2. 雙格式筆記:在同一學科目錄下輸出同名 .md 與 .docx,內容一致;Markdown 便於檢索與複製,Word 便於閱讀與分享。
  3. 視頻鏈接置頂:從 poll.log 的 bvid 等信息解析鏈接;失敗時可用 B 站搜索反查或佔位文案,不阻斷交付。
  4. 新會話交付:依賴 memory-evolve 的 de_session(需開啓「會話編排」);不可用時 README 說明會走 agents.create 兜底。
  5. 運維工具:course_notes_status 查看目錄、Python、交付計數與最近錯誤;course_notes_deliver 支持按標題手動補發(可選 force)。
  6. 空閒零 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 依賴;上述兩個插件不會隨本包自動安裝。

安裝步驟

  1. 安裝 DSH 桌面版,確認 profile 可用。
  2. 安裝並啓用兩個前置插件,並在 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
  1. 安裝本插件(插件市場索引有延遲時,該命令仍可用):
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 站課,按上文安裝依賴與配置即可接入整條流水線。

羽毛球分组比赛记分
小程序二维码

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

小夜