本文目录+
DeepSeek Harness Skill 和插件有什么区别
Skill 是用 Markdown 写的操作说明,Agent 读了以后照着做;插件是会运行的代码,能加工具、改界面、接模型。想教 Agent 一套做事的方法,用 Skill;想给 DeepSeek Harness 加新能力,用插件。
| 对比 | Skill | 插件 |
|---|---|---|
| 是什么 | 一个 SKILL.md 文件,可以附带脚本和参考资料 | npm 包或 Git 仓库里的代码 |
| 怎么装 | 把文件夹放进 Skill 目录 | dsh plugin --profile web add <包名> |
| 何时生效 | 自动发现,不用重启 | 重启 dsh web 后生效 |
| 作用范围 | 按目录:单个项目或全部项目 | 按 Profile:web、desktop 等 |
| 风险 | 本身是文字,但 Agent 会运行它附带的脚本 | 和 DSH 同等权限运行 |
DeepSeek Harness Skill 放在哪个目录(6 个目录和优先级)
DeepSeek Harness 按下面的顺序扫描 Skill 目录。两个目录里有同名 Skill 时,排在前面的生效。
- 项目根是从当前目录往上找到的第一个包含
.git的目录;找不到.git时就是当前目录。 - 每个 Skill 是一个文件夹
<名字>/SKILL.md,也可以是单个文件<名字>.md。 - 只扫一层:
skills/分类/名字/SKILL.md这种多套一层的结构不会被发现。 ~/.dsh/skills下的.system子目录会被跳过。
| 优先级 | 目录 | 作用范围 |
|---|---|---|
| 1 | <项目根>/.dsh/skills | 当前项目,只给 DSH 用 |
| 2 | <项目根>/.agents/skills | 当前项目,多个 Agent 工具共用 |
| 3 | 配置里的 customSkillDirs | 你额外指定的目录 |
| 4 | ~/.dsh/skills | 你的所有项目(设置了 DSH_HOME 时是 $DSH_HOME/skills) |
| 5 | ~/.agents/skills | 你的所有项目,多个 Agent 工具共用(可用 DSH_AGENTS_HOME 修改) |
| 6 | 随包 Skill | 随你使用的 DSH 版本一起提供 |
SKILL.md 怎么写
名字只能用小写字母、数字和连字符,比如 code-review,文件夹名和 name 字段保持一致。description 写清什么时候用,Agent 靠它判断要不要加载这个 Skill。
---
name: code-review
description: 审查当前改动,按严重程度列出问题。用户要求审查代码时使用。
---
# 代码审查
1. 运行 git diff 查看改动。
2. 先查正确性,再看命名和测试。
3. 每个问题写清文件、行号和修改建议。| frontmatter 字段 | 作用 |
|---|---|
name | Skill 的名字,和文件夹名一致 |
description | 什么时候用。调用之前 Agent 只看到名字和描述,最多显示 500 个字符 |
disable-model-invocation: true | 只能你用 /名字 调用,Agent 不会自己加载 |
user-invocable: false | 不出现在 / 菜单里,只让 Agent 自动加载 |
怎么调用 Skill
- 手动:在输入框打
/,从菜单里选;或者直接输入/名字加上你的要求,比如/code-review 只看 src 目录。 - 自动:每次会话 Agent 都能看到可以自动加载的 Skill 的名字和描述,觉得合适就会自己加载。
- 手动调用时,Skill 正文会直接加进这一轮对话,Agent 不用再去加载。
- Skill 和内置命令重名时,
/名字会执行命令,Skill 不会被调用,给 Skill 改个名字就行。
Skill 装了不显示怎么办
不用重启 DSH:Skill 目录会被自动监听,新增、修改、删除都会被发现。不显示时按这个顺序检查:
- 1名字是否只含小写字母、数字和连字符,
Code_Review这种名字不会被识别。 - 2结构是否是
skills/<名字>/SKILL.md,中间没有多套一层文件夹。 - 3项目级 Skill 是否放在了项目根(包含
.git的那一层)下面。 - 4优先级更高的目录里有没有同名 Skill,把你的覆盖了。
- 5已经打开的会话会沿用开始时的 Skill 列表,新建一个会话再打
/看看。 - 6frontmatter 里是否写了
user-invocable: false,这种 Skill 不会出现在/菜单里。
用插件安装 Skill 包、管理 Skill
Skill 一个个复制很麻烦,可以装插件:Skill 包装一个插件就带来一批 Skill;管理插件能在网页里浏览、启用、停用 Skill。星数实时读取。
archify
88.9kGitHub starsDSH Profile: web
把想法、方案或整个代码库画成可交互的图表,是一个 Agent Skill。
看安全信号和兼容性sandbase-skills
202GitHub starsDSH Profile: web
一大批开源 Skill,覆盖调研、舆情分析和营销。
dsh plugin --profile web add github:sandbaseai/sandbase-skillsdsh-mattpocock-skills-deck
244GitHub starsDSH Profile: web
安装即带上 mattpocock/skills 的工程和效率技能,不用手动复制。
dsh plugin --profile web add dsh-mattpocock-skills-deckdsh-reverse-skill
276GitHub stars整套逆向工程 Skill,打包成 DSH 插件。
看安全信号和兼容性dsh-skills-manager
275GitHub starsDSH Profile: web
在 DeepSeek Harness 里统一加载本机已有的 Agent Skill,并安全管理。
dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=https://registry.npmjs.org/dsh-skill-mcp-panel
234GitHub starsDSH Profile: web
在 Web 界面里管理 Skill 和 MCP 服务。
dsh plugin --profile web add https://github.com/Fishquito7/dsh-skill-mcp-panel/releases/latest/download/dsh-skill-mcp-panel.tgzdsh-skill-hub
34GitHub starsDSH Profile: web
技能中心:浏览、搜索完整的本地技能目录,启用、停用、查看正文、新建技能。
dsh plugin --profile web add dsh-skill-hubdsh-skill-picker
35GitHub starsDSH Profile: web
在输入框旁点选技能,自动插入 /名字。
dsh plugin --profile web add "git+ssh://[email protected]:a735624258/dsh-skill-picker.git"常见问题
能用 Claude Code 的 Skill 吗?
+
能,SKILL.md 格式相同,把文件夹复制到 ~/.agents/skills 或 ~/.dsh/skills 即可。正文里用到 Claude Code 专有命令的地方,要改成 DSH 里对应的做法。
怎么删除 Skill?
+
删掉对应的文件夹就行,不用重启,新建一个会话就能看到变化。用插件装的 Skill 包,用 dsh plugin --profile web remove <包名> 卸载插件。
项目里的 Skill 会提交到 Git 吗?
+
.dsh/skills 和 .agents/skills 在项目目录里,默认会跟着提交,团队成员拉下代码就能用同一套 Skill。不想提交就加进 .gitignore。
Skill 会让对话更费 token 吗?
+
平时 Agent 只看到 Skill 的名字和描述;调用时才加载正文,加载一次就多一份正文长度的 token。
第三方 Skill 安全吗?
+
Skill 本身是文字,但 Agent 会照着它做事,包括运行它附带的脚本。别人写的 Skill,先读一遍 SKILL.md 和脚本再放进目录。
一手资料
本文以 DeepSeek AI 官方 Harness 仓库与当前开发文档为主要依据;由于 Harness 仍处于 Developer Preview,具体命令与契约以后续官方版本为准。