dsh-plugin-lookatstudy:把任意資料變成 DSH 裏的引導式課程

前言

用 DSH 這類智能體學習時,常見的做法是把資料丟給模型,讓它總結一遍。問題在於這是一次性交付:模型不知道你哪個概念沒掌握,沒有進度門檻,也沒有複習調度,換個會話,學習狀態就丟了。

dsh-plugin-lookatstudy 把整條學習鏈做成了 DSH 插件:資料導入爲課程,逐概念追蹤掌握度,按間隔重複安排複習。DSH 的理念是「一切皆插件」,學習這件事同樣可以掛在宿主的集成點上——側邊欄入口、斜槓命令、工具卡片,各有各的位置。下面介紹這個插件具體做了什麼、怎麼裝、怎麼用。

這是什麼

dsh-plugin-lookatstudy 由 Kaiji-Z 維護,MIT 許可證,學習引擎模塊從 LookatStudy(MIT)vendored。它的一句話定位是:把任意 markdown 文檔、本地文件夾或 GitHub 學習倉庫導入爲 DeepSeek Harness 內的引導式課程,帶技能樹式關卡推進、BKT 掌握度追蹤和 SM-2 間隔重複。

插件分兩個面:對話裏的導師(tutor),以及一個三欄全接管的學習面板。宿主被定義爲會話模型加 agent-turn 引擎,面板擁有 UI,宿主擁有循環。

導入:從四種來源建課

下面是建課的四個入口,按來源選工具:

1、study_import_markdown / study_import_folder:導入 markdown 文檔或本地文件夾,支持 12 種文檔格式,含 EPUB、DOCX、PPTX、PDF 文本。
2、study_import_github:導入 GitHub 學習倉庫,走 jsDelivr CDN,github.com 不可達的環境下也能用。
3、study_import_url:導入單篇文章、arXiv 論文或視頻元數據。
4、study_apply_design:由導師設計的結構協議,負責把導入內容組織成課程結構。

核心機制:掌握度取最弱概念

插件用知識組件(KC)追蹤學習狀態,流程如下:

1、首次教學一課時,導師派生 2–7 個概念(study_define_concepts)。
2、每次答題歸因到具體概念(study_record_answer,帶 concept)。
3、逐概念運行 BKT,課程掌握度取最弱概念。
4、出測驗時優先針對薄弱概念。

推進由掌握度驅動:≥50% 提前解鎖下一課;≥90% 結業,並安排首次 SM-2 複習;答題本身也會推動複習計劃。

此外還有一條提案通道(propose → apply):≥85% 且學習者給出令人信服的費曼式講解時,導師可以提案提前結業(study_propose_mastery),但會等待學習者明確的 yes/no 才應用(study_resolve_proposal)。學習者的決策不會被跳過。

摩擦感知與學習者記憶

學習過程中的困惑、卡住、挫敗會被靜默記錄(study_report_friction),以 ⚡😣 薄弱點的形式呈現在課程樹裏,導師據此調整策略。

學習者記憶有三個槽位:全局風格、每課程模式、每課缺口,通過 read-merge-write 更新(study_remember)。每回合還會注入一份動態學習者快照,包含 focus、strategy band、薄弱概念、friction、memory、due count 和 pending proposal,導師每輪都看得到這些上下文。

學習面板:三欄結構

dsh 側邊欄有一行「學習」(位於「新會話」下方,與其他插件入口並列),點開是一個三欄全接管面板,樣式全部使用 dsh 的 --dsw-* tokens。關閉面板或切換會話時,中欄直接交還給宿主。

左欄是課程:課程選擇、進度、帶一鍵複習啓動的 due box、課程樹(關卡門檻、掌握度條、⚡😣 薄弱點標記),空態時提供一鍵演示導入。注意一點交互設計:點擊課程欄裏的課僅做 FOCUS,切換黑板內容,零模型流量;導師只在你發送消息時介入。

中欄是導師對話,擁有獨立 composer,面板從不觸碰 dsh 宿主的 composer。欄頭有靈魂藥丸:guide 引導 / direct 精講 / practice 實戰。導師出的測驗題,A–D 選項會渲染成可點擊的答案按鈕。

右欄是黑板,承載當前 focus 課的內容:

  • 講解:服務端消毒的 markdown 富渲染,按需加載 KaTeX 公式、語法高亮代碼、mermaid 圖(mermaid 走 CDN loader,離線靜默降級)。
  • 🕸 概念圖視圖:同一課的知識組件畫成概念圖,捆綁 ELK 佈局,不依賴外部服務。
  • Cornell 筆記三區,每條筆記刪除前有確認。
  • 朗讀欄:朗讀本課時通過 Microsoft Edge 神經語音在宿主端逐句合成並磁盤緩存,離線回退瀏覽器系統語音,朗讀時當前句高亮。

所有學習狀態來自對 /lookatstudy/api/state 的一條共享 3 秒輪詢,三欄讀的是同一份狀態。

