DSH Plugins Marketplace

DSH Plugins

Skills

/

dsh-skill-manage

N

dsh-skill-manage

Manifest valid

DeepSeek Harness 技能管理设置页插件:图形化管理用户级/项目级技能的安装、卸载与调用启停

UI (client)hasBundlePatch

dsh-skill-manage

npm version license stars

A graphical skill manager for DeepSeek Harness (dsh). Install, search, enable, disable and remove skills from your Web UI — no SKILL.md editing, no shell commands.

English · 中文

Features

  • Zero-file management — enable/disable, overwrite and uninstall skills through a Web UI panel; frontmatter flags (disable-model-invocation, user-invocable) are rewritten for you.
  • Four install channels — a local folder, a browser folder picker, a GitHub URL, or an online search over skills.sh.
  • Smart batch installs — paste a …/tree/<branch>/<dir> link; a parent directory yields a plan from the GitHub Trees API (~0.5 s, zero clone; falls back to a local clone scan automatically). Tick what you want and install in one shot.
  • Conflict-first UX — same-name skills never die by default; an inline prompt offers Overwrite / Cancel, identically across every install channel.
  • Network resilience — a direct GitHub clone that fails transparently retries through ghfast.top / gh-proxy.com mirrors (on by default).
  • Official rank alignment — scans ~/.dsh/skills + ~/.agents/skills in the exact order the official dsh-skill-filesystem provider uses, including same-name shadowing.

Screenshots

User scope — manage every skill registered for all sessions:

user scope

Project scope — pick a workspace from the Web UI switcher and manage its .dsh/skills:

project scope

Installation

From npm (recommended):

dsh plugin --profile web add @nay-1/dsh-skill-manage

If the pnpm supply chain policy blocks the build script, grant approval in your profile:

# ~/.dsh/profiles/web/pnpm-workspace.yaml
allowBuilds:
  '@nay-1/dsh-skill-manage': true

From GitHub:

dsh plugin --profile web add github:Nay-1/dsh-skill-manage

From a local path:

git clone https://github.com/Nay-1/dsh-skill-manage.git
cd dsh-skill-manage && pnpm install && pnpm build
dsh plugin --profile web add /path/to/dsh-skill-manage

Restart dsh web, then open Settings → Skill Management.

Usage

Management scopes & priority

ScopeDirectoryRankNotes
Project (.dsh)<projectRoot>/.dsh/skills100Highest priority
Project (.agents)<projectRoot>/.agents/skills200Shown with a .agents badge
User (.dsh)~/.dsh/skills ($DSH_HOME/skills)400Default view
User (.agents)~/.agents/skills ($DSH_AGENTS_HOME/skills)500Shown with a .agents badge

The project root is resolved to the nearest ancestor containing .git (official provider semantics). Same-name skills are shadowed by the higher-rank root; installs always land in the top root of their scope. Every skill from a non-top rank root (.agents) gets a .agents badge in the list — user and project scopes alike.

Skill formats: directory bundles (<name>/SKILL.md) and flat single-file skills (<name>.md) are both discovered and manageable.

Installing skills

TabWhat you paste / doResult
Local foldera filesystem path (or a .md file path for a flat skill)installs after frontmatter validation
Browsebrowser folder pickeruploads without exposing absolute paths
GitHubgithub:owner/repo, owner/repo, complete HTTPS URL, or a web …/tree/<branch>/<dir> linka skill dir installs directly; a parent dir opens an install plan
Searcha keyword → skills.sh results (name / repo / install count)click Install — the skill is located in-repo by name (BFS, no need to know the exact path)

Install plan (parent-directory links, bare multi-skill repos):

  1. The repo tree is scanned via the GitHub Trees API — about 0.5 s, no clone (falls back to a clone scan when the API errors, rate-limits, or truncates).
  2. A checklist appears; rows already present are marked Already installed and unchecked by default — checking one means overwrite.
  3. With more than 15 skills a confirmation bar asks first: "N skills — continue?".
  4. Confirm → one shallow clone → each checked skill is validated and installed.

GitHub examples:

InputBehavior
github:JimmyLv/bibigpt-skillsingle-skill repo, auto-located
https://github.com/github/awesome-copilot/tree/main/skills/acquire-codebase-knowledgetree link, one skill, direct
https://github.com/github/awesome-copilot/tree/main/skillsparent dir → install plan
https://github.com/anthropics/skills#path:skills/docx#path: for exact subdirectories (alternative)

Conflicts

Every channel behaves the same: if the name exists, an inline "skill x already exists" prompt offers Overwrite / Cancel. Nothing is overwritten by accident.

