Introduction

The ecosystem philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When developing and debugging agents, it is often necessary to switch among multiple skills or temporarily disable certain skills to test specific logic. Although skills are usually controlled through the frontmatter of SKILL.md for model-side invocation behavior, editing the file directly is not intuitive, and the Web UI lacks a convenient interactive entry point.

Plugin Overview

dsh-plugin-skill-manager is a DSH Web UI plugin maintained by user xhvdhczd. It registers a Skills tab in a slot of the conversation view, allowing users to manage skill status directly in the Web interface without manually editing files.

Core Features

  • Skill view integration: Registers a Skills tab in the conversation view, alongside Chat and Trajectory.
  • Filtering/search: Provides a search box and supports filtering by skill name or description.
  • Bulk toggles: Supports enabling or disabling all visible skills with one click.
  • Model-side control: Writes disable-model-invocation: true by modifying the frontmatter of SKILL.md to intercept model-side invocations.

Installation and Activation

Installing this plugin requires specifying a DSH profile (the example uses the web profile).

  1. Run the install command in the plugin source directory:
dsh plugin --profile web add file:./dsh-plugin-skill-manager
  1. Add the plugin to the profile’s bundle layer. Edit ~/.dsh/profiles/web/package.json and add dsh-plugin-skill-manager to the dsh.profile.bundles array:
{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-plugin-marketplace",
        "dsh-plugin-skill-manager"
      ]
    }
  }
}
  1. After installing or updating the plugin, you must restart DSH and refresh the Web UI before the Skills tab appears.

Usage Instructions

After starting DSH, a Skills tab appears at the top of the conversation view. In this tab, you can:
* Use the search box to quickly locate a skill.
* Click the toggle next to a skill to enable or disable a single skill.
* Use the “Enable All” or “Disable All” toggle at the bottom for bulk operations.

Disabling a skill writes directly to the frontmatter of the SKILL.md file and adds disable-model-invocation: true. This invalidates the model-side skill directory, while the skill list in the UI remains visible, making it easy to re-enable it at any time.

Notes

  • Dependency handling: file: dependencies are copied to the pnpm store. If you modify the plugin source, you need to rerun the installation command (pnpm --dir "$HOME/.dsh/profiles/web" remove ... && pnpm --dir ... add --force file:./...) and restart DSH.
  • Restart requirement: After installing, updating, or changing configuration, you must restart the DSH process before the Web UI becomes aware of the changes.
  • Directory invalidation: Once the directory is invalidated, it updates automatically; you do not need to restart the directory itself.

Conclusion

This plugin provides a more intuitive way to manage skills through the Web UI, reducing the operational cost of debugging agents.