DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Extension Manager — DSH Plugin for DeepSeek Harness
← Plugins
E

dsh-extension-manager

Extension Manager

Unified plugin & skill manager for DeepSeek Harness (DSH): inventory, update checks, and safe transactional updates.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:NewBeeJack/dsh-extension-manager#db82329791690cf45f9aae8a1593703d41716cfe
READMECompatibilityVersions
Extension Manager — Plugins pageSkills pageDiagnostics dialog

Compatibility and provenance

Extension Manager is published as dsh-extension-manager and currently resolves to version 0.1.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/18/2026

Versions

0.1.1stable
10/18/2026
0.1.0stable
10/18/2026

Related plugins

Loading related plugins…

Latest
0.1.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 2
Weekly downloads
0
Last push
10/18/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panelOpsdsh-opsNative file and PTC tools for DSH on Windows x64, Linux x64 and macOS Apple Silicon; optional managed Bash and host PowerShell integration

README

DSH Extension Manager

A native DSH (DeepSeek Harness) plugin that inventories, checks and safely updates the Plugins and Skills installed on your machine — from one page inside the DSH Web GUI.

It is a real settings section, not a standalone site: Settings → 扩展管理器 (Extension Manager). All data comes from Host-side reads of the plugin manager, the live Skills registry, profile manifests, pnpm lockfiles, npm registries, GitHub and git ls-remote. Updates run as durable transactions with verified backups and automatic rollback.

Extension Manager — Plugins page

Features

  • One page, two inventories. A segmented Plugins / Skills control, five-cell stats, source groups, search, status/source filters, sorting, workspace-aware Skills scanning, details dialogs and per-record update history.
  • Plugins: installed third-party bundles, the Loader rows they contribute, runtime loaded/failed state, install spec/version/provenance, and read-only views of other readable profiles. DSH-shipped components are intentionally excluded — DSH's own Built-in plugins page manages them.
  • Skills: physical copies vs. runtime-visible skills, same-name shadowing, unmanaged roots, invocation policy, provenance and local-modification state.
  • Update checks: npm registry lookup with private-registry isolation and DSH-compatibility evaluation; git installs through git ls-remote; Skills through GitHub trees API and .skill-lock.json folder hashes. Failures and rate limits are reported, never rendered as “up to date”.
  • Safe updates: plan → confirm → verified backup → download/stage → install → read-back validation; failures roll back automatically. One update at a time (concurrent requests get 409 update-busy), durable history and backup retention.
  • Diagnostics dialog: environment facts, registries/proxy, writability probes, completeness audit for both inventories and the current limitations list.
  • Theme-native UI: light/dark themes, DSH design tokens, responsive layout, symmetric dialog spacing with 24px top/bottom breathing room.
Skills pageDiagnostics
Skills pageDiagnostics dialog

Requirements

ItemRequirement
DSH0.2.1-rc.2 (compatibility baseline)
Node.js>=22.19.0 (Node 24 verified)
pnpmprovided through dsh plugin
gitoptional — required only for git-installed plugins/skills
Networknpm registry and/or GitHub; HTTPS_PROXY / HTTP_PROXY / NO_PROXY and GITHUB_TOKEN / GH_TOKEN are honored

Installation

From npm registry (easiest)

dsh plugin --profile web add dsh-extension-manager
# pin a version: dsh plugin --profile web add dsh-extension-manager@0.1.1

The npm package name also works directly in DSH's Plugins → Add plugin dialog. Then enable the bundle and restart DSH as described below.

From a release tarball

  1. Download dsh-extension-manager-0.1.1.tgz from the latest release.

  2. Install it into a DSH profile (example: web):

    dsh plugin --profile web add "<absolute path>/dsh-extension-manager-0.1.1.tgz"
    
  3. Enable the bundle. dsh plugin forwards to pnpm and does not select the bundle, so add "dsh-extension-manager" to dsh.profile.bundles in $DSH_HOME/profiles/web/package.json, or enable it from the DSH plugin manager UI.

  4. Restart DSH (or let HMR recompose the profile). Open Settings → 扩展管理器.

From source

npm ci
npm run build          # lib/index.js (Host ESM) + lib/client.js (Web client)
npm test               # 98 unit tests
npm pack               # dsh-extension-manager-0.1.1.tgz

Then install the packed tarball as above. For iterative development use dsh plugin --profile web add "link:<path-to-checkout>" and rebuild; the client bundle hot-swaps and node scripts/dev/reload-host.mjs can trigger a Host recomposition.

