dsh skill 安装教程:DeepSeek Harness 技能安装

从建目录到 trajectory 验证,7 步装好一个技能;不用重启、没有市场、不改任何清单文件。

最近更新: 2026-10-04

技能(Skill)是 DeepSeek Harness 里最轻量的扩展:一个 Markdown 文件,教会 Agent 一件可重复的事。装技能没有命令要找,也没有市场要信任——所谓安装,就是把 SKILL.md 放到 harness 会读的目录里。放对了,当前会话的下一条提示词就能用上,连重启都不用。

下面每张截图都来自真实录屏:一门 60 分钟深度课程的第 17 课现场创建 release-sort 技能,外加一期新手教程的内置技能画面。看完这页,你会亲手装好一个技能、亲眼确认 harness 发现了它,并证明它在新会话里照样生效。

七步装好一个 DeepSeek Harness 技能

  1. 1

    在项目里建技能目录

    DeepSeek Harness 从工作区根目录的 .dsh/skills 文件夹读技能,一个技能一个子文件夹。课程里建的是 release-sort——教 Agent 按日期排序发布记录的技能。一条 mkdir 就是全部安装动作:不下载任何东西、不改清单、不跑构建。Codex 风格的 .agents/skills 目录同样被识别;放在用户级 .dsh 目录下的技能则对所有工作区生效。

    $mkdir -p .dsh/skills/release-sort
    harbor-log 项目终端确认 .dsh 目录不存在后,执行 mkdir -p .dsh/skills/release-sort 并开始书写带 MUST USE 描述的 SKILL.md
    装技能从 mkdir 开始:.dsh/skills 下建一个文件夹,仅此而已。看视频 31:56 处
  2. 2

    写 SKILL.md,或者让 Agent 替你写

    一个技能就是一个 Markdown 文件。frontmatter 里写 name 和 description,描述就是触发条件——课程里写的是 MUST USE when the user asks why harbor-log latest is wrong,Agent 一看就知道什么时候该用它。正文用大白话写步骤、规则和事实(本例:01-alpha.md 的日期是 2026-08-19,99-zzz.md 是 2024-01-01,所以按日期排序而非文件名)。直接让 DeepSeek Harness 起草也完全可以;从 GitHub 拷来的、从 Claude Code 或 Codex 迁移来的技能,放进同一个文件夹即可。

    终端用 sed 回显写好的 .dsh/skills/release-sort/SKILL.md:frontmatter、两条 harbor-log 测试数据和按日期而非文件名排序的规则
    一个 Markdown 文件:上面是触发描述,下面是大白话规则。看视频 32:44 处
  3. 3

    发一条对得上的提示词,不用重启

    插件要重启 harness,技能不用。回到同一个正在运行的会话,发一条命中技能描述的提示词。消息发出的瞬间,DeepSeek Harness 注入两条上下文:dsh 系统提示词,以及已经包含 release-sort 的技能目录(skill-catalog)。这次目录注入就是文件被发现的确凿信号——模型还没开口,事情已经成了。

    DeepSeek Harness 会话在同一条提示词发出后立即出现两条 Context injection:@deepseek-ai/dsh-system-prompt 与 skill-catalog
    提示词一发出去,harness 就悄悄注入技能目录——不用重启。看视频 32:24 处
  4. 4

    在 trajectory 里确认技能真的加载了

    打开 Trajectory 标签页看回执:先能看到 available_skills 提醒里列着你的技能,然后是 assistant 说先加载相关技能,接着一条真正的 skill 工具调用(name: release-sort),技能内容从 .dsh/skills/release-sort 读入。如果目录里根本没有你的技能,那就是路径或 frontmatter 写错了——trajectory 会告诉你错在哪。

    DeepSeek Harness trajectory 视图:system-reminder 列出 available_skills,skill 工具调用加载 release-sort,载荷显示从 .dsh/skills/release-sort 读取
    trajectory 就是回执:available_skills、skill 调用、加载内容一目了然。看视频 32:36 处
  5. 5

    每个新会话都会自动带上它

    技能是项目的行李:在同一个工作区开一个全新会话,把问题再问一遍,技能目录照样自动进入上下文。课程在新会话里原样重复了这个问题,得到同样的「日期优先于文件名」结论——证明技能随项目持久生效,不需要逐会话配置。想全局通用,就把技能放进用户级技能文件夹,所有工作区都带。

    harbor-log 工作区里的全新 DeepSeek Harness 会话,输入框里问 node index.mjs list --limit 1 为什么输出 Alpha 而不是 Zzz
    全新会话问同一个问题,没有任何针对技能的手工配置。看视频 40:24 处
    DeepSeek Harness 的回答解释 list --limit 1 输出 Alpha 是因为排序与截取都由 frontmatter 日期决定,与文件名无关
    新会话结论一致——技能跟着项目走。看视频 40:48 处
  6. 6

    你没装过的技能:出厂自带与插件搭载

    有两类技能不用你动手。出厂默认技能——怎么读写文件、怎么用 harness 工具、Cordis 插件开发指南——在每个会话里最后加载;插件也可以自带用法技能:插件加载时,它的技能描述会被一并注入,Agent 因此知道怎么驱动它。两者在 trajectory 里都能看到:技能目录把它们和你装的技能列在一起。

    DeepSeek Harness 创作模式 trajectory:available_skills 上下文列出 cordis-plugin-development,skill 工具调用将其加载
    自带技能的出现方式一模一样:进上下文、走 skill 调用。看视频 9:28 处
  7. 7

    建议不够用时,升级成插件

    技能只能建议——没有任何机制强制 Agent 照做。课程用四行总结收尾:技能是按名字加载的 SKILL.md 指令;工具是真正执行的代码;像 /plan 这样的命令不消耗额外模型轮次;插件则能强制——它的钩子可以在工具执行前直接拒绝,代价是住在仓库之外、需要重启才生效。如果漏一步就是事故,就把技能升级;我们的《插件 vs 技能》指南专门讲这个判断。

    终端用四条 echo 命令对比 dsh 概念:技能是 SKILL.md 指令,工具是 skill/read/bash 调用,命令如 /plan 不耗模型轮次,旁边是插件的拒绝钩子
    建议、执行、快捷指令、强制——选能真正兜底的最轻方案。看视频 32:54 处

