Introduction

In DSH, maintaining Skills and MCP servers commonly involves directly modifying SKILL.md on disk, manually editing cordis.patch.yml in the profile, or copying folders back and forth between multiple workspaces. As the number of skills grows, it becomes error-prone to manage their start/stop states, scope (global vs. workspace), grouping, and batch migrations; on the MCP side, one must also align Stdio/HTTP formats and be careful not to log secret fields.

dsh-skill-mcp-panel consolidates these two types of operations into two panels in the Web settings page, supplemented by a unified terminal command dsh-panel (with skill / mcp subcommand families). Below we introduce its purpose, capabilities, and installation/usage instructions.

What Is It

dsh-skill-mcp-panel is a client-side (Web UI) plugin for DSH, maintained by Fishquito7. It provides both “Skill” and “MCP” management interfaces in the settings page. The current release version is 2.0.1 (MIT license). The project has about 101 stars and 8 forks on GitHub.

The plugin introduces no hidden storage: skill entities reside in ~/.dsh/skills (global) or <workspace>/.dsh/skills; MCP configurations are written to the managed block in the target profile’s cordis.patch.yml, which is hot-loaded by DSH HMR. The README notes that the reference commands in the documentation use --profile web by default; if you use another profile, you need to adjust accordingly.

Skill Panel

The Skill panel is used to preview, start/stop, add, delete, and migrate registered Skills, using the same status label style as DSH’s built-in plugin list.

List and Daily Operations

The page auto-refreshes upon entry. The card list displays installed skills; clicking a card expands to show full content. It supports searching by name and toggling hot enable/disable or deletion.

Disabling and enabling work by renaming SKILL.md on disk: disabling renames it to SKILL.md.disabled, and enabling renames it back. DSH’s file watcher immediately detects the change, requiring no gateway restart. Bundled skills shipped with the deployment are read-only and cannot be disabled or deleted.

Adding Skills (Unified Entry in 0.7.0)

Clicking “+” allows selecting .md/.zip files, or you can drag files, archives, or skill folders onto the page. The plugin automatically recognizes directory bundles, single files, or archive structures; non-compliant content is rejected with a reason.

Workspace Columns (0.3.0)

Skills are stored by location: global in ~/.dsh/skills, and workspace-specific in that workspace’s .dsh/skills. Below the “Skill List” on the page is a workspace bar (global + each workspace, horizontally scrollable). Clicking a workspace shows only the skills under that workspace.

Batch Migration

The migration button to the left of “+” opens a dialog: manually select the source workspace, target workspace (multiple selection supported), and skills. It supports batch copying or moving. No skills are checked by default; migration is performed one by one, so a single failure does not affect others. Move mode is limited to a single target. When the source workspace has groups, you can filter by group above the skill list (0.7.0).

Skill Groups (0.5.0)

A new group bar (All + group names) appears below the workspace bar. The “Groups” button (to the left of the migration button) opens the group editor: create/rename/delete groups, select a workspace, name it, and batch-check members. Group information is only written to the plugin’s own display configuration ~/.dsh/skills/.system/skill-viewer/groups.json, not modifying the skill directories.

Scoped Management (0.6.4)

When identically named skills exist globally and in a workspace, deletion, start/stop, and content viewing are performed precisely by (name + scope)—each row on the page expands and operates independently, not affecting copies in other scopes; if the specified scope is not found, an error is reported directly without fallback or misoperation. The command line also requires explicit --global / --project / --workspace for identically named skills.

MCP Panel (v2.0.0)

A new “MCP” page appears below “Skill” in the settings page, managing the MCP server managed blocks in the profile’s cordis.patch.yml.

  • Supports both Stdio (local command) and HTTP (streamable-http) invocation methods
  • Supports adding, editing, starting/stopping, deleting, and testing connections; after saving, it is hot-loaded by DSH HMR, requiring no gateway restart
  • env/headers secrets are masked in RPC and the page; when editing, default keys retain old values
  • User content outside the cordis.patch.yml panel block is preserved byte-for-byte

