dsh-skill-manager

by CLAPEILL

0 技能包github 检测到 manifest package.json#dsh收录于 08-16

DeepSeek Harness 插件:Skill 管理——全局启用/禁用 skill、按工作区设置新对话默认加载的 skill、对话中随时调整当前会话的 skill 集合并可删除用户 skill,每个 skill 自带中文简介与详细介绍。

安装

dsh plugin --profile web add github:CLAPEILL/dsh-skill-manager

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DeepSeek Harness 的 Skill 管理插件(Web / 桌面版):

  • 对话开始之前选择 skill —— 新对话(hero)界面在输入框上方显示「对话 Skill」胶囊按钮:跟随工作区默认 / 全部可用 / 自定义选择,发送第一条消息前即可保存生效,实现「在新对话开始之前选择加载什么 skill」。
  • 全局启用 / 禁用 —— 一键关闭或打开任意 skill。被全局禁用的 skill 会从模型的会话 skill 目录、/ 输入触发中消失,也无法通过 skill 工具或 /名称 手势加载;文件不会被删除,重新启用即可恢复。
  • 新对话默认 Skill(按工作区) —— 在设置 → Skill 管理 中为每个工作区选择「全部可用」或「仅加载所选」,该工作区的新对话只加载所选 skill。
  • 对话中管理 —— 对话头部新增「Skill」按钮:查看当前对话生效的 skill 集合,可「跟随工作区默认 / 全部可用 / 自定义选择」,修改后下一条消息即生效(目录会自动重发)。
  • 删除用户 skill —— 永久删除 ~/.dsh/skills 或 ~/.agents/skills 下的 skill 文件(项目、自定义、内置 skill 不允许通过本插件删除)。

原理

skill 注册表按 scope 分层合并,最近层同名获胜;在 Web 界面中,filesystem provider 由 agent preset 挂载,落在 preset 的 standing 层。因此本插件在 agent/created 时把名为 skill-manager、rank 为 10(低于所有内置 rank)的影子 provider 注册进每个 agent 自己的 scope 层(最近层),为所有「应禁用的 skill 名称」返回合成的不可调用候选——该 agent 的目录中必定由影子候选获胜,skill 便对模型和用户隐藏,且不触碰文件;注册随 agent 的 scope fiber 自动销毁。

管理界面不使用普通注册表读取路径(无 scope 的 ctx.skills.list() 在 Web 界面只能看到全局层,是空的):listRealSkills() 直接遍历所有层(全局 + standing + agent),设置页因此能看到真实目录(真实描述、调用标记、路径)。「仅选择」模式的补集计算也使用同一跨层全集。

状态保存在一个小 JSON 文档中:<dshHome>/plugin-data/skill-manager/state.json。

接口

方法 路径 请求体 作用
GET /plugins/dsh-skill-manager/state — 全局禁用集合、工作区默认、会话覆盖
GET /plugins/dsh-skill-manager/skills?cwd=… — 完整真实目录(含调用标记、路径、可删除标记)
POST /plugins/dsh-skill-manager/global { names } 整体替换全局禁用集合
POST /plugins/dsh-skill-manager/workspace { cwd, mode, selected } 设置某工作区的新对话默认
POST /plugins/dsh-skill-manager/session { sessionId, mode, selected } 覆盖某个对话的 skill 集合
POST /plugins/dsh-skill-manager/delete { name } 删除用户 skill

写接口需要携带 x-dsh-skill-manager: 1 请求头(CSRF 加固)。

构建 / 安装

打包(tar 根目录下为 package/):

tar -czf artifact.tgz package/

通过 Harness 插件中心安装;或手动安装:在 profile 的 package.json 中加入依赖 ("dsh-skill-manager": "file:…/artifact.tgz"),把 dsh-skill-manager 追加到 dsh.profile.bundles,在 profile 目录执行 pnpm install,然后重启 Harness。

License

MIT

原始 README: https://github.com/CLAPEILL/dsh-skill-manager/blob/main/README.zh.md ↗