A collection of installable DeepSeek Harness (DSH) plugins. They add session workspace scoping, documentation-impact tracking, prompt-injection and firewall controls, draft sessions, localization overrides, KV persistence, git provenance, QA surfaces, and developer tooling to a harness profile — each one published as its own npm package and installable on its own.
DSH resolves plugins as npm packages, so install only what you need:
dsh plugin --profile <profile> add @yadsh/dsh-session-scopeThe packages marked runtime library below are not plugins: they carry no
bundle for the Host to register, and a consumer installs them as an ordinary
dependency — pnpm add @yadsh/dsh-plugin-kit, for example.
Every published package is listed in the generated
plugins.json catalog, which maps each npm name to its source
directory here and to the install command its kind honors, for marketplaces,
indexes, and crawlers. Repositories and packages carry the
dsh-plugin GitHub topic and the same
canonical keywords (deepseek-harness, dsh, dsh-plugin, cordis).
@yadsh (Yet Another DSH) is a pnpm + Nx monorepo for independently versioned
DeepSeek Harness plugins. Each directory under plugins/ is its own public npm
package; shared runtime libraries and workspace tooling live under packages/.
The table is generated from the workspace manifests. Published packages show
their npm name and their catalog kind — DSH plugin for a package
dsh plugin add registers on a profile, runtime library for a package a
consumer imports as a dependency. Private build tooling is not published, so it
stays listed as a private workspace package with no kind.
| Directory | npm package | Kind | Purpose |
|---|---|---|---|
plugins/dsh-answer-review-gate |
@yadsh/dsh-answer-review-gate |
DSH plugin | Independent answer review gate for DeepSeek Harness agent responses |
plugins/dsh-cas-results |
@yadsh/dsh-cas-results |
DSH plugin | Content-addressed offload store for bulky DeepSeek Harness tool results |
plugins/dsh-decision-tools |
@yadsh/dsh-decision-tools |
DSH plugin | DeepSeek Harness decision, classification, scoring and ranking tools for System One backends |
plugins/dsh-doc-impact |
@yadsh/dsh-doc-impact |
DSH plugin | Deterministic documentation impact engine for DeepSeek Harness |
plugins/dsh-documents |
@yadsh/dsh-documents |
DSH plugin | Managed document pipeline for the DeepSeek Harness: DOCX/PDF, XLSX/CSV/TSV/OpenDocument spreadsheets, Markdown and online sources as agent tools |
plugins/dsh-domain-experts |
@yadsh/dsh-domain-experts |
DSH plugin | Configurable domain-scoped expert agents for DeepSeek Harness |
plugins/dsh-draft-sessions |
@yadsh/dsh-draft-sessions |
DSH plugin | Persistent unsent draft sessions for DeepSeek Harness |
plugins/dsh-git-readonly |
@yadsh/dsh-git-readonly |
DSH plugin | Read-only git provenance tools for DeepSeek Harness agents |
plugins/dsh-jev-compaction |
@yadsh/dsh-jev-compaction |
DSH plugin | Jev/System-One semantic pruning of stale tool results for DeepSeek Harness; keeps conversation text verbatim and forgets stale tool output before summary compaction is needed |
plugins/dsh-kv-persist |
@yadsh/dsh-kv-persist |
DSH plugin | Persistent KV-cache/session-state manager for DeepSeek Harness (llama.cpp slot snapshots) |
plugins/dsh-l10n-overrides |
@yadsh/dsh-l10n-overrides |
DSH plugin | English localization overrides for DeepSeek Harness plugins |
plugins/dsh-lightrag |
@yadsh/dsh-lightrag |
DSH plugin | LightRAG knowledge-base tools for DeepSeek Harness agents |
plugins/dsh-llm-provider-extended |
@yadsh/dsh-llm-provider-extended |
DSH plugin | Full DSH provider adapter with generation controls and typed System One decisions |
plugins/dsh-model-safety-gate |
@yadsh/dsh-model-safety-gate |
DSH plugin | Independent two-layer safety gate around the DeepSeek Harness agent loop: deterministic and model-classifier verdicts for prompts, streamed output, tools, and tool results |
plugins/dsh-openviking-memory |
@yadsh/dsh-openviking-memory |
DSH plugin | OpenViking memory integration for DeepSeek Harness with configurable automatic context injection; derived from the official OpenViking DSH plugin. |
plugins/dsh-plugin-log-ui |
@yadsh/dsh-plugin-log-ui |
DSH plugin | DSH settings UI for shared plugin logging levels and file format |
plugins/dsh-preset-persona-editor |
@yadsh/dsh-preset-persona-editor |
DSH plugin | Read what an agent preset contributes to the prompt from the DeepSeek Harness settings UI: the persona prefix, suffix, complete mode and runtime-context toggle the preset composes with, and the named prompt sections it registers in its own name |
plugins/dsh-prompt-firewall |
@yadsh/dsh-prompt-firewall |
DSH plugin | Prompt hygiene, observability, and policy middleware for DeepSeek Harness |
plugins/dsh-qa-browser |
@yadsh/dsh-qa-browser |
DSH plugin | Session-scoped Playwright browser runtime for DeepSeek Harness and QA Surface |
plugins/dsh-qa-integrations |
@yadsh/dsh-qa-integrations |
DSH plugin | Principal-scoped, encrypted user integrations for DSH QA Surface |
plugins/dsh-qa-surface |
@yadsh/dsh-qa-surface |
DSH plugin | A focused end-user QA surface backed by native DeepSeek Harness sessions |
plugins/dsh-session-audit |
@yadsh/dsh-session-audit |
DSH plugin | Session audit registry and viewer for DeepSeek Harness: an Audit tab in every session, driven by audit artifacts on disk |
plugins/dsh-session-scope |
@yadsh/dsh-session-scope |
DSH plugin | Per-session workspace visibility scopes for DeepSeek Harness. |
plugins/dsh-sleev |
@yadsh/dsh-sleev |
DSH plugin | Sleev routing observability for DeepSeek Harness |
plugins/dsh-tool-offload |
@yadsh/dsh-tool-offload |
DSH plugin | Offloads large, low-judgement DeepSeek Harness tool results to small one-shot worker agents before they enter the main model context |
plugins/dsh-ui-repair |
@yadsh/dsh-ui-repair |
DSH plugin | Reversible DOM diagnostics and scoped UI repairs for DeepSeek Harness plugins |
plugins/dsh-user-correction-miner |
@yadsh/dsh-user-correction-miner |
DSH plugin | Mine durable project-rule candidates from user corrections in DeepSeek Harness sessions |
plugins/dsh-web-fetch-authenticated |
@yadsh/dsh-web-fetch-authenticated |
DSH plugin | Authenticated, policy-gated WebFetchProvider for the DeepSeek Harness web capability seam (ctx.web) |
packages/audit-core |
@yadsh/dsh-audit-core |
runtime library | Session audit artifact domain layer for DeepSeek Harness: schema, parsing, validation, summary and atomic publishing |
packages/audit-ui |
@yadsh/dsh-audit-ui |
runtime library | Shared audit presentation components for DeepSeek Harness: sanitized report rendering, findings, scorecard and JSON view |
packages/config |
private workspace package | not published | Shared TypeScript and build configuration for DSH plugins monorepo |
packages/plugin-kit |
@yadsh/dsh-plugin-kit |
runtime library | Shared runtime helpers for DSH plugins: logging scaffolds, config validation, compatibility checks and SQLite store plumbing |
packages/plugin-log |
@yadsh/dsh-plugin-log |
runtime library | Shared structured file logging and runtime logger discovery for DSH plugins |
packages/plugin-scripts |
private workspace package | not published | Shared build/verify script runners for DSH plugins |
packages/test-kit |
private workspace package | not published | Testing utilities for DSH plugins |
Runtime plugin IDs remain unscoped (dsh-*) because DSH bundle composition and
browser module loading use those IDs. The @yadsh scope is the npm package
identity.
Requirements: Node.js 22 or newer and pnpm 10.4.1.
pnpm install --frozen-lockfile
pnpm check
pnpm deps:check
pnpm tarball:verifyNx runs project-local lint, typecheck, test, build, and verify scripts and caches
their outputs. The dependency check enforces workspace boundaries, while the
tarball check packs every public package, validates its manifest and exported
files, and installs it in a clean consumer project.
plugins.json and the package table above are generated from the workspace
manifests. Regenerate both after changing a package description, keywords, or
the package set — pnpm verify:packages fails while either catalog is stale:
pnpm plugins:manifestpnpm nx g dsh-plugin <name> [--client] [--description "..."]The generator defaults to the @yadsh npm scope and creates the package,
Cordis patch, build configuration, tests, and public-package metadata. The
scaffold is a starting point: before writing code, read the
plugin guidelines — the canonical architecture,
package-content, testing, documentation, and release rules every plugin must
follow. Run pnpm plugins:manifest afterwards so the new package enters the
catalog.
- Architecture overview — layout, host/client split, build outputs, dependency rules
- Plugin guidelines — the canonical rulebook every plugin must follow
- Plugin logging — file logging API, formats, levels, console mirror
- Verification runbook — what each gate asserts, locally and in CI
- Test coverage — what
pnpm test:coveragemeasures, and the last committed snapshot per package - Releasing and compatibility policy
Packages use independent Nx Version Plans:
pnpm release:plan
pnpm release:check
pnpm release:dry-run -- --first-releaseThe GitHub release workflow builds and verifies selected package tarballs before publishing through npm Trusted Publishing. See the release runbook and compatibility policy.
MIT