dsh plugin 是什么意思?装插件前先懂 5 个概念:DSH plugin、组合包、profile、插件市场与命令
dsh plugin 的意思是「一份代码扩展包」:装上它,DSH 才多出一项能力。 但在动手装之前,先把 5 个概念分清楚——插件、组合包、profile、插件市场、dsh plugin 命令——后面所有的困惑基本都出在这几个词的边界上。
DeepSeek Harness 概念一:插件是代码扩展包,与 skill、模型、MCP 各在不同层
插件是代码扩展包,skill 是给模型的可加载 Markdown 指令集,模型是推理能力本身,MCP 服务是外部工具来源——四者分处不同层(来源)。 用一张表把分工钉住:
| 层 | 是什么 | 怎么管理 | 典型疑问 |
|---|---|---|---|
| 插件(plugin) | 代码扩展包,挂载后把能力接进运行时 | 安装 / 卸载 | 我想加个能力,该装什么? |
| skill | 可加载的 Markdown 指令集 | 放进根目录被扫描发现 | 为什么 dsh plugin add 装不进 skill? |
| 模型 | 推理能力,配置在 settings.yaml | 配置提供方与模型 | 能不能收图片取决于谁? |
| MCP 服务 | 外部工具来源,经 mcp-client 以 stdio 或 Streamable HTTP 接入 | 写配置声明服务 | MCP 和插件是一回事吗? |
按这张表判断:
- 想知道「加能力」该走哪条路 — 加代码能力走插件,教模型怎么做走 skill,换推理能力改模型配置,接外部工具配 MCP 服务。预期:四条路各有各的入口,不会互相替代。
- 想确认插件为什么是唯一「可安装」的形态 — 只有插件以安装与卸载为单位管理,其余三者都是配置或文件。预期:在「已安装列表」里看到的每一项都是插件。
想先看插件本身是什么,读《DSH plugin 是什么》;想一次看全生态,读《插件生态一览》。
DeepSeek Harness 概念二:组合包是插件的预置组合
组合包(bundle)是插件的预置组合,列在 profile 的 dsh.profile.bundles 里,会先从 dsh 安装目录解析、再从该 profile 的 node_modules 解析(来源)。 三件事认清它:
- 它是「一包多个插件」的打包方式 — 官方组合包覆盖不同形态的运行栈,例如基础组合与 Web 应用组合。预期:你不用逐个装插件,起一个 profile 就已经有一批基础能力。
- 解析顺序是固定的 — 先 dsh 安装目录,再 profile 自己的
node_modules。预期:这也解释了为什么树外插件装进 profile 就能被解析到。 - 它由官方维护 — 列入
bundles的组合包是默认组合,不属于「你装的东西」。预期:排查「这个能力哪来的」时,先看组合包再看自己装的插件。
DeepSeek Harness 概念三:profile 是叠出来的运行栈
profile 不是「一堆配置」,而是一个叠出来的运行栈:组合包 patch → 该 profile 的 cordis.patch.yml → home 级 patch → --patch 覆盖层,越靠后越靠外(来源)。 三条推论:
- 每个 profile 有独立的插件清单与
node_modules— 所以在web里装的插件不会出现在headless里。预期:两个 profile 各装各的,互不干扰。 - 部分 profile 是自动初始化的 —
web、headless、sdk、sdk-minimal、acp首次使用时从随附模板自动初始化。预期:其他名字的 profile 必须通过dsh plugin创建。 - 同一个插件在不同 profile 里可以表现不同 — 因为各自的 patch 层与清单不同。预期:插件行为对不上预期时,先确认自己在哪个 profile 里。
profile 的目录构成与配置文件位置,见《dsh 配置文件在哪》。
DeepSeek Harness 概念四、五:插件市场与 dsh plugin 命令殊途同归
插件市场负责发现与安装,dsh plugin --profile <name> <pnpm args> 则是在该 profile 目录里把参数转发给 pnpm——两条路落到同一个 node_modules(来源)。 对照着用:
- 想「先看看有什么」 — 走插件市场的搜索与分类。预期:能看到描述、版本与 Star,比在命令行里猜包名省事。
- 想「我知道装什么,快点装」 — 走
dsh plugin --profile <name> add <目标>。预期:命令在指定 profile 里执行,装完在已安装列表里同样能看到。 - 想「确认装到哪个 profile 了」 — 看命令里的
--profile,或看市场界面当前 profile 的已安装列表。预期:两处对得上,就不会出现「装完找不到」。 - 记住三句话 — 插件是代码包、skill 是指令;组合包和 patch 决定「这个 profile 里有什么」;市场和命令只是两条路。预期:这三句能覆盖新手绝大多数困惑。

