插件目录 / UI & Skins / dsh-plugin-skill-manager
dsh-plugin-skill-manager
已验证 · 实测可装 xhvdhczd
功能简介
DSH Web UI plugin: Skills tab with per-skill enable/disable toggles (DeepSeek Harness)
可用 — 实测通过,早期项目
DSH Web UI plugin: Skills tab with per-skill enable/disable toggles (DeepSeek Harness) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-skill-manager
English | 简体中文
A DeepSeek Harness (DSH) plugin that adds a Skills tab to the web UI conversation view ring (next to Chat and Trajectory). It lists every available skill with a live search box and a per-skill enable / disable switch, plus a bulk enable-all / disable-all toggle.
Disabling a skill writes disable-model-invocation: true into the skill's SKILL.md frontmatter, so the model-facing skill catalog drops it while the user-facing surface keeps it — the skill stays visible in the list and can be re-enabled at any time.
Features
- 🗂️ Skills tab registered into the
conversation.viewslot, alongside Chat and Trajectory - 🔍 Search box filtering by skill name or description
- 🔘 Bulk switch: enable or disable every visible skill at once
How it works
The plugin ships two halves in one npm package:
| Half | Entry | What it does |
|---|---|---|
| Host | lib/index.js |
Registers POST /api/skill-manager/toggle on the DSH web server, locates the skill's SKILL.md on disk (project roots first, then user roots), and rewrites its frontmatter |
| Client | lib/client.js |
Registers the Skills conversation-view tab, renders the list from the skill.list RPC, and calls the host route on toggle |
Disabling one skill (enabled: false) adds:
disable-model-invocation: true
to the skill frontmatter. The filesystem skill provider watches the skill roots, so the catalog invalidates automatically after the write — no restart needed for the catalog itself (a restart is required after installing or updating the plugin).
Installation
Requires a DSH profile (the example uses the web profile):
# from the plugin checkout, install into the profile
dsh plugin --profile web add file:./dsh-plugin-skill-manager
# or directly with pnpm
pnpm --dir "$HOME/.dsh/profiles/web" add file:./dsh-plugin-skill-manager
Then add the package to the profile's bundle layers. dsh.profile.bundles in ~/.dsh/profiles/web/package.json should include:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-plugin-marketplace",
"dsh-plugin-skill-manager"
]
}
}
}
Finally restart DSH and refresh the web UI. A Skills tab appears next to Chat and Trajectory.
Note:
file:dependencies are copied into the pnpm store. After editing the plugin sources, re-runpnpm --dir "$HOME/.dsh/profiles/web" remove dsh-plugin-skill-manager && pnpm --dir "$HOME/.dsh/profiles/web" add --force file:./dsh-plugin-skill-managerand restart DSH.
Uninstall
pnpm --dir "$HOME/.dsh/profiles/web" remove dsh-plugin-skill-manager
Remove dsh-plugin-skill-manager from dsh.profile.bundles in ~/.dsh/profiles/web/package.json, then restart DSH. Skills disabled by the plugin keep their frontmatter; re-enable them with the plugin, or delete the disable-model-invocation line manually.
Development
# syntax-check both halves
node --check lib/index.js
node --check lib/client.js
# verify the composed profile tree includes the plugin
dsh --profile web --dump-config | grep -A2 skill-manager
Package layout
dsh-plugin-skill-manager/
├── package.json # dsh.bundle.patch + dsh.client declarations
├── cordis.patch.yml # loader row mounting the host plugin
└── lib/
├── index.js # host half: /api/skill-manager/toggle route
└── client.js # client half: Skills tab (__ModuleLoader__ bundle)
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-skill-manager」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:xhvdhczd/dsh-plugin-skill-manager Headless(CLI)profile:
dsh plugin --profile headless add github:xhvdhczd/dsh-plugin-skill-manager 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。