dsh-skills-manager:在 DeepSeek Harness 里统一管理 Skill 库

前言

在 DSH 以及 Claude Code、Cursor、Codex 等工具里,Skill 往往分散在各项目的 .dsh/skills、.claude/skills 等目录,或各自的全局路径下。更新一个 Skill 要逐个目录改,从 Git 拉新版本也要重复操作;不同智能体之间的 Skill 还很难对齐。下面介绍 charonX 维护的 dsh-skills-manager(npm 包名 @charonx/dsh-skills-manager):把 Skill 收进独立库,再通过符号链接分发到多个项目与多种智能体目录,并在 Harness 侧边栏提供专用 Skills 页面(与 Plugins、Automation tasks 并列)。

这是什么

dsh-skills-manager 是面向 DeepSeek Harness 的 Skill 库管理插件。维护者为 charonX,在 SkillHub 目录中归类为「工作流」。它负责:从 Git 或本地文件夹安装 Skill 来源、检查与更新版本、扫描并导入其他智能体已安装的全局 Skill,以及通过符号链接把库中的 Skill 分发到指定项目。

库默认落在 Harness 用户目录下的 skills-manager 区域(README 架构图中为 ~/.dsh/skills-manager),与各智能体默认扫描路径分离;只有显式「链接到项目」后,Skill 才会出现在项目会话或其它 agent 目录中。

核心功能

一个库、多种来源

每个来源可以是 Git 克隆或复制来的本地文件夹;一个来源里可以只有一个 Skill,也可以包含很多个。Skill 在库内统一组织为 skills/<name>/SKILL.md 等形式。

版本与更新

若来源带有 package.json,以其中的 version 为准;否则用 git describe --tags --always --dirty。Git 来源可在界面上 Check for updates:拉取远端并报告落后/领先的提交数、本地改动及上游版本标签。Update 显式执行 git pull --ff-only,失败时保留原始 Git 输出。

安装来源

支持 HTTPS、SSH、类 scp 的 Git 地址,以及本地文件夹(复制时不带 .git)。还可通过扫描器发现 DSH、Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Windsurf 及共享 agent 已安装的全局 Skill,再选择性导入。

按项目符号链接分发

一次可为多个项目建立链接;每个项目可选择要写入的智能体目录(README 提到约 75 种约定目录名,外加 dsh)。链接是真实符号链接指向库目录;目标位置若已有普通文件、目录或外来符号链接,会报冲突且不会覆盖。

两级开关

库级开关为主控:关闭后 Skill 不再进入模型目录与 / 菜单。项目级开关只控制是否分发到该项目。

与 DSH 的集成

Skill 通过专用 SkillProvider(rank 450)进入模型 skill catalog 与 / 菜单;链接到项目的 Skill 还会在对应项目会话(project-dsh,rank 100)及其它所选 agent 目录中可见。Skills 页面通过同源 HTTP 调用宿主路由,由宿主执行安装、更新、扫描、导入等操作。

安装与启用

环境要求(来自 README 与 package.json):

  • Node.js ≥ 24.9
  • DeepSeek Harness 0.2.1-rc.5 或更新(README 注明在 0.2.1-rc.5 与 0.2.2-alpha.2 上测试;package.json 的 engines.dsh 为 >=0.2.1-rc.5 <0.3.0)
  • 仅在使用 Git 来源时需要系统已安装 git

插件以 profile bundle 形式发布。官方示例使用名为 skills-test 的 profile,安装前请按自己的 profile 名称替换 --profile 参数。

从 npm 安装:

dsh plugin --profile skills-test add @charonx/dsh-skills-manager

从 Git 安装(仓库已提交构建产物,无需额外 build 审批):

dsh plugin --profile skills-test add git+https://github.com/charonX/dsh-skills-manager.git

或使用 GitHub Release tarball(示例版本与 README 一致):

dsh plugin --profile skills-test add https://github.com/charonX/dsh-skills-manager/releases/download/v0.1.2/charonx-dsh-skills-manager-0.1.2.tgz

注意:npm 上未限定 scope 的 dsh-skills-manager 属于其它项目;应使用 @charonx/dsh-skills-manager。

桌面端也可通过 Plugins → Add plugin → local path 添加本地路径,然后在侧边栏打开 Skills。更完整的步骤与排错见仓库 docs/INSTALL.md。

典型用法

添加来源(Sources)

在 Skills 页添加 Git 仓库或本地文件夹。删除来源会先移除所有项目链接,再删除对应目录与记录。

链接到项目

项目字段为多选下拉:选择工作区目录或自定义路径,勾选目标 agent(默认含 dsh),一次提交可写入所有选中项目。

已链接项目(Linked projects)

每个项目行展示 Skill 状态、项目级开关,以及 agent 名称(例如 linked dsh · claude-code)。Resync 可恢复被删的链接、修复被手动改指向库的链接,并清理失效链接与陈旧记录。Unlink all 移除链接及记录。

扫描并导入

扫描器读取例如 ~/.dsh/skills、~/.agents/skills、~/.claude/skills、~/.cursor/skills 等全局根目录(另含 Codex、Gemini、OpenCode、Windsurf 等路径及 scanSkillDirs),按来源分组展示;缺失或为空的根显示 0。导入会把选中的 Skill 复制到库内的 imported-<origin> 来源,不会对外部目录做符号链接。

导入冲突按 Skill 名称与 SKILL.md 的 sha256 判定:同名同内容跳过;同名不同内容时,若库内副本由本插件通过本地/Git 管理,则按 README 表格中的策略处理(截断资料未展开的行,使用前可在 GitHub README 查看完整表格)。

适用场景与注意

适合需要在多台机器或多个项目间复用同一套 Skill、且希望与 Claude Code、Cursor 等目录约定对齐的 DSH 用户。列表支持来源卡片与已链接项目的折叠,以及 Expand all / Collapse all 批量操作。

插件在 当前 DSH 进程权限 下运行,会执行 git clone、git pull、文件复制与创建符号链接等操作。安装前请阅读 GitHub 源码 与 MIT 许可证,确认行为符合你的安全与合规要求。

SkillHub 上的插件目录由社区维护,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与 npm 包元数据为准。

结尾

dsh-skills-manager 把 Skill 的安装、更新、跨 agent 导入和按项目 symlink 分发集中到一个库和 Harness 的 Skills 页面,减少重复维护多个目录的成本。目录页:https://www.skillhub.cn/plugins/charonX/dsh-skills-manager;源码与文档:https://github.com/charonX/dsh-skills-manager。

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

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

小夜