The MCP panel block is delimited by # >>> dsh-skill-mcp-panel:mcp:begin / # <<< dsh-skill-mcp-panel:mcp:end; the README advises against manually editing content inside the block. The actual connection and tool registration are handled by the official DSH plugin @deepseek-ai/dsh-mcp-client.

Installation and Enabling

First install, then restart the gateway, and finally confirm in the Web settings page whether both panels appear.

  1. Install this package (automatically mounted at the bundle layer; no configuration file editing needed). The preferred source is the release tarball:
dsh plugin --profile web add https://github.com/Fishquito7/dsh-skill-mcp-panel/releases/download/v2.0.1/dsh-skill-mcp-panel-2.0.1.tgz

Alternatively, install from Git (dependencies from Git sources by default prohibit running the prepare build script; if you see “git-hosted plugins build on install…”, add the key printed by pnpm to the allowBuilds section in the pnpm-workspace.yaml in the profile directory and re-run):

dsh plugin --profile web add github:Fishquito7/dsh-skill-mcp-panel
  1. Restart the gateway:
dsh-restart

After restart, refresh the page: Settings → below “Plugins” is “Skill”, and below that is “MCP”.

Uninstall:

dsh plugin --profile web remove dsh-skill-mcp-panel

Command Line: dsh-panel

The unified parent command is dsh-panel. The CLI only scans the project root and user root anchored by the current directory; to manage skills in other workspaces, add --cwd <workspace path>.

Skill Subcommands

View help:

dsh-panel skill --help

Common examples:

dsh-panel skill list                                  # List skills (including workspace: global / workspace)
dsh-panel skill add <path>                            # Add to global (.md file, directory bundle, or .zip archive)
dsh-panel skill add <path> --workspace D:\ProjectA    # Add directly to specified workspace
dsh-panel skill scope <name> --global                 # Migrate single skill to global
dsh-panel skill scope <name> --workspace D:\ProjectA  # Migrate single skill to specified workspace (--copy to copy)
dsh-panel skill migrate <name...|--all> --from <global|path> --to <global|path> [--copy] [--yes]
dsh-panel skill update [--profile <name>]             # Check and update plugin (default web profile)
dsh-panel skill disable <name>       # Disable
dsh-panel skill enable <name>        # Enable
dsh-panel skill delete <name>        # Delete (requires confirmation)

MCP Subcommands

dsh-panel mcp list [--profile <name>]
dsh-panel mcp add --name <serverName> --stdio --command <cmd> [--args <arg> ...] [--env KEY=VALUE ...] [--cwd <path>] [--profile <name>]
dsh-panel mcp add --name <serverName> --http --url <url> [--header KEY=VALUE ...] [--profile <name>]
dsh-panel mcp enable|disable <serverName> [--profile <name>]
dsh-panel mcp remove <serverName> [--yes] [--profile <name>]
dsh-panel mcp test <serverName> [--profile <name>]
dsh-panel mcp update [--yes] [--profile <name>]
dsh-panel update [--yes] [--profile <name>]      # Update the entire dsh-skill-mcp-panel

Applicable Scenarios and Notes

This is suitable for developers who need to centrally manage Skills and MCP in the DSH Web settings page, or who migrate skills between multiple workspaces. If you prefer terminal-based batch operations, dsh-panel aligns with the page’s capabilities.

Before installation, it is recommended to review the source code and MIT license. The plugin reads and writes ~/.dsh/skills, workspace .dsh/skills, and cordis.patch.yml under the profile using the current dsh process permissions; third-party plugins should be evaluated for permission scope before installation outside trusted environments. Community directories like SkillHub are independent sites and have no official affiliation with DeepSeek /幻方.

Links

  • SkillHub directory page: https://www.skillhub.cn/plugins/Fishquito7/dsh-skill-mcp-panel
  • GitHub repository: https://github.com/Fishquito7/dsh-skill-mcp-panel