前言¶
在使用 DeepSeek Harness Web 进行智能体开发时,管理全局技能通常需要直接操作文件系统。如果需要频繁切换不同的技能配置,手动创建或删除符号链接(Junction)会变得繁琐且容易出错。dsh-skill-switch 插件通过 Windows Junction 技术提供了一套自动化方案,解决了在 $DSH_HOME/skills 目录中管理全局技能的需求。
是什么¶
这是由 hzthzt 维护的一个插件,属于「趣味换装」类别。它利用 Windows Junction 机制,在 $DSH_HOME/skills 目录中创建指向中央目录的快捷方式,从而实现对用户全局技能的快速切换。插件遵循 MIT 许可证,目前仓库暂无星标。
核心功能¶
- 基于 Junction 的管理:在
$DSH_HOME/skills中创建和移除 Windows Junction。 - 自动识别:通过
SKILL.md文件的 frontmatter 识别技能,name字段作为唯一标识。 - 中央目录扫描:管理位于中央目录中的用户全局技能,仅通过 Junction 暴露。
- 安全机制:拥有记录存储在
manifest.json中,使用严格的序列化队列防止竞争条件。 - 冲突处理:检测外部管理的目录与同名技能的冲突,来源技能永不移除。
安装与启用¶
先通过官方命令安装插件到指定 Profile,然后启动 Web 界面进行配置。
- 安装插件:
dsh plugin --profile <profile> add github:hzthzt/dsh-skill-switch#<commit-sha>
- 启动 DeepSeek Harness Web:
dsh --profile <profile> web
- 打开 DSH 设置,进入 Skills 面板。
典型用法¶
- 准备中央目录(默认为
~/.cc-switch/skills),在其中创建技能文件夹,如example-skill-main。 - 在该文件夹下创建
SKILL.md,并在 frontmatter 中定义技能名称:
---
name: example-skill
description: A non-empty description.
---
- 在 DSH 设置中选中该技能进行启用。
- 如需更改中央目录,先使用 Disable all,再重新选择。
适用场景与注意¶
- 平台限制:仅支持 Windows 系统。
- 目录限制:中央目录和
$DSH_HOME/skills不能包含彼此。 - 环境变量:配置路径中的环境变量(如
%USERPROFILE%)不会被展开,请使用绝对路径或~。 - 依赖要求:需要 Node.js 24 和 pnpm@11.7.0。
- 来源技能:插件管理的来源技能目录不会被移除,仅管理 Junction。
结尾¶
该插件为 DSH 用户提供了基于文件系统的全局技能管理能力,适合需要在 Windows 环境下统一管理技能配置的开发者。更多细节可参考项目目录页或源码。