DSH 原生集成點

面板之外,插件還接入了宿主的多處集成點:

  • 雙語文案:整個 client 半區註冊 lookatstudy locale namespace(zh/en,key parity 強制),切換宿主語言,學習面板跟着切。
  • 設置頁:settings.section 條目,含教學風格、study mode 開關、只讀統計(courses/XP/streak)與狀態文件路徑。
  • /study 斜槓命令:裸 /study 激活休眠安裝並排隊 kickoff 提示;/study <text> 排隊該請求。斜槓命令能用的地方都能用。
  • 輸入框停靠藥丸(conversation.composer.dock):激活時顯示 ⚡due · 🔥streak · Lv,休眠時不渲染。
  • 會話標籤內工具卡片:tool.call.toolview 鍵控條目,覆蓋 study_record_answer(✓/✗ 加概念)、study_lessonstudy_due_reviewsstudy_exam_result
  • 啓動層預取:dsh.client.immediately: true,側邊欄「學習」行首幀即渲染,無需等待 bundle 拉取。

30 個工具的工具面

工具面共 30 個工具,按 import / learn / progress / artifacts / memory / proposals / reviews / awareness / misc 分組。除上面提到的導入、概念與答題、提案、摩擦與記憶工具外,還有幾組值得單獨說明:

  • 交互式練習(artifacts,0.15.0 起):study_generate_quiz(交互式練習卡)、study_pose_guessstudy_compare_tablestudy_draw_diagram(mermaid)、study_code_walkthrough,各自渲染爲面板內卡片,並沉澱到筆記。
  • 鞏固與產出(memory):study_consolidatestudy_translate_lesson(雙語課程)、study_export(導出課程包 markdown)。
  • 複習:study_due_reviews 查詢到期項,study_record_record_review 記錄複習結果;考試模式 study_exam_result 帶星級評分。
  • 雜項:study_set_modestudy_delete_course。另有 study_courses 支持進度查看與全文搜索,XP 與 streak 貫穿其中。

profile 方面:插件 works with any profile。web profile 下額外提供學習標籤頁的 HTTP API 並加載瀏覽器端;headless profile 只獲得純工具面。

安裝與啓用

從 npm 安裝:

dsh plugin add dsh-plugin-lookatstudy        # from npm

或從本地 tarball 安裝:

dsh plugin add ./dsh-plugin-lookatstudy-0.2.1.tgz

第一條命令走 npm,第二條從本地 tarball 文件安裝。注意倉庫 package.json 中的版本號爲 0.16.0,而 README 安裝示例中的 tarball 文件名爲 0.2.1,兩處不一致,安裝時以你實際獲取的包爲準。安裝後 works with any profile,無需額外配置即可在側邊欄看到「學習」入口。

典型用法

最直接的入口是對導師說話:

import https://github.com/microsoft/AI-For-Beginners and teach me lesson 1

這句會讓導師導入該 GitHub 學習倉庫爲課程,並開始第一課。後續學習循環就是上面寫的機制:派生概念、答題歸因、BKT 更新、按掌握度解鎖與結業。

查詢到期複習:

what reviews are due today?

也可以用斜槓命令:裸 /study 激活休眠安裝並排隊 kickoff 提示;/study <text> 把該請求排隊發給導師。在面板裏發送消息或點擊 starter,則是進入課程線程的入口——面板會激活休眠的學習面,在宿主上創建課程會話,回覆經會話事件窗口流式返回,走插件自己的 markdown 管線渲染。

適用場景與注意

適合的場景:你手上已有成體系的學習資料——markdown 文檔、本地文件夾、GitHub 學習倉庫或散篇文章,希望在 DSH 裏按課程推進,被逐概念追蹤掌握度,並按 SM-2 計劃複習,而不是每次重新問一遍。

安裝與使用前有幾點需要注意:

1、插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。本項目爲 MIT,學習引擎模塊從 LookatStudy(MIT)vendored。
2、面板、學習標籤頁的 HTTP API 僅在 web profile 下可用;headless profile 只有純工具面,同樣能完成導入、教學與複習的完整循環。
3、網絡依賴:mermaid 渲染走 CDN loader,離線靜默降級;朗讀的 Edge 神經語音在宿主端合成,離線回退系統語音;概念圖的 ELK 佈局爲本地捆綁,不依賴外部服務。

結尾

dsh-plugin-lookatstudy 的價值在於把「問模型學東西」變成一個有狀態、有門檻、有複習計劃的過程,並且充分利用了 DSH 的宿主集成點,而不是隻堆一袋工具。如果你在用 DSH 學習新領域,值得一試。

項目主頁:https://github.com/Kaiji-Z/dsh-plugin-lookatstudy

社區目錄頁:https://www.skillhub.cn/plugins/Kaiji-Z/dsh-plugin-lookatstudy (skillhub.cn 爲社區維護的插件目錄,與 DeepSeek、幻方無官方從屬關係)

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

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

小夜