dsh-mode-skills:DeepSeek Harness 的技能管理插件

前言

在 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 安装、显示名称与标签、项目文件夹、文件编辑器和其他代理工具的文件夹等功能保持不变。

典型用法

  1. 在侧边栏点击「Skills」,查看当前所有技能及其在各个模式中的状态。
  2. 在顶部搜索框输入关键词,按标签筛选,或查看文本匹配结果。
  3. 选择一个模式,在该模式下通过开关控制技能的启用状态,或展开某行为每个模式单独设置。
  4. 点击「New skill」创建新技能,配置名称、描述和启用模式,然后编辑 SKILL.md。
  5. 通过「Import skills」从 Codex、Claude Code 或其他代理工具目录导入现有技能,或从 GitHub 仓库安装技能。
  6. 在「Usage」页面查看各模式加载技能的频率,关闭未被使用的技能以节省 Token 成本。
  7. 定期从 GitHub 检查更新,或从「Skill store」浏览并安装新的技能。
  8. 使用「Files and export」管理技能文件夹中的其他文件,或导出技能为 zip。

适用场景与注意

适合需要集中管理多个技能、在不同模式下灵活开关、追踪技能使用频率、从其他代理工具迁移技能、以及需要版本控制与批量更新的 DSH 用户。插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。

短结尾

dsh-mode-skills 为 DeepSeek Harness 提供了一个统一的技能管理入口,帮助你在多个模式中高效开关、搜索、导入与版本化技能,并追踪使用成本。访问目录页和 GitHub 仓库可获取更多信息。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