DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

6pofx /

6pofx/dsh-tool-explorer

Verified

DSH(DeepSeek Harness)技能与 MCP 管理控制台插件:按来源分级浏览全部已加载技能,独立开关模型/用户调用,创建/编辑/删除技能(可恢复回收站),从 GitHub 多选批量安装;增删改 MCP 服务器、状态监控与连接测试。Management console for DeepSeek Harness (dsh): grouped skill browsing, model/user invocation toggles, GitHub batch install, recoverable trash, and MCP server management.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@616634bc

English | 中文

dsh-tool-explorer

npm version npm downloads license

Management console for DeepSeek Harness (dsh): a Web settings page where you can browse, install, update, edit and toggle skills, and add, edit, enable/disable, test and monitor MCP servers.

Features

Skills

  • Full catalog across every provider (project/user/bundled/plugin) merged with the shared .skill-lock.json
  • Hierarchical browse by source: collapsible source tree (project-dsh → project-agents → custom → user-dsh → user-agents → runtime → bundled), each source subdivided by provider, with loaded/disabled counts; source + state filters and flat view
  • Search, detail preview, online create/edit (kebab-case validation, frontmatter form, Markdown body)
  • Independent model / user invocation switches — turn off the model call for a skill alone (disable-model-invocation) while keeping the / menu, or vice versa; both off = fully disabled
  • Recoverable trash: deleting a user-root skill moves it to <dshHome>/skills-trash (lock entry snapshotted); restore puts it back byte-identically, or purge / empty for permanent removal
  • Install from GitHub: URL parsing (owner/repo, tree paths, #branch), candidate preview with multi-select / select-all batch install (one repo = one tarball download, conflicts reported per skill), install into ~/.agents/skills or ~/.dsh/skills, update check/apply (backup + rollback), uninstall
  • skillFolderHash is byte-compatible with the Skills CLI (npx skills)

MCP

  • Server list with live state (fiber phase), tool inventory and per-server tool counts
  • Add/edit/delete servers (stdio + streamable-http) and enable/disable toggles — all through the profile patch layer (HMR hot-applies, no restart)
  • Cross-agent import: scan ~/.claude.json, ~/.cursor/mcp.json, ~/.codex/config.toml (TOML), ~/.cline/mcp_settings.json, ~/.roo/mcp.json, ~/.continue/mcp.json, ~/.codeium/windsurf/mcp_config.json and import in one click
  • Test connection with an independent SDK probe (never disturbs running instances)
  • Write fencing (expected-hash) against concurrent hand edits

Install

Published on npm (v0.4.1):

dsh plugin --profile web add dsh-tool-explorer

dsh plugin reconciles the bundle automatically. Restart dsh web once (host plugins load at boot), then open Settings → Skills 和 MCP.

Local development

pnpm install
pnpm run typecheck   # tsc for host + client sources
pnpm run build       # tsc host -> lib/, tsdown client -> client/client.js (wrapped + verified)
pnpm test:self       # 116+ assertions: mock host CRUD, cross-agent import, git install, trash, real stdio probe

Local install loop:

pnpm pack
dsh plugin --profile web remove dsh-tool-explorer
dsh plugin --profile web add file:G:/dsh-tool-explorer/dsh-tool-explorer-0.4.0.tgz

Adding a runtime dependency (e.g. tar) requires a re-pack + reinstall — copying lib/ alone is not enough.

Reference implementations

The M5 feature set (source-grouped browse, per-axis invocation, recoverable trash) was designed against the existing community plugins below — cloned under .ref/ for reference:

  • cheshireez/dsh-skill-hub — in-GUI skill hub on the official ctx.skills registry; its .trash/ rename + restore + clear pattern inspired our recoverable trash
  • SeverusZh/dsh-skills-mcp-group-manager — group management and model-catalog filtering via a shadow skill provider
  • BAIKAI23333/dsh-skills-manager — settings-page skills manager
  • peiqi10086/dsh-skills-market — sidebar skills panel (user/project/bundled) + SkillHub marketplace

Design notes: we keep the platform-documented frontmatter dual switches (disable-model-invocation / user-invocable) instead of skill-hub's SKILL.md.disabled rename, and keep the trash outside every skill root so provider watchers never observe it.

Layout

Path Purpose
src/index.ts Host entry; plain host object built from injected services (never mutate the Cordis scope proxy)
src/routes.ts HTTP routes under /dsh-tool-explorer/api/* (same-origin enforced on writes)
src/mcp.ts MCP manager: patch-layer CRUD, enable/disable, state derivation, SDK probe
src/skills.ts Skills catalog (registry × lock file × disk), edit/toggle, per-axis model/user invocation, frontmatter parsing (full YAML)
src/skills-trash.ts Recoverable trash: delete-to-trash, restore, purge, empty (<dshHome>/skills-trash + manifest)
src/skills-install.ts GitHub install ecosystem: tarball fetch (regional proxy), candidate discovery, lock v3, CLI-compatible folder hash
src/agents-mcp.ts Cross-agent MCP import (JSON + Codex TOML subset parser)
src/patch-text.ts Patch-layer dialect: parse (!!js tolerant), surgical row edits, [] placeholder handling, atomic writes
scripts/ Client bundle wrapper/check, self-test, and local dsh-mcp-client patches (see below)

Local dsh-mcp-client patches

Two idempotent patches fix upstream dsh-mcp-client gaps until the official package gains config support (reported upstream; re-run after any mcp-client update — dshmarket upgrades restore the official files):

# 1) silence stdio server stderr (banners/JSON logs were flooding `dsh web` output)
node scripts/patch-mcp-client-stderr.mjs
# 2) bound the startup wait (a hanging/unreachable server blocked the ready line)
node scripts/patch-mcp-client-async.mjs

Backups are written as index.js.*.bak next to the patched file.

Feedback

Issues, feature requests and upstream discussions:

  • The two local patches above are reported upstream in DeepSeek Harness Discussions #5129 — follow it for the official fix.
  • For anything else about this plugin, open an issue or discussion in this repository.

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 616634bc5a21

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout