前言¶
在 DSH 工作流裏,Markdown 長文檔的結構問題通常要逐行檢查:標題層級是否跳級、H1 是否唯一、標題文本是否重複、代碼圍欄是否閉合。dsh-plugin-md-outline 把這些檢查做成 DSH 工具。下面介紹它的定位、能力和用法。
這是什麼¶
dsh-plugin-md-outline 是一個 DeepSeek Harness 插件,由 d-ouyang 維護,許可證爲 MIT。它添加 md_outline 工具,用於對 Markdown 文檔輸出標題樹,並檢查結構問題。
該插件要求本機已有 dsh CLI。插件本身是 plain ESM JavaScript,沒有 build step,也沒有 allowBuilds prompt。
核心功能¶
md_outline 提供以下能力:
- 添加
md_outline工具。 - 輸出 H1–H6 的嵌套標題樹,並帶行號。
- 檢測標題層級跳級,例如 H1 → H3。
- 標記重複標題文本。
- 檢測缺少 H1 或多個 H1。
- 檢測未閉合代碼圍欄,並忽略圍欄內的標題。
- 支持
mode:outline、lint、both。 - 支持
maxDepth,用於限制大綱嵌套。 - 當
path是目錄時,支持遞歸掃描。
安裝與啓用¶
先確認本機已有 dsh CLI。然後從 GitHub 倉庫安裝:
dsh plugin add https://github.com/d-ouyang/dsh-plugin-md-outline.git
經過上面的步驟,md_outline 工具即可在 DSH 工具調用中使用。該插件聲明 @deepseek-ai/dsh-tools 爲 peerDependency,不從 registry 獲取該依賴。
如果需要移除插件,可以使用:
dsh plugin remove dsh-plugin-md-outline
典型用法¶
在自然語言調用中,可以讓模型對文檔做結構檢查:
對
~/book/draft.md做大綱,並告訴我結構問題。
也可以在代碼中直接調用工具:
await tools.md_outline({ path: '~/book/draft.md', mode: 'both' })
await tools.md_outline({ path: '~/skills', mode: 'lint', recursive: true })
await tools.md_outline({ path: '~/notes/spec.md', mode: 'outline', maxDepth: 2 })
這三個示例分別表示:對單個文檔同時輸出大綱和結構檢查;對目錄做 lint 並遞歸掃描;對單個文檔輸出有限深度的大綱。
如果本地有倉庫示例腳本,也可以運行:
node examples/run.mjs
適用場景與注意¶
這個插件適合把 Markdown 結構檢查納入 DSH 工具調用的使用者,尤其適合檢查單個文檔或目錄下的 Markdown 文件。
安裝前請檢查源碼和許可證,並確認運行環境可信。插件會以當前 dsh 進程權限運行;它依賴 dsh CLI,並將 @deepseek-ai/dsh-tools 聲明爲 peerDependency,不從 registry 獲取。README 提到使用 dsh-plugin GitHub topic,便於按主題查找相關插件;社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/d-ouyang/dsh-plugin-md-outline
- GitHub:https://github.com/d-ouyang/dsh-plugin-md-outline