DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-plugin-dev

c

dsh-plugin-dev

Manifest valid

Development kit for DeepSeek Harness plugins: compose a profile, boot a throwaway shadow, verify the host half, capture the client half, roll back a broken profile

hasBundlePatch

@citisen/dsh-plugin-dev

Development kit for DeepSeek Harness (dsh) plugins: a small CLI for the parts that must be deterministic, and a bundled agent skill for the judgment in between.

Most dsh plugin failures are not code failures. They are composition failures (a row that does not resolve, a patch that replaces a whole config, a provider id that collides) or client half failures (a bundle that never mounts). None of those show up in a unit test, and all of them cost an afternoon when the only feedback is a broken app.

dsh-plugin-dev doctor                              # what this machine can test
dsh-plugin-dev compose --profile desktop --json    # the tree the launcher would mount
dsh-plugin-dev shadow  --from desktop --hold       # boot a throwaway copy, print url + token
dsh-plugin-dev shot    --url "$URL" --out shot.png # render it, capture console errors
dsh-plugin-dev snapshot save --profile desktop     # something to go back to

Why a package and not a script

dsh is an order of magnitude easier to develop against when the loop is: compose → diff → boot → look. That loop is four commands, and each of them is fiddly in a way that should be solved once:

  • the desktop profile is refused by the CLI ("managed exclusively by the Electron application"), so every check needs a copy;
  • the GUI answers 401 without its token, and readiness is a 303 token exchange, not a 200;
  • chrome --headless --screenshot hangs forever on the SPA;
  • a link: dependency that a package manager replaces can delete the linked worktree, .git included.

The commands encode those; the skill explains when to use which, and why.

Install

As a bundle, so the agent gets the skill (recommended):

dsh plugin --profile desktop add @citisen/dsh-plugin-dev

The package registers a skill provider, so dsh-plugin-dev appears in the agent catalog. No other profile row is touched, and disabling the bundle removes it again.

Standalone, for the CLI without the skill:

npx @citisen/dsh-plugin-dev doctor
# or
npm i -g @citisen/dsh-plugin-dev

Commands

CommandWhat it does
doctorDetects the launcher and its version, lists profiles, checks whether the chosen profile composes, finds a Chromium
composeComposes a profile through the real launcher. --save records a baseline, --check exits 1 on drift, --json lists entries and duplicate ids
shadowCopies a profile (files copied, node_modules linked), boots it on an OS-assigned port, waits for the URL, probes it, prints url/token/log
shotRenders a URL in headless Chromium over CDP: PNG, DOM stats, console errors and uncaught exceptions. --fail-on-console-error makes them fatal
snapshotSaves, lists and restores the three files that decide a profile's composition. restore snapshots the current state first

Common flags: --dsh <path>, --json, --help.

Requirements

  • dsh — the desktop application (the bundled CLI is found automatically), the published CLI on PATH, or --dsh <path> / $DSH_CLI.
  • Node 20+ for the CLI.
  • Chromium, Chrome or Edge for shot (found automatically; --browser <path> or CHROME_PATH otherwise).
  • Windows, macOS and Linux. The desktop app is optional: any dsh works.

How it works

Nothing is reimplemented. compose runs dsh --profile <p> --dump-config and diffs that text; shadow runs dsh --profile <copy> --no-open --port 0 and reads the URL the launcher prints; shot drives the browser over the DevTools protocol and nothing else. When the launcher refuses the desktop profile, compose and shadow build a temporary copy under another name — the same workaround a person would do by hand.

The host half is deliberately trivial: it reads skills/dsh-plugin-dev/SKILL.md and registers one skill provider. It cannot fail a profile boot.

Version support

Tested with dsh 0.2.1-rc.2 on Windows 11 (Electron 44 / Node 24.21). The kit shells out to the launcher, so a version that changes --dump-config, the dsh web: boot line, or the desktop-profile policy will surface as a loud error from doctor rather than a silent wrong answer. Please open an issue with the doctor --json output.

Contributing

The trap list is the product. See CONTRIBUTING.md — the short version is: a step becomes a script on its second manual repetition, and a bug report becomes an entry in skills/dsh-plugin-dev/references/traps.md.

License

MIT

Comments

Loading…

Similar plugins

dsh-plugin-maker

by goatliamia

Plugin development toolkit for DeepSeek Harness with scaffolding, contract checks, plugin vetting, impact analysis, and upstream compatibility tracking.

Development & InfrastructureTerminal & ClientsManifest valid

★ 2

MIT

JavaScript

Oct 18, 2026

dsh plugin --profile web add dsh-plugin-maker

by builtin-pb

The single plugin you need for DSH — build, test, diagnose, and maintain DeepSeek Harness plugins and core.

Development & InfrastructureManifest valid

★ 7

MIT

JavaScript

Sep 19, 2026

dsh plugin --profile web add dsh-developer

by Vensus137

The Coreness kit for DeepSeek Harness — a plugin bundle for a profile.

Manifest valid

★ 0

MIT

JavaScript

Oct 12, 2026

dsh plugin --profile web add @coreness/dsh

by w2112515

Portable Agent Skill for developing and auditing DeepSeek Harness plugins, with an optional profile-installable DSH bundle adapter.

Infra & DevOpsManifest valid

★ 11

↓ 321/wk

MIT

JavaScript

Aug 17, 2026

dsh plugin --profile web add dsh-plugin-development

by Qingzhou-Joshua

DeepSeek Harness plugin—a simple toolkit for developers.

Manifest valid

★ 0

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-dev-toolbox

by jwilson411

A minimal, tested template for DeepSeek Harness plugins.

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 1, 2026

dsh plugin --profile web add dsh-plugin-kit