dshbase

插件目录 / Developer / dsh-skill-hub

dsh-skill-hub

已验证 · 实测可装 cheshireez

✓ 持续维护 3 位贡献者 基于 15 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

26Stars
4Forks
1未关闭 issue
TypeScript语言
2026-09-29最近推送
跨平台平台

功能简介

DeepSeek Harness(dsh)Web GUI 技能中枢:浏览/搜索完整本地技能目录、启用/禁用、查看正文、排查诊断、新建技能,基于官方 ctx.skills 注册表。 In-GUI skill hub for dsh: browse, search, enable/disable, inspect, diagnose and scaffold local skills from the official ctx.skills registry.

✅
我们的评价
可用 — 实测通过,社区增长中

DeepSeek Harness(dsh)Web GUI 技能中枢:浏览/搜索完整本地技能目录、启用/禁用、查看正文、排查诊断、新建技能,基于官方 ctx.skills 注册表。 In-GUI skill hub for dsh: browse, search, enable/disable, inspect, diagnose and scaffold local skills from the official ctx.skills registry. 实测能干净安装、正常启动。社区在增长,是个稳妥选择。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-skill-hub

中文版 | English

npm version downloads license node

dsh-skill-hub panel

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.7-alpha.1 <0.3.

Two surfaces — the hub panel lives at Settings → 技能, and this plugin's own configuration card sits on the plugin's page in the Plugins manager (sidebar → 插件 → dsh-skill-hub). The card is registered by the plugin itself into the plugins.bundle.config slot — dsh has no auto-generated config page — and covers the master switch, announce-to-agent, dot colors, usage display and the stats window/interval.

Features

Settings → 技能 — 3 tabs: Sources (skills, flat/grouped + project tree), Scenes (custom tag groups), Market (install + update).

  • Browse — every root of the ctx.skills registry: 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/skills are 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/skills or ~/.agents/skills (SKILL.md template below).
  • Market — built-in curated repos plus custom owner/repo sources. Any top-level directory containing SKILL.md scans as a root (no allowlist), and a SKILL.md at the repo root itself scans as a single skill named after the repo (minus repo tooling such as .github/). 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 — registered on the plugin's own page in the Plugins manager (sidebar → 插件 → dsh-skill-hub; collapsed until you expand the title): master switch, announce-to-agent, invocation dot colors, usage display toggles, stats window/interval.

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 sources; …/source/check + …/source/sync update them
/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
unknown /api/skill-hub/* GET/POST 404 {error} naming the path — a typo must not read as an auth failure (the SPA fallback answers 401 for /api/* it does not own)

Development

npm run typecheck  # tsc --noEmit
npm test           # 254 tests, 14 suites
npm run build      # tsc + tsdown → lib/index.js + lib/client.js

Don't run two dsh web on the same $DSH_HOME + cwd — no session-log lock (seq gap corruption). Use separate DSH_HOME.

Troubleshooting

  • duplicate loader entry id: skill-hub — remove the duplicate install (keep one dsh plugin add method).
  • 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 .disabled files on disk; source groups with no visible member are no longer rendered.
  • Dots missing in / menu — dsh internals changed; catalog still works.
  • Settings card missing — open the plugin in the Plugins manager (sidebar → 插件 → dsh-skill-hub) and expand the 「技能中枢」 card at the top of the page (collapsed by default). On dsh older than 0.1.7-alpha.1 this plugin does not load at all (the settings API it targets does not exist there).

Community

Issues · Discussions · Showcase · Market PR · Discord

License

MIT — LICENSE.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-skill-hub」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:cheshireez/dsh-skill-hub

Headless(CLI)profile:

dsh plugin --profile headless add github:cheshireez/dsh-skill-hub

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →