给 dsh 装技能:12 步截图安装实录
跟着 eogee 教程实录逐帧走:认清目录、复制文件夹、调用一次,技能就装好了。
最近更新: 2026-10-06

在教程或仓库里看中了一个 skill,想装进 DeepSeek Harness(dsh)?好消息是:跟插件不同,skill 的安装没有任何需要你信任的安装命令——它就是一个文件夹,复制到位就算装好。本页跟着 eogee.com 教程团队的屏幕实录逐帧走一遍:装前看什么、项目级和全局级的完整命令、文件夹该落在哪、以及怎么验证技能真的加载了。
本页讲的是「安装别人写好的 skill」。想从零亲手做第一个 skill,请搭配阅读《技能安装实操指南》姊妹篇——那篇从 mkdir 讲到跑通验证,两篇配合着看正好。 技能安装实操指南
结论速览
- ▸安装就是复制一个文件夹:项目级 .dsh/skills/ 只对当前工作区生效,全局 ~/.dsh/skills/ 所有项目共享。
- ▸SKILL.md 是入口——frontmatter 里的 name、description 和调用开关决定这个技能怎么触发。
- ▸用 /skill-name 验证:dsh 会回复技能已加载;改完文件下次调用自动生效,不用重启。
- ▸每个项目保留 3-5 个核心技能即可——技能越多,Agent 自动匹配的开销越大。
一步步装好一个 dsh 技能
认清你要装的东西
- 1
认清你要装的东西
在 dsh 里,skill(技能)是一组预定义的指令模板,会话启动时注入到模型的系统提示中,作为行为指令的一部分。eogee 教程附带 7 个脱敏示例技能——mermaid2img、read-paper、tutorial-reviewer、video-cover、video-upload、ppt-master、impeccable——打包成一个压缩包分发,你要装进 dsh 的东西就是这个形态。

教程附带 7 个脱敏示例——你要装的东西长这样。去视频看 1:40 - 2
一个 skill 就是一个文件夹
每个技能住在技能目录下的一个文件夹里。SKILL.md 是唯一必需的文件(指令入口),references/(模板、示例)和 scripts/(辅助脚本)都是可选的。文件夹名就是技能名:之后你用 /my-skill 调用它,这个语法在 dsh、Claude Code、Codex 三家完全一致。

一个文件夹里有 SKILL.md,它就能装。去视频看 2:20 - 3
先读一遍 SKILL.md 的 frontmatter
frontmatter 是 SKILL.md 顶部 --- 分隔的 YAML 块。name 和 description 必填;disable-model-invocation、user-invocable、allowed-tools、context: fork、agent 这些开关决定谁能触发它、在哪里运行。复制之前先把这块读一遍,你就清楚这个技能会对你的会话做什么。

复制之前先读开关——它们决定谁能触发这个技能。去视频看 2:50 - 4
选项目级还是全局级
文件夹放哪决定了作用范围。项目级技能放在 <项目根目录>/.dsh/skills/,只对当前工作区生效,并随项目一起做版本控制;全局技能放在 ~/.dsh/skills/——~/.dsh 就是 dsh 的用户主目录(DSH_HOME),技能在这里以「一切皆插件」的方式加载。Claude Code(.claude/skills)和 Codex(.agents/skills)也是同样的分法。

项目文件夹还是主目录——复制之前要做的唯一决定就是这一行。去视频看 3:30
动手安装:命令、实例与迁移工具
- 5
跑那两条安装命令
安装就是纯文件复制:先建技能目录,再把技能文件夹拷进去。项目级这一对只影响当前工作区;全局级这一对写入用户主目录,所有工作区共用。教程用它的 video-cover 示例把两种都演示了一遍。
$mkdir -p .dsh/skills$cp -r skills/video-cover .dsh/skills/$mkdir -p ~/.dsh/skills$cp -r skills/video-cover ~/.dsh/skills/
同一个文件夹,两个去处:只在本工作区,还是全机共享。去视频看 4:40 - 6
实例:装一个 mermaid2img
真实技能的装法一模一样。mermaid2img 把文档里的 Mermaid 代码块渲染成 PNG 图片;它的文件夹里除了 SKILL.md 还有一个 scripts/ 目录放渲染脚本。复制完成后用 /mermaid2img 加 .md 文件调用——教程提醒它依赖本机 Chrome,通过 assets/puppeteer.json 配置路径。
$mkdir -p .dsh/skills$cp -r skills/mermaid2img .dsh/skills/
真实案例:两行命令装一个 Mermaid 转 PNG 工具。去视频看 7:40 - 7
实例:video-cover 与对话式调用
video-cover 根据封面文案生成 1920×1080 横版和 1440×1080 竖版视频封面。安装同样是那两行,之后的调用全程在对话里:把 .md 文档拖进对话框附上文案,或者直接输入 /video-cover 加标题文字——复制完之后不需要再碰终端。