插件市场是发现与安装插件的图形化入口,DSH Plugin Hub 把搜索、分类、版本与更新都收在一页里;命令行的用法与参数见《dsh plugin 命令指南》。
DeepSeek Harness 装插件前的注意事项与局限
- 别把 skill 当插件装:
dsh plugin add只装插件;skill 靠放进根目录被扫描发现,两者不通用。 - 先确认 profile:插件的安装位置、清单与 patch 层都绑定在具体 profile 上,装错 profile 会表现为「装完没反应」。
- 组合包不是你的插件:
bundles里的组合包由官方维护,排查能力来源时别把它和自己装的插件混在一起。 - 命名要小心:生态里插件名、包名与仓库名各有规范,认错名字会装到另一个东西,先看《命名与生态》。
- 市场和命令同源:两条路改的是同一份依赖清单,用哪条都不会「装两遍」。
概念理清之后,实际动手就是两件事:在市场里挑插件、在已安装列表里管理它。DSH Plugin Hub 把这两件事收在一个界面里。
来源:dsh CLI README(官方仓库)、skill 子系统参考(官方文档)、dshplugin/dsh-plugin-hub
常见问题
DeepSeek Harness 的 plugin 是代码扩展包,通过挂载把自己的能力接进运行时;skill 是给模型的可加载 Markdown 指令集,模型是推理能力本身,MCP 服务是外部工具来源。四者分处不同层,插件是唯一以「安装/卸载」为单位管理的那个。
DeepSeek Harness 的组合包是插件的预置组合:profile 里 dsh.profile.bundles 列出的组合包会先从 dsh 安装目录解析(如 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app),再从该 profile 的 node_modules 解析。它们是官方给好的默认组合,日常不需要你手动维护。
DeepSeek Harness 的 profile 是叠出来的运行栈:以各组合包自己的 patch 为起点,再叠上该 profile 的 cordis.patch.yml、home 级 patch 与 --patch 覆盖层。同一插件在不同 profile 里表现不同,正是因为各自的 patch 层与插件清单不一样。
DeepSeek Harness 里两条路殊途同归:插件市场是图形化入口,负责发现与安装;dsh plugin --profile <name> <pnpm args> 则是在该 profile 目录里把参数转发给 pnpm。它们落到同一个 profile 的 node_modules,所以装完在已安装列表里都能看到。
DeepSeek Harness 装插件前记住三句就够:插件是代码包、skill 是指令;组合包和 patch 决定「这个 profile 里有什么」;市场和命令只是两条路。新手最容易绕晕的地方是把 skill 当成插件去装,或者在错误的 profile 里找刚装好的插件。
相关术语
- 插件(plugin)
- 插件是 DeepSeek Harness 里的一份代码扩展包,通过挂载把自己的能力接进运行时,也是唯一以安装与卸载为单位管理的能力形态。它与指令集形态的 skill、作为推理能力的模型、作为外部工具来源的 MCP 服务分处不同层。— dsh CLI README
- 组合包(bundle)
- 组合包是 DeepSeek Harness 中插件的预置组合,列在 profile 的 dsh.profile.bundles 里,会先从 dsh 安装目录解析、再从该 profile 的 node_modules 解析。它决定一个 profile 默认带哪些能力,日常无需手动维护。— dsh CLI README
- profile
- profile 是 DeepSeek Harness 的运行栈,由组合包 patch 与用户自己的覆盖层叠加而成,拥有独立的 package.json、cordis.patch.yml 与 node_modules。web、headless、sdk 等 profile 首次使用时从随附模板自动初始化,其他 profile 必须通过 dsh plugin 创建。— dsh CLI README
- dsh plugin --profile <name>
- dsh plugin --profile <name> 是 DeepSeek Harness 的插件管理命令形式,作用是在指定 profile 的目录里把后续参数转发给 pnpm。它与插件市场指向同一批产物,只是把图形操作换成了命令行。— dsh CLI README
来源
- dsh CLI README· deepseek-ai
- DeepSeek Harness 官方文档 - skill 子系统参考· deepseek-ai
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub