dsh-skill-hub
Manifest valid★ 35DeepSeek Harness (dsh) Web GUI Skill Hub: browse/search the complete local skill directory, enable/disable, view body, diagnose, and scaffold new skills, based on the official ctx.skills registry. In-GUI skill hub for dsh: browse, search, enable/disable, inspect, diagnose and scaffold local skills from the
dsh-skill-hub
In-GUI skill hub for DeepSeek Harness — browse the full ctx.skills catalog, toggle skills, inspect bodies, fix discovery issues, install from the market, and scaffold new ones.
Host runs in the dsh process via official SDKs only; browser renders through official slots. No dsh source changes.
Quick start
dsh plugin --profile web add dsh-skill-hub
# restart dsh web → Settings → 技能 → Market → scan → import
Requires Node ^22.19 || >=24 + dsh web (0.1.6-alpha.1, 0.1.x forward compatible).
Features
Settings → 技能 — 3 tabs: Sources (skills, flat/grouped + project tree), Scenes (custom tag groups), Market (install + update).
- Browse — every root of the
ctx.skillsregistry: project / user / bundled + third-party providers. Search across name, description,displayName; filter by source and invocation (model / user); sort by name, added time, or usage. Same-name skills from different sources get a duplicate badge instead of silently hiding. - Toggle — per-skill switches and per-group tri-state switches with a conflict dialog (close all / keep on). Disabling renames the discovery file (never deletes); disabled skills stay inspectable and re-enableable from their detail page. Only
~/.dsh/skills&~/.agents/skillsare writable; everything else is read-only. - Organize — scenes (tags) plus auto-aggregated source collections, all drag-reorderable and persisted in
~/.dsh/dsh-skill-hub.json. Edit mode reveals delete/reorder without cluttering the read view. - Diagnose & fix — files the provider skips (missing frontmatter, bad YAML, name mismatch, short description) show up with reasons; auto-fixable ones (e.g. unquoted
:in descriptions) get a one-click Fix button. - Scaffold — new-skill wizard writing to
~/.dsh/skillsor~/.agents/skills(SKILL.mdtemplate below). - Market — built-in curated repos plus custom
owner/reposources. Any top-level directory containingSKILL.mdscans as a root (no allowlist). Async import with byte-level progress and cancel. Each source pins a version — click the ref badge to switch between releases, branches, or a custom ref. - Track updates — imported skills record a repo + commit snapshot. Check all / update-all, per-source badges (installed / updatable / deleted upstream / new release). Sync overwrites local edits (with confirm); upstream deletions move into a restorable trash that keeps source and scene membership.
- Stats — per-skill call counts + last-used times from session logs (incremental cache), group summaries; window and scan interval live-configurable from the settings card.
- Settings card — master switch, announce-to-agent, invocation dot colors, usage display toggles, stats window/interval; plus a self-update check against GitHub releases.
Why not just the read-only browser?
dsh-skill-manager browses, dsh-skill-importer / dsh-find-skill import. This plugin manages.
| Capability | read-only browser | dsh-skill-hub |
|---|---|---|
| Catalog | user roots, self-scanned | ctx.skills registry, all roots + third-party |
| Toggle | ❌ | ✅ per-skill + per-group, never deletes |
| Diagnostics | ❌ | ✅ reasons + one-click fix |
| Market | ❌ | ✅ built-in + custom, version pins, update-all |
| Source tracking | ❌ | ✅ check/sync/trash with restore |
| Stats | ❌ | ✅ counts + last-used |
Scaffold format (SKILL.md):
---
name: my-skill
description: One line when the agent should use this skill.
---
# my-skill
Body...
How it works
GitHub repo ──scan/import──▶ ~/.dsh/skills
▲ │
└─check/sync/delete── ctx.skills ◀─ provider
│ snapshot/get
▼
/api/skill-hub/* ──▶ Panel (Settings → 技能)
Host uses only ctx.skills.snapshot/get, ctx.webServer.register, ctx.systemPrompt.section. Loopback-only routes (127.0.0.1/localhost), JSON.
HTTP API
| Endpoint | Method | Purpose |
|---|---|---|
/api/skill-hub/catalog?cwd= | GET | skills + disabled + diagnostics + duplicates |
/api/skill-hub/skill?name=&cwd= | GET | skill body (works for disabled too) |
/api/skill-hub/skill/delete | POST | move to trash (snapshots source+scenes) |
/api/skill-hub/toggle | POST | {name, enabled} |
/api/skill-hub/toggle-batch | POST | {names, enabled} |
/api/skill-hub/create | POST | {name, description?, root?} |
/api/skill-hub/diagnostic/fix | POST | {path} auto-fix frontmatter |
/api/skill-hub/stats | GET | invocation counts |
/api/skill-hub/config | GET/POST | runtime config (null clears) |
/api/skill-hub/groups | GET | tags + collections + orders |
/api/skill-hub/tag etc. | POST | create/rename, delete, set members, reorder |
/api/skill-hub/market etc. | GET/POST | list/add/delete/pin/check/sync sources |
/api/skill-hub/market/source/versions?repo= | GET | releases + branches for the version picker |
/api/skill-hub/repo?repo= | GET | discover (any root) |
/api/skill-hub/repo/import | POST | async job {jobId, total, totalBytes} |
/api/skill-hub/repo/import/progress?jobId= | GET | poll job |
/api/skill-hub/repo/import/cancel | POST | cancel job |
/api/skill-hub/sources etc. | GET/POST | list/check/sync/delete/restore/clear trash |
/api/skill-hub/update | GET | plugin latest release |
Development
npm run typecheck # tsc --noEmit
npm test # 176 tests, 9 suites
npm run build # tsc + tsdown → lib/index.js + lib/client.js
Don't run two
dsh webon the same$DSH_HOME+ cwd — no session-log lock (seq gapcorruption). Use separateDSH_HOME.
Troubleshooting
duplicate loader entry id: skill-hub— remove the duplicate install (keep onedsh plugin addmethod).- Skill missing — check the diagnostics section (frontmatter / name mismatch / short description).
- Empty source group — its skills were deleted, or their disabled records were lost (sidecar restored/hand-edited). Startup reconciles
.disabledfiles on disk; source groups with no visible member are no longer rendered. - Dots missing in
/menu — dsh internals changed; catalog still works.
Community
Issues · Discussions · Showcase · Market PR · Discord
License
MIT — LICENSE.
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.0.1 | — | — |
| 0.2.4 | — | — |
| 0.2.2 | — | — |
| 0.3.1 | — | — |
| 0.3.2 | — | — |
| 0.3.3 | — | — |
| 0.3.4 | — | — |
| 0.3.7 | — | — |
| 0.3.11 | — | — |
| 0.1.0 | — | — |
| 0.3.8 | — | — |
| 0.2.0 | — | — |
| 0.3.9 | — | — |
| 0.3.13 | — | — |
| 0.2.1 | — | — |
| 0.3.5 | — | — |
| 0.3.10 | — | — |
| 0.2.5 | — | — |
| 0.3.12 | — | — |
| 0.2.6 | — | — |
Comments
Loading…
Similar plugins
by WLX2007
DeepSeek Harness (DSH) 技能中心插件 —— 原生 Web GUI 面板:搜索网络技能市场(SkillHub / skills.sh / GitHub)、一键安装到用户/项目根、管理与创建本地技能。npm: @wulongxi/dsh-skills-hub
★ 1
BSD-3-Clause
TypeScript
Oct 13, 2026
dsh plugin --profile web add @wulongxi/dsh-skills-hubby peiqi10086
DSH(DeepSeek Harness)Skills 管理 + SkillHub 商城插件:侧边栏面板管理本地 skills(用户级/工作区项目级/内置只读),搜索并一键安装 SkillHub 公开技能,附模型工具 dsh_skillhub_search。
★ 9
MIT
TypeScript
Aug 24, 2026
dsh plugin --profile web add dsh-skills-marketby tuoLuoSuan
技能中心 — 在 DeepSeek Harness 的 Web GUI 里浏览、体检并一键安装全世界的 Agent Skills。Skill Center for DSH: five public skill sources, pre-install validation, provenance, update checks and a trash.
★ 3
↓ 248/wk
MIT
JavaScript
Oct 10, 2026
dsh plugin --profile web add dsh-skill-centerby montersy123
Browse, search and install SkillHub skills inside DeepSeek Harness. / 在 DeepSeek Harness 内浏览、搜索并安装 SkillHub 技能。
★ 4
↓ 637/wk
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add @montersy123/dsh-skill-marketby xiaoxianyu-office
DSH Skills 管理器:设置页系统/用户技能分类,用户技能开关/编辑/删除/新建。Skills manager for DeepSeek Harness: system/user skill management (toggle/edit/delete/create) in Settings.
★ 3
↓ 643/wk
JavaScript
Aug 14, 2026
dsh plugin --profile web add dsh-skills-managerby artorias-zj
DSH 插件:启动时加载 C:\Users\<当前用户>\.cc-switch\skills 中的全部 skill(SKILL.md 目录包与平铺 .md),并自动监视增删改。Loads every skill from the current user's .cc-switch\skills directory into DeepSeek Harness at startup.
★ 0
MIT
JavaScript
Oct 3, 2026
dsh plugin --profile web add dsh-cc-switch-skills