前言¶
在 DeepSeek Harness(DSH)中,技能是控制模型行为、注入预设逻辑的重要手段。当技能数量增多、分布在多个目录、并在不同模式下启用或禁用时,手动管理会变得繁琐:容易遗漏、难以追踪使用频率,也难以统一更新。dsh-mode-skills 为这些问题提供了一套集中的管理入口。
这是什么¶
dsh-mode-skills 是一个为 DeepSeek Harness 设计的技能管理插件。它由 xiaohai-78 维护,开源协议为 MIT。插件在侧边栏添加「Skills」入口,与「Plugins」和「Automation tasks」并列,让你能查看所有技能、按模式开关、搜索与打标签、创建与编辑、导入与版本控制,并从 GitHub 或技能目录安装。
核心功能¶
侧边栏入口与概览¶
在侧边栏,Skills 位置在 Plugins 和 Automation tasks 下方,不在设置页。每个技能显示名称、来源(DSH 用户目录、共享目录、项目、模式内置、已安装包、GitHub 等)和描述。展开后可查看文件位置、使用说明以及该技能在每个模式中的状态。
按模式开关技能¶
插件为每个加载技能的模式提供开关列(最多显示四列;窗口较窄或模式较多时,行会显示启用该技能的模式数量)。单击即可在对应模式中开启或关闭技能;显示为短横线表示该模式不加载该技能。展开某一行后,可为每个模式设置状态:On、Manual、Model 或 Off。你也可以一次性在所有模式中开启或关闭技能,并提供撤销操作。
- On:技能在该模式下默认可用。
- Manual:模型看不到该技能,但你可以通过
/技能名手动启动。 - Model:模型能看到该技能,但不会出现在
/菜单中。 - Off:技能在该模式下被禁用。
对于不加载技能的模式(如 Minimal)或模式不支持的技能,状态无法设置,并会显示原因。
搜索、打标签与过滤¶
搜索框匹配技能名称、描述、显示名称、标签以及技能文件中的文本(命中文本会标注「Text match」)。你可以为技能设置显示名称(例如中文别名)和标签,并通过标签进行过滤。这些设置保存在插件自身的设置中,不修改技能文件本身。
项目技能¶
在「Project」部分,你可以选择一个项目文件夹(点击 Show 按钮时会检查并给出最近使用的选项),并查看该项目的 .dsh/skills 和 .agents/skills 中的技能。针对项目命名的技能开关会应用于所有同名项目,而会话仅在运行于该项目时才加载该技能。
从 GitHub 安装¶
通过「Import skills → GitHub」,可以输入仓库地址(github.com/owner/repo,或带分支和文件夹的完整地址,或简写 owner/repo),插件会下载公开归档并列出其中的技能。对于包含脚本的技能会给出警告。只有选择后才会安装。插件会记住提交信息,之后可通过「Check for updates」对比仓库当前版本与已安装技能的文件夹,使用「Update all」安装更新(更新前会将当前文件保存为版本)。目前不支持私有仓库。
技能目录与安装¶
点击右上角的「Skill store」按钮,可以搜索 skills.sh(一个公开技能目录,带有安装计数),并查看插件内置的一组知名仓库。点击「View and install」会打开对应仓库,支持筛选长列表,通过 ESC 返回技能目录搜索结果,确认后点击「Import selected」完成安装。只有确认后才会安装,安装后可以继续浏览或结束。
按模式使用统计¶
「Usage」页面统计各模式在过去 7、30、90 或 365 天内加载技能的次数(包括模型调用 skill 工具和手动输入 /技能名),并显示最后一次加载时间。可以在顶部选择一个模式,查看该模式加载了哪些技能、从未加载哪些技能。它列出在所有模式或指定模式下都没有被加载的技能,并提供在该模式中关闭的选项(带撤销)。统计读取会话历史中的名称和时间,不分析消息文本,最多读取最近 400 条会话,耗时不超过 25 秒,已保存的会话在 10 分钟内可复用。
Token 成本估算¶
每个技能及其所在模式的技能目录都会显示大致的 Token 成本(列标题显示模式成本,切换技能时随之变化)。列表支持按 Token 数排序,帮助你在不同模式中决定哪些技能可以关闭以节省成本。具体估算方法见插件文档的 Development 部分。
处理 DSH 无法加载的技能¶
插件会列出在技能文件夹中存在 SKILL.md 但 DSH 无法加载的文件,并给出原因(如缺少 Front Matter、YAML 语法错误、名称无效、旧字段拼写错误等)。对于可自动修复的文件,会提供修复后的内容供预览和保存,保存前会先备份原文件。
回收站与版本历史¶
删除的技能会进入回收站,可以恢复或永久删除。删除后立即出现的提示提供撤销选项。回收站不会自动清空。
通过「New skill」可以创建新技能,输入名称、描述、所在文件夹(DSH 自身或与其他代理工具共享的文件夹)以及初始启用的模式,然后打开 SKILL.md 编辑器。编辑 SKILL.md 之前会自动保存当前文件为版本;如果在编辑过程中文件在其他地方被修改,会提示。未保存的编辑在折叠行或切换页面时保持,离开编辑器前会询问。属于已安装包的技能不能修改。
通过「Files and export」可以查看技能文件夹中的其他文件,进行查看、编辑、添加或删除操作(旧文件会保留在 .dsh-mode-skills/backups/ 中),将技能导出为 .zip,或在 ~/.dsh/skills 和 ~/.agents/skills 之间移动。
「Import skills」可以列出 Codex(~/.codex/skills)、Claude Code(~/.claude/skills 和插件技能)以及其他遵循 ~/.<tool>/skills 命名约定的代理工具的技能,读取任意文件夹,或拖入/选择 .zip 或技能文件夹。选中的技能会被复制;遇到同名冲突时可以重命名导入或替换现有技能(替换前会保存版本)。导入的技能不保留来源信息。
导入的技能会记录来源,后续当来源发生变化时,列表会标记为「Source changed」,展开后可以再次导入。
通过「Save version」可以手动保存版本(可选添加备注),查看、恢复到文件(保存当前文件后恢复)或删除版本,已删除的版本编号不会复用。
插件本身提供更新提示,确认后会使用 DSH 的安装程序进行更新。
当安装了 dsh-modes 时,插件会将按模式设置、导入记录和版本控制的操作委托给 dsh-modes,并在其 Skills 页面中同步。此时,Manual 和 Model 等不在 dsh-modes 中的设置将不可用。之前仅此插件保存的设置会被置为未使用,可通过「Hand over to Mode Manager」将 Off 状态迁移过去。回收站、跳过文件检查、Token 成本、上传、GitHub 安装、显示名称与标签、项目文件夹、文件编辑器和其他代理工具的文件夹等功能保持不变。
典型用法¶
- 在侧边栏点击「Skills」,查看当前所有技能及其在各个模式中的状态。
- 在顶部搜索框输入关键词,按标签筛选,或查看文本匹配结果。
- 选择一个模式,在该模式下通过开关控制技能的启用状态,或展开某行为每个模式单独设置。
- 点击「New skill」创建新技能,配置名称、描述和启用模式,然后编辑 SKILL.md。
- 通过「Import skills」从 Codex、Claude Code 或其他代理工具目录导入现有技能,或从 GitHub 仓库安装技能。
- 在「Usage」页面查看各模式加载技能的频率,关闭未被使用的技能以节省 Token 成本。
- 定期从 GitHub 检查更新,或从「Skill store」浏览并安装新的技能。
- 使用「Files and export」管理技能文件夹中的其他文件,或导出技能为 zip。
适用场景与注意¶
适合需要集中管理多个技能、在不同模式下灵活开关、追踪技能使用频率、从其他代理工具迁移技能、以及需要版本控制与批量更新的 DSH 用户。插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
短结尾¶
dsh-mode-skills 为 DeepSeek Harness 提供了一个统一的技能管理入口,帮助你在多个模式中高效开关、搜索、导入与版本化技能,并追踪使用成本。访问目录页和 GitHub 仓库可获取更多信息。