Managing the list

  • Search / refresh by skill name.
  • Each row shows a colored letter icon, a status dot (green = enabled, grey = disabled) and an Enabled / Disabled pill.
  • Enable / Disable flips both disable-model-invocation and user-invocable in one click.
  • Uninstall is a two-click confirm, confined to managed skill directories.

Performance & limits

  • GitHub Trees API without authentication: 60 requests/hour — one scan uses one; on failure / rate limit / truncated payload the plugin silently falls back to a clone scan.
  • Batch installs have no hard cap, but >15 skills require explicit confirmation.
  • Private repositories are not supported (no credentials).
  • skills.sh search has a 10-second timeout with a friendly error; the site is a public, undocumented endpoint.

FAQ

GitHub installs hang or time out — is a VPN required? The clone runs inside the dsh process, so it needs either a reachable network or the mirror fallback (on by default). To use a system proxy, launch dsh in a shell that exports http_proxy/https_proxy; git inherits them. If the process has no proxy variables and the mirror cannot reach GitHub either, the error message tells you so.

Do I need a VPN at all? Usually not: ghfast.top and gh-proxy.com mirrors are reachable without a proxy. Keep use mirror on direct failure checked (default).

Skills.sh search says "response timed out". The endpoint is a third-party site; wait and retry. Direct connectivity to skills.sh is generally fine from China.

A skill I searched for cannot be installed. The repository must contain a SKILL.md with a valid name (kebab-case) and description. Skills.sh sometimes lists renamed or removed skills — pick the newest hit or use the repo directly.

Where does a skill come from? Skills in the .agents home root carry a small .agents badge in the list, so you always know which root you are editing or deleting.

Why does my npm install fail with "Two-step verification required"? That is an npm-side publishing policy, unrelated to this plugin — add 2FA to your npm account or use a granular access token with bypass-2FA enabled.

Architecture

PartFile(s)Role
Host halfsrc/index.tsregisters JSON routes under /dsh-skill-manage (host ESM bundle)
Browser halfsrc/client/registers the settings.section slot and renders the React page
Buildbuild.mjsesbuild: host ESM lib/index.js + browser lazy-CJS factory lib/client.js
Compositioncordis.patch.ymlbundle patch inserting the plugin row into the composition

Routes: GET /skills, GET /workspaces · POST /search-skills, /install, /install-upload, /install-github, /remove, /toggle.

Skills are discovered by scanning the filesystem directly (mirroring the official provider's directory and rank semantics), because ctx.skills in the host context only exposes the global layer. GitHub and upload installs clone or stage into temp dirs and reuse one handleInstall validation path. The client bundle is the stable module ID dsh-skill-manage (fixed, not the npm package name — see build.mjs) so registry loading works with any package name.

Development

pnpm install
pnpm build       # emits lib/
pnpm typecheck   # tsc --noEmit

Local loop: edit → pnpm build → restart dsh web.

License

MIT

Versions

Latest versionPublishedSize
0.1.0
0.1.1
0.1.2

Comments

Loading…

Similar plugins

lt-dsh-skill-manager

by tianLee-gitter

DSH 技能管理插件:在设置页管理 ~/.dsh/skills 的技能,支持多目录导入与 AI 名称解析(导入后可用 /name 引用)

Manifest valid

0

MIT

TypeScript

Aug 17, 2026

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

by weibaohui

DeepSeek Harness 插件:技能市场——安装/删除/详情 API + 管理界面

Manifest valid

11

560/wk

JavaScript

Sep 15, 2026

dsh plugin --profile web add @weibaohui/skills-management

by xiaoxianyu-office

DSH Skills 管理器:设置页系统/用户技能分类,用户技能开关/编辑/删除/新建。Skills manager for DeepSeek Harness: system/user skill management (toggle/edit/delete/create) in Settings.

Manifest valid

3

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-skills-manager

by jasper-zsh

DeepSeek Harness(DSH)的只读技能清单插件,在 Web GUI 中展示全局技能和当前会话可见的技能,并从会话日志推导技能加载状态。

Manifest valid

0

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-plugin-skill-panel

by 2768651338

DeepSeek Harness 的图形化插件管理插件:在 设置 → 插件 里新增「插件管家」标签页,用中文名和说明展示每个插件是做什么的,并提供一键启停开关与内置备注编辑——启停写入全局层补丁并实时热生效,备注保存到本地覆盖文件长期生效。

Tools & CapabilitiesDevelopment & InfrastructureTerminal & ClientsManifest valid

7

MIT

JavaScript

Aug 17, 2026

dsh plugin --profile web add @2768651338/dsh-plugin-manager

by awol2005ex3

DeepSeek Harness(`dsh`)插件:为单机的 harness 增加**用户管理**与**会话按用户隔离**。

Manifest valid

0

Apache-2.0

TypeScript

Sep 20, 2026

dsh plugin --profile web add dsh-user-manager