前言¶
DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在模型推理領域,大多數插件側重於增強代碼生成或邏輯推理能力。dsh-edu-mode 作爲一種教育模式插件,由開發者 1Vewton 維護,旨在將智能體的交付物從單純的文本輸出轉變爲“對主題的理解”。它通過一套強制執行的協議,讓模型在生成內容前先收集權威來源、編寫課堂筆記,並要求通過測驗才能確認學習進度。
核心能力¶
該插件通過五個階段和一個教學協議來驅動會話,確保學習過程結構化:
- 收集權威來源:使用
web_search和web_fetch工具檢索教材、大學課程頁、標準文檔或論文,並記錄標題與 URL。 - 分步講解:遵循教學協議,先闡述意義與直覺,再給出精確定義、推導過程、典型示例,並糾正常見誤區。
- 編寫課堂筆記:每節課結束後,使用
edu_notes工具將講解內容、關鍵點和來源寫入課程文件。 - 測驗與評分:每節課結束時,使用
edu_quiz工具通過交互式 UI 提問,自動評分,並對未通過的部分進行重講。 - 跟蹤進度:使用
edu_course工具管理課程大綱。當某個模塊的測驗通過後,該模塊會被標記爲完成,進度在會話間持久化。
插件提供三個核心工具:
* edu_course:負責創建/重寫課程大綱(設置目標、級別、模塊清單),報告當前狀態,或標記模塊完成。
* edu_notes:將單節課的講解內容寫入筆記文件。若重複寫入同一節課,除非指定 replace: true,否則會被拒絕。
* edu_quiz:通過交互式問題 UI 收集答案並評分。選擇題支持單選和多選;開放式問題由模型自行判斷。在無交互環境(如無頭模式)下,它會降級爲在聊天中提問。
安裝與啓用¶
插件安裝後需要重啓服務器才能生效。安裝時請務必使用 npm、tarball 或 git 安裝方式,以避免符號鏈接導致的問題。
# 通過 npm 安裝
dsh plugin --profile web add dsh-edu-mode
# 通過 tarball 安裝
dsh plugin --profile web add ./dsh-edu-mode-0.1.0.tgz
# 通過 git 安裝
dsh plugin --profile web add github:1Vewton/dsh-edu
注意:不要使用
dsh plugin add <directory>這種命令。這實際上是 pnpm 的link:功能,會導致 Node 解析出源碼目錄,使插件加載錯誤的依賴副本,從而無法被 Harness 識別。
安裝完成後,可以通過以下命令驗證配置是否加載:
dsh --profile web --dump-config
輸出中應包含 # == dsh-edu-mode 段落。
配置¶
插件的配置位於 cordis.patch.yml 文件中,且在加載時會進行嚴格校驗。
- insert:
- id: edu-mode
name: 'dsh-edu-mode'
config:
notesDir: edu-notes # 工作區內的課程文件根目錄
maxQuizQuestions: 6 # 單次 edu_quiz 調用的最大問題數
passRatio: 0.8 # 自動評分部分的及格線
典型用法¶
通過 /edu 命令切換模式並指定課程:
| 命令 | 效果 |
|---|---|
/edu linear algebra |
開啓模式,設定課程爲線性代數 |
/edu |
開啓模式,但不設定具體課程,等待模型詢問 |
/edu linear algebra, starting from determinants, my basics are shaky |
開啓模式並附帶初始問題,模型將按此起點開始教學 |
/edu status |
查看當前狀態和課程信息 |
/edu off |
關閉教育模式 |
開啓模式後,協議會自動驅動會話:收集來源 -> 講授模塊 -> 記筆記 -> 測驗 -> 重講錯題。你可以在任何時候打斷流程(如“再解釋一遍”、“出更難的題”)。
課程文件¶
課程數據以文件形式保存在會話工作區的 edu-notes/<course>/ 目錄下:
edu-notes/linear-algebra/
├── syllabus.md # 課程目標、難度、模塊清單 (- [ ] / - [x]) 及來源
├── notes.md # 按課程順序記錄的課堂筆記
└── quizzes.md # 測驗日誌,記錄每次測驗的分數與錯題
課程名稱會被轉換爲 slug(CJK 字符保留),例如 /edu 線性代數 會生成 edu-notes/線性代數/ 目錄。
維護與發佈¶
插件使用標準的 DSH Bundle 結構(dsh.bundle + cordis.patch.yml)。由於 lib/ 目錄被提交到倉庫,開發者不需要構建權限。發佈流程通過 GitHub Actions 自動化,需要配置 NPM_TOKEN 環境變量。工作流會構建、測試、發佈到 npm 並創建 GitHub Release 附帶 tarball。
# 開發者構建與測試步驟
pnpm build && pnpm test
生態與鏈接¶
該插件已收錄在社區插件目錄。作爲 DSH 生態的一部分,它與 DeepSeek 或幻方官方無從屬關係。
- 目錄頁:https://www.skillhub.cn/plugins/1Vewton/dsh-edu
- 源碼倉庫:https://github.com/1Vewton/dsh-edu