dsh-plugin-md-outline:DSH 的 Markdown 大纲与结构检查插件

前言

在 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。
  • 检测未闭合代码围栏,并忽略围栏内的标题。
  • 支持 modeoutlinelintboth
  • 支持 maxDepth,用于限制大纲嵌套。
  • path 是目录时,支持递归扫描。

安装与启用

先确认本机已有 dsh CLI。然后从 GitHub 仓库安装:

dsh plugin add https://github.com/d-ouyang/dsh-plugin-md-outline.git

经过上面的步骤,md_outline 工具即可在 DSH 工具调用中使用。该插件声明 @deepseek-ai/dsh-toolspeerDependency,不从 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye