DeepSeek Harness 插件和技能的区别:功能模块与执行指令的全面对比
2026-09-01 11:31:54阅读 1
DeepSeek Harness 是 DeepSeek 开源的 Agent 运行框架,核心设计是“一切皆插件”。关于插件和技能的区别,简单来说:插件是功能模块,是 Harness 的“乐高积木”;技能是可复用的指令文档,是给 Agent 看的“操作手册”。两者的层级关系是:插件可以包含技能,技能是插件提供的一种具体能力。
一、插件:Harness 的“乐高积木”
DeepSeek Harness 的核心理念是“一切皆插件”(Everything is a Plugin)。构成 Agent 的几乎所有核心组件都是可以自由拆卸和替换的插件:
- 模型适配器:接入不同大模型 API 的适配器
- 工具:Agent 可调用的各种工具
- 技能:结构化的指令文档
- 会话管理:对话状态和上下文的存储
- 沙箱环境:代码执行的隔离环境
- 存储:数据持久化方式
- 主循环(Loop) :驱动 Agent 运转的核心逻辑
- 用户界面(UI) :交互界面
插件通过 Cordis 框架 加载,安装方式为 dsh plugin add 插件名。插件的影响范围是全局性的,可以改变 Harness 的底层行为。例如,安装一个主题插件可以改变 UI 外观,安装一个 Provider 插件可以接入新的模型 API。
二、技能:Agent 的“操作手册”
技能是插件提供的一种更轻量、更具体的能力。它的本质是一份结构化的指令文档,通常由一个 SKILL.md 文件定义,用自然语言写明技能的名称、描述以及 Agent 在调用时需要遵循的具体步骤和规则。
技能的特点:
- 无需编程:只需按规范写好 Markdown 文档即可
- 按需加载:Agent 判断需要时才会读取并遵循其中的指令
- 局部性:仅在执行特定任务时按需加载
例如,dsh-skill-format 插件会注册一个“代码格式化”技能,Agent 需要格式化代码时就会调用它。
三、两者的核心区别
| 对比维度 | 插件(Plugin) | 技能(Skill) |
|---|---|---|
| 核心概念 | 功能模块、扩展包 | 可复用的工作流指令 |
| 层级关系 | 更上层、更广义的扩展机制 | 插件的一部分,是插件提供的一种能力 |
| 技术实现 | 通过 Cordis 框架加载的代码模块 | 通过 Markdown 文件定义的指令集 |
| 安装方式 | dsh plugin add 命令 | 将 Skill 文件放在 .dsh/skills/ 目录 |
| 影响范围 | 全局性,可改变 Harness 底层行为 | 局部性,仅在执行特定任务时加载 |
| 是否需要编程 | 通常需要 | 不需要 |
| 类比 | VS Code 的插件/扩展 | VS Code 插件里的代码片段或任务配置 |
四、两者如何协同工作?
一个典型的场景是:
- 你安装了一个 GitHub 插件(Plugin),它赋予了 Harness 接入 GitHub 的能力
- 这个插件里包含了一个 “PR Review Skill” ,用自然语言告诉 Agent:“接到代码审查任务时,先读取 diff,再检查 bug,最后输出 review 结果”
- 当 Agent 收到“帮我审查这个 PR”的指令时,它会加载对应的 Skill,按照其中的步骤执行
简而言之:插件决定了 Harness“能做什么”,技能决定了它“怎么做”。
五、总结
- 插件:底层功能扩展,影响 Harness 全局行为,需通过命令安装
- 技能:上层指令文档,指导 Agent 具体执行步骤,放在指定目录即可
在日常使用中,Harness 的标准模式已预置了丰富的插件和技能,大多数情况下无需自己创建。只有当标准功能无法满足特定需求时,才需要考虑创建自定义插件或技能。



