Group installed skills and manage MCP servers from a left-panel UI: filter the model skill catalog by enabled groups (union-deduped) and toggle MCP servers independently.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-skills-mcp-group-manager
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:SeverusZh/dsh-skills-mcp-group-manager
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
🗂️ DeepSeek Harness Skills & MCPs Group Manager
A DSH plugin that groups Skills, filters the model skill catalog, toggles MCP servers independently, and manages everything from a left panel
✨ 功能特性 / Features
- 🎯 Skill Groups — create / rename / delete groups, groups are collapsible; both the member and picker views are list + multi-select, supporting select-all / deselect-all after search filtering and batch add / remove.
- 🧠 Injection Filtering — the context injects only the Skills that appear in enabled groups (union, deduplicated, one at a time); ungrouped Skills are not injected by default; switching groups refreshes the catalog live.
- 🔌 MCP Management — enumerate all MCP servers (profile config + user-added) and toggle them independently; user-added MCPs are mounted dynamically and persisted, restored automatically on restart.
- 💾 Persistence —
~/.dsh/mcp-skill-manager/state.json(atomic write); the next session reuses the previous group settings by default. - 🖥️ UI — a group-management panel on the left of the dialog (
shell.overlay) + a session-header toggle (conversation.session.header.actions, with a "Skills&MCPs" label). A pure floating panel; it does not modify the product layout.
📦 安装 / Install
# 单命令安装(无需其他步骤)
dsh plugin --profile web add dsh-skills-mcp-group-manager
# 重启 web profile 进程后生效(当前 GUI 由 dsh web 提供,重启后刷新页面)
Why no extra steps? The host half-plugin has zero external package dependencies (only Node built-ins and local modules), so the
link:install performed bydsh plugin addresolves directly — no symlinks or build step needed.
🗑️ 卸载 / Uninstall
Uninstalling removes the data together with the plugin.
dsh plugin --profile web remove dsh-skills-mcp-group-manager
On uninstall pnpm runs the package's postuninstall script (scripts/cleanup.mjs), which deletes the entire state directory ~/.dsh/mcp-skill-manager/ (including state.json), so groups and MCP configuration are removed together with the plugin. Manual removal also works: rm -rf ~/.dsh/mcp-skill-manager.
🧱 组成 / Structure
| File | Description |
|---|---|
lib/index.js |
Host half-plugin: state model, skill catalog filtering (shadow provider skill-manager-filter), MCP enumeration / restrict / dynamic mount (via the loader), 12 manager_* tools, RPC route /plugins/dsh-mcp-skill-manager/rpc |
lib/client.js |
Client half-plugin: left-side group-management panel + session-header toggle |
lib/state.js |
Pure state logic (zero dependencies) |
lib/store.js |
State storage (atomic write + serialized write chain + fault-tolerant read) |
scripts/cleanup.mjs |
postuninstall cleanup script |
cordis.patch.yml |
Bundle patch that inserts the plugin line into the host composition |
🛠️ 工具 / Tools
manager_groups_list/create/delete/rename/set_enabled/add_skill/remove_skill, manager_skills_list, manager_mcp_list/toggle/add/remove.
🧩 兼容性 / Compatibility
The @deepseek-ai/dsh* range in peerDependencies determines whether the plugin passes DSH's compatibility gate. This plugin declares >=0.1.7-rc.1 (no upper bound), and has been tested on:
| DSH version | Status |
|---|---|
| 0.1.5-rc.1 | ✅ Tested |
| 0.1.5-rc.2 | ✅ Tested |
| 0.1.6-alpha.2 | ✅ Tested |
| 0.1.7-rc.1 | ✅ Tested |
| 0.1.7-rc.2 | ✅ Tested |
| 0.2.0-rc.1 | ✅ Tested |
Only versions that were actually run are listed; untested versions are omitted.
v0.3.7 targets DSH 0.1.5-rc.1+, verified on 0.1.5-rc.1 / 0.1.5-rc.2 / 0.1.6-alpha.2 / 0.1.7-rc.1 / 0.1.7-rc.2 / 0.2.0-rc.1 (peer >=0.1.7-rc.1; the real dsh-tools registry probe passes; on 0.1.7-rc.2 the manager.state.get RPC returns as measured; on 0.2.0-rc.1 it passes the new compatibility gate and loads normally); for older DSH releases (0.1.0-rc.x) use the last compatible npm version, 0.3.2.
📄 许可证 / License
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 8707
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 8707
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4719
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
ccch1mneyyy/dsh-TUI★ 4557
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 4153
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1454
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.