技能路由:让 Harness 自己挑技能

上文装的都是你亲手选的技能。最新的一簇把方向反过来:由路由器读任务,自己决定加载哪个技能——或哪种推理档位。供给又新又厚:2026-09-27 实测,路由簇头牌仓库已近七千星。但它回答的前置问题,仍是本页那七步——总得有东西把文件放到 Harness 读得到的地方。

yjh051108/dsh-routing-suite(★6,997)

簇内头牌:注入器加任务感知路由器,按任务在 spec / react / weak 三个行为带之间切换。早期的 router-standard 仓库(★354)已并入该套件,认准单仓库安装——这也是「装前先看 README、别抄旧教程」的现成案例。

foryourhealth111-pixel/Vibe-Skills(★3,468)

面向 AI Agent 的智能技能路由与工作流编排,卖点可量化:README 自称在技能密集型工作负载上奖励提升 21 个百分点、token 省下约三成。routing-suite 路由推理档位,Vibe-Skills 路由哪个技能出手。

路由不等于安装

路由器决定哪个能力上场,但它装不出不存在的技能——流程仍然从本页走:建目录、放 SKILL.md、看着会话目录里出现它。「装哪些」的答案在我们最佳技能指南里——路由器该指向的就是那些精选。再划一条与模型切换的边界:技能路由管「加载什么」,思考级别(见切换模型一页)管「想多深」。

DeepSeek Harness 技能 FAQ

放下第一个 SKILL.md 之前,大家最常问的几件事。

DeepSeek Harness 的技能装在哪个目录?

项目技能放在工作区的 .dsh/skills/<名称>/SKILL.md;Codex 风格的 .agents/skills/<名称>/ 目录也能被识别。想全项目通用,就放进用户级 .dsh 目录下的技能文件夹。两个技能重名时,dsh 按优先级序号解决冲突——项目级目录优先于兼容目录。

加了技能之后要重启 DeepSeek Harness 吗?

不用。视频实录里,技能文件放进正在运行的会话所在项目后,下一条提示词就生效了——发送时技能目录会重新注入。重启是插件的事:插件接进了你的 profile,要下次启动才加载。

怎么确认技能真的生效了?

三道检查,从省事到确凿:在输入框敲一个斜杠,看技能目录里有没有它;发一条命中描述的提示词,看有没有 skill-catalog 上下文注入;打开 Trajectory,确认 skill 工具调用带着你的技能名。trajectory 还会显示解析出的基础目录,路径写错一眼就能看出来。

Claude Code 或 Codex 的旧技能能直接用吗?

通常可以。全局技能会被自动带入,项目里 .agents/skills 目录按兼容格式读取。如果格式差异较大,Agent 可能需要一句提示或一份转换后的副本——技能就是 Markdown 文件,改起来不费事。

技能市场在哪?可以自己写吗?

技能没有官方市场——这正是它轻的地方。找技能的三个路子:GitHub 上的技能仓库和 awesome 列表、直接让 harness 替你起草、或者迁移自己已有的 Codex/Claude Code 技能。自己写时,把 description 写成触发条件(MUST USE when the user asks for X),目录匹配看的就是它。

技能和插件到底差在哪?

一句话:技能给建议,插件做强制。技能是 Markdown 文件,Agent 通常照做但没人逼它;插件是装进 profile 的 Cordis 包,钩子能在工具执行前直接拒绝,还可以加工具、改审批策略,但要重启才生效。拿不准就问自己:漏一步是不是事故?是,就上插件。

有没有官方预装的技能?

有——dsh 自带 skill-filesystem 等内置技能,所以你什么都不装时部分能力就能用。你自己的 .dsh/skills 条目与它们并列,本页的安装步骤对两者完全一致:技能就是带 SKILL.md 的文件夹,放哪里都一样。在客户端的技能管理器里可以看到你的版本带了哪些内置技能。

相关指南

装好第一个技能之后,接下来去哪。

来源与致谢

截图来自两支公开教程:60 分钟深度课程的第 17 课(创建并使用本地项目技能),以及一期 15 分钟新手教程。每张图都可深链回源视频的对应时间点。

DSH Plugins 是独立的 DeepSeek Harness 插件市场,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。