DeepSeek Harness 插件、技能与 MCP 怎么分?DSH plugin 三者概念辨析
DeepSeek Harness 的插件、技能与 MCP 是三种不同粒度的扩展,不是同一层的竞争关系:插件是可装卸的扩展单元,技能是可被模型按需加载的指令,MCP 是外部工具与数据源的接入协议(来源)。 这篇只做横向辨析,按三个方向讲:三者各是什么、边界与重叠怎么划、以及选型口诀与入口在哪。
概览:一张表先分清 DSH plugin、技能与 MCP
记一条主线就不会混:插件是「装进来的东西」,技能是「写给模型的说明」,MCP 是「连出去的口子」。 三者定位对照:
| 维度 | DSH plugin(插件) | skill(技能) | MCP |
|---|---|---|---|
| 本质 | 可装卸的扩展单元 | 可被按需加载的指令 | 外部工具与数据源的接入协议 |
| 形态 | 一个包,带依赖与设置 | 一份可复用的操作说明 | 一个可连接的服务 |
| 谁来消费 | 框架(注册工具 / 命令) | 模型(按需加载调用) | 模型(调用暴露出的工具) |
| 是否新增进程 | 不一定 | 不新增 | 通常新增(本地拉起或连远程) |
| 典型入口 | 插件市场与设置页 | 插件设置或工作区目录 | 插件里的 MCP 服务条目 |
理解了这张表,后面两个方向——「边界在哪」「该怎么选」——都能顺着推出。
三者各是什么:DSH plugin 的载体、技能的说明、MCP 的连接
先分别给三者一个最贴切的定位,再谈重叠。
- DSH plugin = 可装卸的扩展单元。 它在
apply里注册工具与命令、声明自己的设置命名空间、带自己的依赖,由dsh plugin装进某个 profile;装完是可卸载、可更新、可归属的(来源)。预期:在已安装列表里出现一条可管理的记录。插件里有什么,见《一个 dsh plugin 里有什么》。 - skill = 可被模型按需加载的能力说明。 它的关键事实是「可选加载的指令,而非会话事件」,所以类型定义不放在 core 里;各提供方把本地或随包的技能注册进
ctx.skills,面向模型的 skill 工具按工作目录加载调用(来源)。预期:模型在需要时取用这份说明,而不是常驻上下文。用法细节见《DeepSeek Harness Skills 怎么用》。 - MCP = 外部工具与数据源的协议接入。 DeepSeek Harness 通过客户端包
@deepseek-ai/dsh-mcp-client消费 MCP 服务:本地用transport: stdio拉起命令,远程用streamable-http连地址,服务端工具统一暴露成mcp__<serverName>__<tool>(来源)。预期:工具列表里出现带mcp__前缀的工具。配置法见《DeepSeek Harness 怎么接记忆插件》。
边界与重叠:什么需求该做成 DSH plugin、技能还是 MCP
分不清的时候,按「要不要真的执行 / 连东西」这一根轴切,边界立刻清楚。
- 要注册工具或命令、要复用、要能被别人安装 → 做成 DSH plugin。它是唯一有分发形态的一类:有包名、有版本、能被装卸。
- 只是想让模型记住「遇到这类活儿照这个来」 → 写成 skill。它不给模型新增进程,轻、可随工作区走,适合沉淀操作规范与团队约定。
- 已经有现成外部服务、数据库或 API 要接 → 走 MCP。别把已有服务重写成插件,直接按协议接进来更省事,服务端工具会自动挂到模型侧。
三者并不互斥,真实场景里是「插件作壳、技能与 MCP 作内容」:一个插件可以在 apply 里注册工具,同时提供随包 skill,也可以作为 MCP 客户端去接一个服务。也就是说,你在市场里装的那个东西是插件;它内部可能给你带来技能,也可能替你连上某个 MCP 服务。反过来不成立——技能与 MCP 服务本身不是可独立安装的分发单元(技能随提供方、MCP 随客户端配置而来),这正是它们三者层级不同的根因。
怎么选 DSH plugin 还是技能或 MCP:一句口诀与各自入口
口诀:加能力先找插件,加说明写技能,接外部走 MCP。 落地对照:
- 想加可复用的工具 / 命令 → 找插件。到 DSH Plugin Hub 搜同类实现,能装上就直接用,别再自己写。预期:市场里能搜到条目并一键安装。
- 想沉淀「这类活儿怎么做」 → 写技能。把操作步骤与约定写成一份说明,交给模型按需加载,避免每次都重述。预期:需要时模型自己取用,不占常驻上下文。
- 想接外部服务 / 数据源 → 配 MCP。优先用官方或社区现成服务,在插件配置里加条目即可。预期:工具列表出现
mcp__前缀工具。

三者的管理入口其实收在同一处:插件在插件市场与设置页里装卸与配置,技能多在插件设置或工作区目录里查看,MCP 服务多以条目形式出现在插件配置里——都归在插件体系下,不必分头找三套界面。
用 DSH plugin、技能与 MCP 时的注意事项
- 别把 MCP 当插件用:MCP 是协议接入,不是分发单元;你要装的是承载它的客户端插件,而不是「装一个 MCP」。
- 技能不等于插件:技能是随提供方或工作区而来的指令,不能独立安装与卸载,别指望在市场里单独搜到它。
- 核心词别写混:中文语境里统一说
DSH plugin或「DeepSeek Harness 插件」,避免把DSH单拎出来当名词。 - 权限要看清:MCP 会拉起子进程或连远程地址,装之前先确认它的命令与网络边界,别放行来路不明的服务。
- 先问需求再选型:能力、说明、连接三类需求分属三者,选错层级会让后续维护成本成倍增加。
来源:DeepSeek Harness 官方文档 - 你的第一个插件、DeepSeek Harness 官方文档 - Skills、DeepSeek Harness 官方文档 - MCP 记忆
常见问题
三者不是同一层的竞争关系,而是三种不同粒度的扩展:插件是可装卸的扩展单元,技能是可被模型按需加载的指令,MCP 是外部工具与数据源的接入协议。 插件是载体,技能与 MCP 都可以被装进插件;判断时先问「我想加的是能力、说明,还是外部连接」,答案自然分到三类。
看它要不要执行代码、要不要接外部进程:可复用、要注册工具或命令的做成插件;只是给模型一份可复用的操作说明的写成技能;已经有现成外部服务或数据源要接的走 MCP。 三者常组合使用,插件里可以同时注册工具、提供技能、并作为 MCP 客户端接入服务。
三者的统一入口都是 DSH Plugin Hub(插件市场):在设置里能找到已安装插件与配置项,市场里能搜插件、看同类实现并安装。 技能一般在插件设置或工作区目录里查看,MCP 服务则多在插件配置里以条目形式出现,都归在插件体系下统一管理。
要「少动环境、纯文本可控」时优先技能,要「真正调用外部程序或服务」时才上 MCP。 技能是可被按需加载的指令,不给模型新增进程,轻、可随工作区分发;MCP 需要拉起子进程或连远程服务,带来依赖与权限成本,是重连接方案。
相关术语
- plugin(插件)
- plugin 是 DeepSeek Harness 的可装卸扩展单元:在 apply 里注册工具与命令、声明设置命名空间、带自己的依赖,由 dsh plugin 安装进某个 profile,是承载能力的最小分发单位。— https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/index.md
- skill(技能)
- skill 是 DeepSeek Harness 里可被模型按需加载的指令,而非会话事件:各提供方把本地或随包的技能注册进 ctx.skills,面向模型的 skill 工具按工作目录加载调用。— https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/skills
- MCP(Model Context Protocol)
- MCP 是把外部工具与数据源以统一协议接入模型的开放标准,DeepSeek Harness 通过客户端包 dsh-mcp-client 消费 MCP 服务,并把服务端工具暴露成 mcp__<serverName>__<tool>。— https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/guide/mcp-memory.zh.md
- profile(插件与配置栈)
- profile 是 DeepSeek Harness 里一套有序的插件与配置栈,插件按 profile 归属安装与生效,网页版对应 web profile,桌面端独占自己的 profile。— https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/index.md
来源
- DeepSeek Harness 官方文档 - 你的第一个插件· deepseek-ai
- DeepSeek Harness 官方文档 - Skills· deepseek-harness
- DeepSeek Harness 官方文档 - MCP 记忆· deepseek-ai