DeepSeek Harness plugin

dsh-plugin-skill-manager-gui

Graphical skill manager for DeepSeek Harness — create, edit, import, and delete SKILL.md skills from the web settings UI. · DSH 技能管理器:在网页设置里图形化新建、编辑、导入、删除 SKILL.md 技能。

Jump to install

Source facts

Repository
luoying2334/dsh-plugin-skill-manager-gui
Latest update
Aug 18, 2026
Category
Tools & Capabilities
GitHub stars
2
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/luoying2334/dsh-plugin-skill-manager-gui
Plugin: dsh-plugin-skill-manager-gui
Author: luoying2334

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-plugin-skill-manager-gui

中文 | English

Graphical skill manager for DeepSeek Harness (dsh). Create, edit, import, and delete SKILL.md skills from the Web settings UI — no terminal, no hand-edited YAML frontmatter.

npmdsh-plugin-skill-manager-gui
Categorydsh-plugin
License[MIT](LICENSE)

Features

  • List managed skills with their description, location, and invocation flags.
  • Create a new skill through a form: name (kebab-case), description, optional whenToUse, install location, model/user invocation toggles, and the Markdown instruction body.
  • Edit an existing skill (the name is immutable while editing — rename by recreating).
  • Delete with a confirmation step.
  • Import a ZIP of skills (<name>/SKILL.md or <name>.md, plus nested resources) into global or one workspace — a zipped folder works too.
  • Global or multiple workspaces: install to the machine-global root ($DSH_HOME/skills) or one/more workspaces (<workspace>/.dsh/skills), and move a skill to a new location any time by editing it. Skills installed to several workspaces are merged into a single list entry — the same roots the built-in skill-filesystem provider scans, so anything you write is picked up without a restart.
  • Bilingual (中文 / English) and theme-aware, rendered with the native DSH UI primitives.

Install

dsh plugin --profile web add dsh-plugin-skill-manager-gui

Restart dsh web, then open Settings → Skills.

> Git-hosted installs run the package's prepare build script, which pnpm ≥ 10 blocks until you allow it. Copy the key pnpm prints into the profile's pnpm-workspace.yaml allowBuilds and re-run. Installing from npm or a tarball needs no allowance.

Usage

1. Open Settings → Skills. 2. Click New skill, fill in the form, tick one or more install locations, and Save. Or click Import ZIP to bring in a batch of skills. 3. The skill lands as a directory bundle:

`` $DSH_HOME/skills/<name>/SKILL.md # global (user) <workspace>/.dsh/skills/<name>/SKILL.md # one workspace ``

4. The built-in skill discovery picks it up on the next pass — the model can then load it via the skill tool, and the /-trigger menu offers it for user invocation.

How it works

The package is a single dual-face bundle (host + browser), following the standard out-of-tree plugin shape:

  • Host (src/index.ts) injects webServer + workspaceRegistry and registers HTTP routes under /skill-manager that read and write SKILL.md bundles.
  • Browser (src/client/) registers a settings.section and drives the routes with fetch.

See [docs/architecture.md](docs/architecture.md) for the wire protocol, security model, and directory layout.

Security

Mutating routes (write, remove, import) write files with the host user's permissions, so they are loopback-pinned and same-origin only — the same boundary the harness uses for its own privileged operations. Read routes (list, read, workspaces) are read-only. ZIP import sanitizes every entry path so no .. or absolute path can escape the target root.

Development

Requires Node.js 22.19+ (24 recommended) and npm.

npm install        # also runs `prepare` → build
npm run typecheck  # tsc on host + client
npm test           # vitest unit tests (host skill store)
npm run build      # tsc (host lib/) + tsdown (client/client.js)

Project structure

src/
  index.ts               host entry: mounts HTTP routes on webServer
  routes.ts              /skill-manager route dispatch
  skills.ts              SKILL.md filesystem service (list/read/write/remove)
  import.ts              ZIP import (safe extraction)
  http.ts                JSON + same-origin + loopback helpers
  types.ts               shared wire types
  client/
    index.ts             client entry: settings.section registration
    SkillManager.tsx     the React settings UI
    SkillManager.module.css
    locales.ts           zh / en
cordis.patch.yml         bundle patch layer
tsdown.config.ts         client bundle build (__ModuleLoader__ factory)
.github/workflows/       ci.yml + release.yml

Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

License

[MIT](LICENSE)