Using the page

Open Settings → 扩展管理器. The toolbar provides search, source/status/range filters, a Skills workspace picker, refresh, diagnostics, check all updates and update all safe updates (N).

  • Check is per item or batch; results are cached for 5 minutes and recorded in state.json.
  • Update always builds a plan first. Batch mode only auto-runs safe entries; items with local modifications, prerelease-only or git sources are listed for explicit per-item confirmation (with a risk checkbox and optional overwrite confirmation).
  • The task panel streams progress; when a restart is required the page shows a pending-restart banner.
  • Everything writable is addressed by inventory id and resolved server-side; client-supplied paths are never trusted.

Update safety

PREFLIGHT → BACKUP → DOWNLOAD → STAGE → INSTALL → VALIDATE → PENDING_RESTART / VERIFIED
failures: FAILED → RECOVERY → RECOVERED / RECOVERY_REQUIRED
  • The install directory plus profile manifests (package.json, pnpm-lock.yaml, pnpm-workspace.yaml, cordis.patch.yml, compatibility.json) are hash-verified before any destructive step.
  • Validation reads listBundles() back and checks the lockfile commit; a zero exit code alone is not success.
  • Backups live under $DSH_HOME/extension-manager/backups/<txid>/; the newest 20 transactions are kept (open transactions are never pruned). Logs are JSON Lines with credential masking.
  • The manager never updates itself, never restarts DSH, and never writes to other profiles. DSH-shipped components are not listed or updated here; use DSH's Built-in plugins page for those.

Compatibility and limitations

  • Baseline: DSH 0.2.1-rc.2. Uses ctx.pluginManager, ctx.skills, ctx.webServer, profileContext, ctx.connection.admit, optional loader/configEditor/workspaceRegistry/hmr.
  • Other profiles are read-only. DSH-shipped components are excluded from this page and follow the DSH release (manage them in Built-in plugins).
  • Git-installed plugin updates are single-item, explicitly confirmed, and cannot fully roll back install-script side effects.
  • Skills auto-update supports GitHub-backed directory skills only; flat-file skills and directories containing symlinks are refused.
  • No per-skill enable/disable (DSH has no such mechanism), no in-page self-update, no DSH restart from the page, no “cancel running update” button.
  • Verified on Windows; POSIX code paths exist but are untested.

The full limitation list and detailed rules are in README.zh.md §9 (Chinese; a complete user/maintenance guide).

Development

npm ci
npm run typecheck
npm test
npm run build
  • test/*.test.ts — 98 unit tests (native Node TS runner, no build step): registry/git/lockfile parsing, compatibility, transaction state machine, backups, archive extraction, rollback and crash recovery.

  • Isolated acceptance environment (never touches your real ~/.dsh / ~/.agents):

    node scripts/test-env/setup.mjs [root]
    node scripts/test-env/start.mjs --port 3099 [--root <root>]
    node scripts/test-env/run-all.mjs
    node scripts/test-env/stop.mjs
    

    The scenarios cover npm/git/Skills updates, rollback, local-modification conflicts, batch/concurrency, interrupted-install recovery and Windows file locks.

  • Dialog layout regression (CDP, headless Chrome):

    node scripts/dev/verify-dialog-layout.mjs --url "http://127.0.0.1:3080/?token=..." \
      --cookie scripts/dev/cookie.json --sizes "1920x1080,1536x864,1366x768,1093x614,911x512,683x384"
    

    It opens every dialog, asserts 24px/24px top/bottom spacing, no footer overlap, scrollable body with a readable last line, multiple viewport sizes and dark mode. See docs/dialog-layout.md.

Project layout

src/host/        Host plugin: inventory, update checkers, transactions, routes, backups
src/client/      Web client: settings section, list, dialogs, update task panel, styles
src/shared/      Shared types and API contract
test/            Unit tests
scripts/         Build, isolated acceptance environment, browser verification helpers
docs/            Architecture, dialog-layout contract, test/acceptance summary

Documentation

  • README.zh.md — full Chinese guide: installation, every UI element, check/update rules, recovery, maintenance, limitations, troubleshooting.
  • docs/architecture.md — Host/client design, data model, transaction state machine, security model.
  • docs/dialog-layout.md — dialog spacing contract and automated visual regression.
  • docs/testing.md — test suites, isolated acceptance scenarios and verification results.

Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md. Please run npm run typecheck && npm test && npm run build before opening a PR. For security reports, follow SECURITY.md.

License

MIT