前言¶
在 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