前言¶
在 DeepSeek Harness(DSH)裏做數學相關智能體時,題目往往散落在對話或零散文件裏:換數字就算「新題」、知識點和技巧沒有索引,組卷時也很難按難度或方法約束選題。手工用表格或純 Markdown 管題可以,但變式是否真增加了推理障礙、是否只是換皮,通常要靠人腦記,很難系統化。
下面介紹社區插件 dsh-problem-bank(維護者 ziyans2022,分類爲工作流)。它把題目以 markdown + frontmatter 落盤,用知識點子圖、題型骨架和技巧庫做結構化存儲,並圍繞變式質量門、六維難度與多解法,輔助「同技巧、異題面」的出題與近重複檢查。DSH 生態是「一切皆插件」;SkillHub 等目錄頁是社區站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-problem-bank 是面向數學題庫建設與變式生成的 DSH 插件。當前 package 版本爲 0.6.2(MIT 許可證),依賴 Node ≥18,peer 依賴 @deepseek-ai/cordis ~4.0.5。
插件不替代人工驗題:機器檢查不等於數學正確性或原創性的最終證明。它的定位是輔助題目組織、變式設計與質量檢查。
核心功能¶
題目入庫與多解法¶
- 整理題面、解答、知識點、難度與審覈狀態;題目文件含
## 題面、## 解析等結構。 - 一題可存多條解法(代數 / 幾何 / 解析 / 組合等),每條解法獨立審覈;主解法仍在
## 解析,額外解法用## 解法 SOL-xxx — 標題。content.solution始終等於主解法正文,只讀舊字段的調用方不必改。
知識圖譜與技巧¶
- 知識點關係分 學習層(prerequisite / part-of / application / contrast)與 數學層(equivalent / implies / generalizes 等);數學關係需帶
evidenceStatus,kg_validate_graph可查環、重複邊等。 - 解題技巧標註後可按技巧抽題(如
sample_by_technique),探索方法遷移。首次初始化會在kg/techniques.json爲空時灌入 30 條技巧種子;一旦自行添加過技巧,種子不會再次覆蓋。
變式質量門與創新審覈¶
變式不能僅以「題面不同、答案正確」入庫。插件要求聲明變式類型與目標,並覈對保留的核心難點、新增障礙、一般性是否被降低。類型包括 isomorphic、structural、harder、extension;simplified(降難)默認被 allowSimplified: false 拒絕。
典型流程包括:record_variation_intent 聲明意圖與難度剖面 → 獨立求解覈驗 → audit_variation 提交 preserved / added / weakened → 通過後再 submit_for_review;commit_problem 會攔截未過門禁的題目。配置項 requireVariationGate 默認爲 true。
六維難度與組卷¶
難度從單一星級擴展爲六維剖面(各 1–5 分,且必須寫 rationale):
| 維度 | 含義 |
|---|---|
conceptual |
概念鋪墊 |
technical |
計算/構造執行難度 |
proofDepth |
證明嵌套與引理 |
prerequisiteLoad |
前置知識負擔 |
ingenuity |
關鍵洞察難度 |
generality |
單個例子 / 有限情形 / 一般情形 |
模型初評(assessedBy: model)一律爲 pending,需 review_difficulty_profile 才能變爲 reviewed。組卷槽位可按維設上下界(如 generality ≥ 4),不滿足即拒絕。
試卷與其它能力¶
- 近重複檢查:
nearDuplicateThreshold默認 0.75(子圖相似度)。 - 試卷分析與組卷:分析風格、規劃結構並按約束組織試卷。
- 從 v5 題庫升級:
migrate_bank(dryRun=true/false),備份到<bankRoot>/migration/<時間>/,可用rollbackMigration回滾。
插件 README 稱安裝成功後工具列表可見 sample_by_technique、migrate_bank 等共 42 個工具。
安裝與啓用¶
DSH 插件通過插件管理器安裝(npm 包名、git 倉庫地址或本地目錄),不要手改 profile 裏的 cordis.patch.yml。本插件尚未發佈到 npm,可用 git 或本地目錄。
git 倉庫(須填 40 位 commit,短哈希會被拒絕):
git+https://github.com/ziyans2022/dsh-problem-bank.git#d95c4c290277dcc7a084955d0d8f5a0f5360df42
本地目錄(須同時含 package.json 與 cordis.patch.yml):
C:\tools\dsh-problem-bank
Windows 路徑含空格時整段給出,不要加引號或轉義。
裝完建議確認三條:插件列表出現「題庫插件」(來自 locale/zh.json 的 meta.title);工具列表含上述一類工具;日誌有 [problem-bank] init ok. bankRoot=…, techniquesSeeded=30, schemaVersion=6。插件市場不支持原地升級,換版本需先移除再安裝;數據在 bankRoot,不隨卸載消失。從 0.5.x 升到 0.6.0 後,對舊庫應先 migrate_bank({ dryRun: true }) 再看 migrate_bank({ dryRun: false })。
數據目錄與配置¶
bankRoot 默認 ./problem-bank-data,相對路徑按 DSH 進程工作目錄解析,不是插件目錄。正式使用建議絕對路徑,例如:
bankRoot: 'D:/problem-bank-data'
目錄結構示意:
problem-bank-data/
├── 2026/
│ └── ZH-0001.md
├── kg/
│ ├── nodes.json
│ ├── relations.json
│ └── techniques.json
├── papers/
├── migration/
└── .problem-bank-id-seq
常用配置(節選):
| 鍵 | 默認 | 說明 |
|---|---|---|
bankRoot |
./problem-bank-data |
題庫根目錄 |
idPrefix |
ZH |
題號前綴 |
autoGitCommit |
false |
入庫時在 bankRoot 內自動 git commit |
requireHumanReview |
true |
須 pending_review 後才能 approve |
requireVariationGate |
true |
變式須過 audit |
allowSimplified |
false |
是否允許降難變式 |
nearDuplicateThreshold |
0.75 |
近重複閾值 |
典型用法:變式質量門在考什麼¶
README 用遞推多項式原題說明:僅把 \(2^{n-1}\) 換成 \(3^{n-1}\) 並只問 \(g_3\) 的根,一般性從 general-n 掉到 finite-case,門禁會判不通過。合格的 harder 變式應保留求根完整性,並新增例如零點互異、與 \(g_{n-1}\) 零點交錯等論證;對應 record_variation_intent 與 audit_variation 中類型、保留、新增、削弱與一般性字段需寫全。該示例按插件數據組織思路編寫,不代表已通過真實運行時的創新性審覈。
入庫相關工具鏈在質量門六步中有明確順序:先聲明意圖與設計數學結構,再獨立求解,再審計,最後提交審覈與 commit。
適用場景與注意¶
適合需要長期積累數學題、按知識點/技巧/難度約束組卷、並對變式做結構化門禁的 DSH 用戶或教研場景。題目純文本可 git 管理;開啓 autoGitCommit 時插件會在 bankRoot 內執行 git 操作。
務必注意:
- 插件直接寫文件系統到
bankRoot,不經過 DSH 工作區沙箱;bankRoot指哪裏就寫哪裏。 - 插件自身不發起網絡請求;推送遠端需手動完成。
- 安裝前請自行查看 GitHub 倉庫 源碼與 MIT 許可證;插件以當前 DSH 進程權限運行。
結尾¶
dsh-problem-bank 把數學題庫從「一堆 Markdown」推進到「知識點圖譜 + 技巧索引 + 變式質量門 + 六維組卷約束」的工作流,適合在 DSH 裏系統化建設題源並控制換皮式變式。
- 社區目錄頁:https://www.skillhub.cn/plugins/ziyans2022/dsh-problem-bank
- GitHub:https://github.com/ziyans2022/dsh-problem-bank