dsh-skill-mount:在聊天栏挂载与关闭 SKILL

前言

在 DeepSeek Harness(DSH)里使用 SKILL,常见做法是依赖模型自行选择 skill 工具,或在会话里反复说明要遵循哪份 SKILL.md。若你希望在当前会话里明确启用某几个技能、随时关掉,又不想每次手写长提示,就需要一层「挂载」控制。

dsh-skill-mount 是社区维护的客户端插件(维护者 Hzans777,SkillHub 分类为客户端)。它在输入框右侧增加技能托盘,在设置页集中管理备注、本地安装与卸载;宿主侧在发消息前把已挂载技能的正文注入会话。下面介绍其定位、安装方式与日常用法。

这是什么

dsh-skill-mount(npm 包名 dsh-skill-mount,当前资料中版本为 1.0.2,MIT 许可证)把 SKILL 变成聊天栏里可开关的挂载项:勾选后,对应 SKILL.md 会在下一轮用户消息前以 <skill_content> 注入;取消勾选后,下一轮会注入卸载提示,便于模型停止沿用旧指令。

插件零依赖、无构建步骤,源码即运行时代码。SkillHub 目录页:dsh-skill-mount;源码仓库:GitHub · Hzans777/dsh-skill-mount。README 中的安装示例指向 zshlove321-cyber/dsh-skill-mount,与上述仓库并存于资料中,安装步骤以 README 原文为准。

核心功能

  1. 聊天栏托盘:conversation.input.right 插槽增加「技能」入口,可勾选/取消本会话要挂载的 SKILL,支持「全部关闭」。
  2. 设置页「技能挂载」:settings.section 中可为每个 SKILL 写备注(失焦保存,备注名显示在托盘列表,真实 name 以小字保留);可本地安装(路径或上传 .zip)、卸载到回收站;表格中的 ●/○ 表示全局默认挂载(作用于所有新会话)。
  3. 宿主注入:在 agent/pre-step 中,对已挂载且本会话尚未注入过的技能,读取正文并注入;超过 120000 字符会截断并提示目录路径。
  4. 技能扫描:合并 $DSH_HOME/skills、工作区 .dsh/skills 下的磁盘技能,以及 harness 内置/提供者技能;内置项不可卸载,挂载时通过 skills 服务读正文。
  5. 本地 HTTP 接口:注册 /skill-mount/*,供客户端读写挂载表、备注与安装状态;写操作仅接受回环地址与同源 Origin。

挂载状态与备注持久化在 $DSH_HOME/skill-mount.json(资料示例含 version、mounts、notes;全局挂载键为 "*",会话自有列表优先于全局)。

安装与启用

资料中的安装方式为:将插件放入 ~/.dsh/plugins,再链入 desktop profile 的 node_modules,并修改 package.json 的 dependencies 与 dsh.profile.bundles,最后重启 DSH。README 给出的 PowerShell 示例如下(路径与仓库 URL 与原文一致):

git clone https://github.com/zshlove321-cyber/dsh-skill-mount.git "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"

New-Item -ItemType Junction `
  -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-skill-mount" `
  -Target "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"

再编辑 ~/.dsh/profiles/desktop/package.json:在 dependencies 中加入 "dsh-skill-mount": "file:../../plugins/dsh-skill-mount",在 dsh.profile.bundles 中加入 "dsh-skill-mount",然后重启 DeepSeek Harness。

升级时,在插件目录执行 git pull 后重启即可(README 写法:git -C "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount" pull)。

典型用法

  1. 本会话挂载:输入框右侧打开技能托盘 → 勾选需要的 SKILL → 下一次发送消息时注入该技能正文,模型按技能指令执行,无需再调 skill 工具。
  2. 关闭挂载:再次取消勾选;或使用「全部关闭」清空本会话列表。
  3. 备注:设置 → 技能挂载 → 在备注框填写显示名,失焦保存。
  4. 全局默认:设置页表格中切换 ●/○,使新会话默认带上对应技能。
  5. 本地安装:在设置页填写本地文件夹或 .zip 路径,或选择 zip 上传安装。
  6. 卸载:行尾「卸载」→ 再次「确认卸载」;文件移至 $DSH_HOME/skills-trash/<时间戳>-<名字>,可自行恢复。

需要程序化控制时,可对照 README 中的接口表,例如 GET /skill-mount/state?sessionId= 获取清单与挂载状态,POST /skill-mount/toggle 传入 {sessionId, name, mounted}(sessionId 为空表示全局)。

适用场景与注意

适合经常在 DSH 里切换不同 SKILL、希望会话级与全局级默认行为分离的开发者。插件以当前 DSH 进程权限运行,安装前请自行审阅源码与 MIT 许可证,并确认仓库来源。

务必理解 README「边界」说明:

  • 挂载是把技能指令写入会话,不是给 skill 工具加白名单;<available_skills> 仍可能列出全部已装技能,模型仍可能主动加载未挂载项。
  • 注入按轮次补全:仅当会话中还没有该技能正文时注入一次;历史被压缩后会重新补。
  • SkillHub 为社区目录,与 DeepSeek/幻方无官方从属关系;本文事实来自公开 README 与目录页,星标等数据以站点展示为准(资料中 GitHub 星标为 1)。

结尾

dsh-skill-mount 把 SKILL 从「偶尔被工具加载」变成「聊天栏里可开关、可备注、可装卸」的会话能力,适合在 DSH 插件生态里做客户端增强。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。

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

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

小夜