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.

Extras — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@catheadowl/dsh-extras

Extras

Curated extras for dsh: one npm package, several independent plugin modules — gates (turn-close quality gates), markdown (md_rename tool + doc-link gate), enrichment (declarative context enrichment), routes (any_nav knowledge routing). `dsh plugin add @catheadowl/dsh-extras` installs them all; per-r

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

npx -y @deepseek-ai/dsh plugin --profile web add @catheadowl/dsh-extras@0.3.2
READMECompatibilityVersions

Description

Curated extras for dsh: one npm package, several independent plugin modules — gates (turn-close quality gates), markdown (md_rename tool + doc-link gate), enrichment (declarative context enrichment), routes (any_nav knowledge routing). `dsh plugin add @catheadowl/dsh-extras` installs them all; per-row `disabled` turns one off.

Compatibility and provenance

Extras is published as @catheadowl/dsh-extras and currently resolves to version 0.3.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/23/2026

Versions

0.3.2stable
9/23/2026
0.3.0stable
9/19/2026
0.2.1stable
9/11/2026
Show 3 more versionsCollapse versions
0.2.0stable
9/8/2026
0.1.2stable
9/5/2026
0.1.1stable
9/4/2026

Related plugins

Loading related plugins…

Latest
0.3.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/23/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

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

@catheadowl/dsh-extras

English | 中文

Doing harness work is doing docs work. @catheadowl/dsh-extras is an opinionated attempt at docs health and navigation for the knowledge your dsh agent runs on. It wraps two commonly used dsh hooks into composable base frameworks — gates on agent/turn-stopping (turn close) and enrichment on agent/pre-step, each one a service-seam registration surface (ctx.gates / ctx.enrichment, consumed through the host's soft-dependency injection) instead of every plugin grabbing the raw hook — and ships what that stance implies: Markdown link hygiene, per-path context injection, and routing views over Markdown knowledge bases.

dsh plugin add installs everything at once; every module is a separately toggleable composition row (identified by row id) and can be disabled without affecting the others. What this package is relative to the dsh host — and why it wraps host hooks at all — is covered in docs/host.md.

Install

dsh plugin add @catheadowl/dsh-extras

Requires the dsh CLI. All runtime dependencies come from the dsh host (peerDependencies, resolved against the host at plugin add); the package itself carries only a few pure-JS utility dependencies.

Modules

Extension frameworks (registration seams for consumer plugins):

ModuleRow idWhat it providesDocs
gatesgatesQuality-gate framework (ctx.gates): composable gates run automatically at turn close; consumer plugins register through the ctx.gates service seammodules/gates/README.md
enrichmentenrichmentEnrichment framework (ctx.enrichment): provider registry on agent/pre-step that turns path mentions into budgeted relates context; consumer plugins register through the ctx.enrichment service seammodules/enrichment/README.md

Tools & consumers:

ModuleRow idWhat it providesDocs
markdownmarkdownmd_rename tool (move a Markdown file and rewrite every internal link) + the doc-link gate + the bundled link-transaction librarymodules/markdown/README.md
routesroutesany_nav tool (routing views over Markdown knowledge bases) + the breadcrumb relates provider (an enrichment provider)modules/routes/README.md

Each module is an independently toggleable row in the host's plugin composition: no shared state — disable any row and the others behave exactly as before.

Configuration

Disable a single module by row id in your profile patch layer:

- id: gates
  disabled: true

Modules with defaults can be overridden. All config keys per row:

RowConfig keys
gatesmaxConsecutiveBlocks (consecutive-block cap, default 3; exhausted → degrade to pass)
enrichmentproviderTimeoutMs / totalTimeoutMs / renderBudgetChars (example below)
markdown / routesno plugin config keys
- id: enrichment
  config:
    providerTimeoutMs: 2000
    totalTimeoutMs: 5000
    renderBudgetChars: 4000

Adding or removing modules happens through package versions: upgrade this package, then dsh plugin update shrinks or grows the composition rows.

API face

Beyond the composition rows, the package exports a stable subpath for plugin developers:

  • @catheadowl/dsh-extras/markdown/gate-check — the markdown module's repo-level gates.yml fallback entry (the generic check).

Plugins that build on the gates / enrichment frameworks do not import this package: they register through the service seams (ctx.gates.register(...) / the ctx.enrichment provider registry) via the host's ctx.inject soft dependency and keep no package dependency — each framework module's README documents the recipe. The Web configuration pages (the gates / enrichment rows' Configure pages on the Plugins page) are loaded from the bundled client sub-package inside this package (modules/client) — nothing to install separately.

The module dependency topology and the exports reconciliation table live in docs/dependencies.md.

Development

# From the repository root
pnpm run build                  # four module libs + client bundle
pnpm run test:gates             # per-module unit tests (test:markdown / test:enrichment / test:routes)
pnpm run verify:package-face    # exports / facade checks
pnpm run verify:publish-readiness  # release hygiene checks (docs locality, host closure, ...)

Development details — host checkout placement, toolchain borrow, peer junctions, and the host-closure network check — live in docs/development.md.

Known limitations

  • Requires the dsh CLI (this package is a plugin carrier, not a standalone app); all runtime peers are provided by the host closure.
  • The root README is bilingual (English primary + Chinese); module pages and deep docs are Chinese-first.
  • Web configuration pages currently exist only for the gates / enrichment rows (row-level Configure on the Plugins page, loaded via the bundled client sub-package, modules/client, not published separately).
  • The gates consecutive-block cap (maxConsecutiveBlocks, default 3) degrades to pass when exhausted — it is a safety valve, not a correctness guarantee; the markdown / routes rows expose no plugin config keys.

License

MIT