复制完之后,调用就是在聊天。去视频看 8:20 - 8
去目录里确认文件夹到位
装了几个之后,在资源管理器里打开技能目录看一眼。这个项目的 .dsh/skills 下一个技能一个文件夹——git-commit、mermaid2img、video-cover、video-upload 等等。只要新技能的文件夹在这里、里面有 SKILL.md,安装的「文件部分」就完成了。

一个技能一个文件夹——用起来的 dsh 项目就是这样。去视频看 3:55 - 9
批量路线:a4api 迁移工具
教程作者还提供了一个桌面小工具 a4api(v0.4.0 起改名 a4agent),给同时使用 Claude Code、Codex、dsh 三家的人批量搬技能。它的迁移弹窗把一个技能(图中是 git-commit)复制到你勾选的位置——每家都可以选项目级或全局,原件保留不动。注意这是作者的第三方工具,不是 dsh 自带功能。

跨端用户可以让工具代劳——dsh 就是其中一个勾选项。去视频看 16:30
验证、控制与日常维护
- 10
首次调用:确认已加载
在对话里直接输入 /skill-name——教程用的是 /code-review 审查 src/main.py 的代码。dsh 会回复技能已加载、指令已注入当前会话,然后 Agent 按技能定义的步骤执行。当任务与 frontmatter 的 description 匹配时,技能也会被自动调用。

这一行回复就是装好的证明。去视频看 5:05 - 11
控制谁能触发它
两个 frontmatter 开关组成调用矩阵。默认值(false / true)是通用技能,双方都能触发。disable-model-invocation: true 只允许你手动调用——适合部署、发消息这类有副作用的操作。user-invocable: false 让它变成后台知识,比如编码规范,Agent 自动应用。两个都设 false 则永远不会触发。三家 Agent 的调用语法完全一致。

四种组合四种行为——想清楚再选。去视频看 4:50 - 12
日常维护:改完即生效
改了技能文件?不需要重启——每次调用都会重新加载,再调一次 /skill-name 就是新指令。每个项目保持大约 3-5 个核心技能,自动匹配的开销才小;想跨项目共用,要么装全局,要么按教程推荐的在每个项目里分别注册,方便版本控制。

不用重启、数量克制:维护规则一屏看完。去视频看 15:40
dsh skill 安装常见问题
复制文件夹之前,大家真正会问的几个问题。
dsh 的 skill 到底怎么装?
把技能文件夹复制进技能目录即可。项目级:mkdir -p .dsh/skills,然后 cp -r skills/<名称> .dsh/skills/;全局级:mkdir -p ~/.dsh/skills,然后 cp -r skills/<名称> ~/.dsh/skills/。没有单独的安装命令——文件夹到位就是装好了。
dsh 的 skill 装在哪个目录?
项目级在 <项目根目录>/.dsh/skills/,一个技能一个文件夹;全局级在 ~/.dsh/skills/——~/.dsh 是 dsh 的用户主目录(DSH_HOME),这里的技能以「一切皆插件」方式加载。对照记忆:Claude Code 用 ~/.claude/skills/,Codex 用 ~/.agents/skills/;SKILL.md 格式相同,文件夹在三家之间可以直接复制。
项目级和全局级该选哪个?
技能只属于某一个代码库就装项目级:只影响当前工作区,还会随项目一起做版本控制,团队共享最省心。希望这台机器上所有工作区都能用就装全局——个人高频技能的正确归宿。
装完没反应怎么办?
先确认文件夹真的在 .dsh/skills(或 ~/.dsh/skills)里、里面有 SKILL.md。然后直接手动调用:对话里输入 /skill-name,dsh 会告诉你技能已加载。技能每次调用都会重新加载,重启从来不是解决方案;如果你期望的是自动触发,检查 frontmatter 的 description 是否与任务匹配、以及有没有把 disable-model-invocation 设成 true。
能不让它自动触发吗?
可以,靠 frontmatter 控制。disable-model-invocation: true 让技能只能由你手动调用——适合部署、发消息这类有副作用的操作;user-invocable: false 让它变成 Agent 自动应用的后台知识,比如编码规范;两个都设 false,这个技能就永远不会触发。
skill 装多少个合适?
没有硬性上限,但教程建议每个项目保持 3-5 个核心技能——技能越多,Agent 自动匹配时的选择开销越大。跨项目共用的技能,宁可装一份全局,也不要在每个仓库里散落副本。
相关指南
技能生命周期的其余部分:从选技能到自己写。
来源与署名
本页全部 12 帧来自上面这唯一的屏幕实录,已裁掉浏览器边框和任务栏;实录中的 API 中转站走查段落整体未采用。命令与 FAQ 文字已于 2026-10-06 与图文原稿核对,仓库数据经 GitHub API 当日实查。
