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.

Plugin Upgrade 016 — DSH Plugin for DeepSeek Harness
← Plugins
P

@perrylink/dsh-plugin-upgrade-016

Plugin Upgrade 016

Plugin-author upgrade skill for DeepSeek Harness: the closed 0.1.5-rc.2 -> 0.1.6-alpha.2 corridor card plus a zero-dependency seam scanner over one five-seam catalog - E1 (agent/created listener throwing blocks creation), E2 (async apply race: registration after the first await), E3 (removed slot ke

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

npx -y @deepseek-ai/dsh plugin --profile web add github:PerryLink/dsh-plugin-upgrade-016#8d5ba5cafb3e1d0df24f3bc8b6d6d89a4162eae5
READMECompatibilityVersions

Description

Plugin-author upgrade skill for DeepSeek Harness: the closed 0.1.5-rc.2 -> 0.1.6-alpha.2 corridor card plus a zero-dependency seam scanner over one five-seam catalog - E1 (agent/created listener throwing blocks creation), E2 (async apply race: registration after the first await), E3 (removed slot keys settings.plugin.item and SessionListState.current), E4 (removed client APIs sessions.open/openSubagent/clear) and E5 (removed model literals deepseek-v4-flash*/deepseek-v4-vision-exp) - packaged as a bundle skill and an npx CLI.

Compatibility and provenance

Plugin Upgrade 016 is published as @perrylink/dsh-plugin-upgrade-016 and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/19/2026

Versions

0.1.0stable
9/19/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Declares sideEffects: false
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
Apache-2.0
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/19/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.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-plugin-upgrade-016

The closed-corridor upgrade skill and scanner for the DeepSeek Harness hop 0.1.5-rc.2 → 0.1.6-alpha.2. It ships one version-locked corridor card and a zero-dependency seam scanner over a five-seam catalog — every seam is error-severity and every seam ships a detector:

SeamBreakage
E1An agent/created listener that throws (or does slow work inline) blocks agent creation — the host dispatches it on a serial chain.
E2Async apply race: any registration after the first await dies with INACTIVE_EFFECT in the unload window.
E3Removed slot/state keys: settings.plugin.item (→ plugins.item) and SessionListState.current — both fail silently.
E4Removed client APIs sessions.open/openSubagent/clear (→ retain/using/retainInfo) — click paths throw or swallow errors.
E5Removed model literals deepseek-v4-flash*/deepseek-v4-vision-exp — uncatalogued ids route as text-only.

The package is a bundle skill (the model sees the corridor card only when a task needs it) plus an npx CLI for plugin authors. It supersedes nothing and shares nothing with dsh-plugin-upgrade-015 (which owns the 0.1.3-alpha.1 → 0.1.5-rc.1 corridor): a corridor never widens, and a hop that adds seams is a new package.

What it is

  • skills/plugin-upgrade-016/ — the bundled agent skill: frontmatter routing, the fix-and-verify loop, and references/v0.1.5-rc.2-to-v0.1.6-alpha.2.md (the version card: evidence, fix recipe and exit criteria per seam).
  • lib/scan-0.1.6.mjs — a zero-dependency scanner (Node stdlib only). Born hardened: lib/ is scanned (committed build artifacts ship old seams to users), every line-level behavior is a per-seam catalog field, and the render order derives from the catalog.
  • scripts/scan-0.1.6.mjs — the CLI (npx dsh-plugin-upgrade-016-scan --repo <path>); exit 0 = no error hit, exit 1 = at least one.
  • docs/EVIDENCE.md — the command→output record behind every seam.

A clean scan is necessary, not sufficient: the breakage this corridor covers is silent from both ends. Verify with a real-host smoke, a resume round-trip for log writers, and a real browser assertion for a client half.

Quick start

dsh plugin --profile web add @perrylink/dsh-plugin-upgrade-016
npx dsh-plugin-upgrade-016-scan --repo <your-plugin-repo>

The skill routes itself: when a task is about migrating a plugin repo across 0.1.5-rc.2 → 0.1.6-alpha.2, the model loads the packaged card and runs the fix-and-verify loop.

Scanner usage

node scripts/scan-0.1.6.mjs [--repo <path>] [--json <out.json>] [--seams E1,E3] [--quiet]

Exit codes: 0 = no error-severity hit · 1 = at least one error hit · 2 = usage failure. The scanner is read-only: it never writes inside the scanned tree.

The five seams

See the version card (skills/plugin-upgrade-016/references/v0.1.5-rc.2-to-v0.1.6-alpha.2.md) for the full evidence and fix recipe. The short forms:

  • E1 — never throw in an agent/created listener; wrap sync work in try/catch, defer heavy work (queueMicrotask/setImmediate/own queue).
  • E2 — everything registers before the first await of an async apply; register() results go to ctx.effect().
  • E3 — settings cards mount on plugins.item (list slot: id/order/label, props {view:'summary'|'page'}); the current session derives from standard props (sessionId/useSessionStatus/retainedBy.mainView), never list.current.
  • E4 — navigate via sessions.retain(id, { source }); store and dispose the returned handle.
  • E5 — model literals stay inside the alpha.2 catalog; replace deepseek-v4-flash*/deepseek-v4-vision-exp.

Configuration

Every knob is a Schemastery Config field, documented inline in cordis.patch.yml:

  • enabled (default true) — register the packaged skill.
  • skillName (default plugin-upgrade-016) — skill name published to the model catalog.
  • skillsRoot (default the package's own skills/) — must contain <skillName>/SKILL.md.
  • userInvocable (default true) — user-invocable in addition to model-invocable.

Development

pnpm install
pnpm test                    # scanner fixtures + card↔catalog parity + real-Cordis mount
pnpm run check:readmes       # five-language README sync
pnpm run verify:self-contained
pnpm run verify:artifacts    # pack + tarball inspection
pnpm pack

Topics

dsh · dsh-plugin · deepseek-harness · deepseek · cordis · plugin-upgrade · migration · skill · version-card · scanner · client-slots

License

Apache-2.0. See LICENSE and THIRD_PARTY_NOTICES.md.