Introduction

Under the DeepSeek Harness (DSH) “everything is a plugin” model, agent skills in the web app can come from multiple sources: user .agents, user .dsh, project roots, custom, and bundled. dsh-skill-panel provides a Skill management panel for the DSH web app, centralizing these skills into the Settings → Skills page and the sidebar Skills button, facilitating browsing, searching, filtering, enabling/disabling, and uninstalling. Below is an introduction to its positioning, features, installation method, and entry configuration.

What is this

dsh-skill-panel is the Skill management panel for the dsh web app, maintained by nianchen8, with an MIT license.

It is not a fork, does not use internal APIs, and has no build steps (pure JS). Runtime dependencies are limited to harness-provided @deepseek-ai/dsh-storage-domain and zod (declared as dependencies).

Core Features

  • Skill list: Displays name, description, source label, and per-source counts.
  • Search and Source filtering: Supports user .agents, user .dsh, project roots, custom, bundled.
  • Model / User invocation switches: Rewrites SKILL.md frontmatter; unspecified switches are preserved.
  • Disable / Enable: Completely disables a skill and remembers its previous state; when enabling, it restores exactly that state.
  • Uninstall: Two-step confirmation, deletes skill directory; bundled skills are protected.
  • Detail view: Displays whenToUse, on-disk path, and SKILL.md body.
  • Skill groups: Create / Rename / Delete groups, manage members (add / remove skills) by group, and browse by group; persisted via official ctx.storageDomain, not using self-made storage files.
  • Reads: All reads are session-scoped; the panel displays the catalog provided by the current session.
  • Writes: Write operations synchronously invalidate discovery and refresh slash-menu cache via official forwarded events.

Installation and Enablement

Requirements:

  • DeepSeek Harness 0.1.0-rc.6+ (web profile)
  • pnpm available (corepack enable provides it)

The following commands provide sources from npm and GitHub; run dsh web to restart and load the package.

corepack enable                                   # once per machine
dsh plugin --profile web add dsh-skill-panel     # from npm
# or: dsh plugin --profile web add github:nianchen8/dsh-skill-panel
dsh web                                           # restart to load the package

After restarting, the panel will appear in Settings → Skills and the sidebar Skills button.

Typical Usage

  1. Open entry: Go to Settings → Skills, or click the sidebar Skills button.
  2. Find skills: Use search or filter by source (user .agents, user .dsh, project roots, custom, bundled).
  3. Adjust invocation switches: Toggle Model / User invocation switch; the plugin rewrites the SKILL.md frontmatter and preserves unspecified switches.
  4. Temporarily disable: Click Disable / Enable; the plugin remembers the previous state and restores it when enabling.
  5. Delete skill: Click Uninstall and complete the two-step confirm; bundled skills are protected.
  6. Manage groups: Create, rename, delete Skill groups, add or remove skills from a group, and browse by group.
  7. View details: View whenToUse, on-disk path, and SKILL.md body in the detail view.

Configuring UI Entries

Three UI entries (sidebar button, overlay, settings page) can be individually overridden via the loader entry’s config. File path example: profiles/<name>/cordis.patch.yml.

- id: skill-panel
  config:
    entries:
      sidebar:
        enabled: true        # show the sidebar button (default true)
        order: 5             # explicit position; omit = dynamic tail
        # slot: conversation.session.header.actions   # optional relocation
      overlay:
        enabled: true
        order: 10
      settings:
        enabled: false       # hide the settings page

Configuration meanings:

  • entries.sidebar.enabled: Whether to register the sidebar button, default true.
  • entries.sidebar.order: Explicit position; omit means dynamic tail.
  • entries.sidebar.slot: Optional relocation.
  • entries.overlay.enabled and entries.overlay.order: Control the overlay.
  • entries.settings.enabled: For example, setting to false can hide the settings page.

Suitable Scenarios and Notes

  • Suitable for centrally managing SKILL.md skill users in the DSH web profile.
  • Requires DeepSeek Harness 0.1.0-rc.6+ (web profile) and available pnpm.
  • Write operations will rewrite SKILL.md frontmatter or delete skill directories; bundled skills are protected.
  • When storage is unavailable, the panel degrades to a read-only group view.
  • When the endpoint is unavailable (e.g., before a restart), the browser half falls back to the aforementioned default entry configuration.
  • The plugin runs with the current dsh process permissions; check the source code and MIT license before installing.

Related Links

GitHub Repository: dsh-skill-panel. The directory page URL is not provided in the verified materials; you can check the README, installation commands, and license in the repository above first.