← Back to home@xarleyn

dsh-plugins

Community plugins, developer tooling, and shared utilities for extending DeepSeek Harness — built as an Nx + pnpm monorepo.

Stars
2
Language
TypeScript
Created
Aug 29, 2026
Updated
Sep 18, 2026

Introduction

@yadsh DeepSeek Harness plugins

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-scope

Every published package is listed in the generated plugins.json catalog, which maps each npm name to its source directory here 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).

Repository layout

@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/.

Packages

Directorynpm packagePurpose
plugins/dsh-cas-results@yadsh/dsh-cas-resultsContent-addressed offload store for bulky tool results
plugins/dsh-doc-impact@yadsh/dsh-doc-impactDeterministic documentation-impact tracking
plugins/dsh-domain-experts@yadsh/dsh-domain-expertsConfigurable domain-scoped expert agents with isolated knowledge, memory and tool scope
plugins/dsh-draft-sessions@yadsh/dsh-draft-sessionsPersistent unsent draft sessions
plugins/dsh-git-readonly@yadsh/dsh-git-readonlyRead-only git provenance tools
plugins/dsh-kv-persist@yadsh/dsh-kv-persistPersistent KV-cache/session-state snapshots (llama.cpp slots)
plugins/dsh-l10n-overrides@yadsh/dsh-l10n-overridesRuntime localization overrides
plugins/dsh-lightrag@yadsh/dsh-lightragLightRAG knowledge-base tools
plugins/dsh-model-safety-gate@yadsh/dsh-model-safety-gateTwo-layer safety gate for prompts, streamed output, tools, and tool results
plugins/dsh-openviking-memory@yadsh/dsh-openviking-memoryOpenViking memory integration with configurable automatic context injection
plugins/dsh-plugin-log-ui@yadsh/dsh-plugin-log-uiLive logging levels and readable file-format settings
plugins/dsh-preset-persona-editor@yadsh/dsh-preset-persona-editorAgent-preset persona editing in the settings UI, written back into the preset's own composition
plugins/dsh-prompt-firewall@yadsh/dsh-prompt-firewallPrompt policy, hygiene, and observability
plugins/dsh-qa-surface@yadsh/dsh-qa-surfaceFocused end-user QA surface backed by native sessions
plugins/dsh-session-audit@yadsh/dsh-session-auditSession audit registry and viewer: an Audit view beside Chat and Trajectory
plugins/dsh-session-scope@yadsh/dsh-session-scopePer-session workspace visibility scopes
plugins/dsh-sleev@yadsh/dsh-sleevSleev routing observability
plugins/dsh-tool-offload@yadsh/dsh-tool-offloadOffloads large tool results to small one-shot worker agents
plugins/dsh-ui-repair@yadsh/dsh-ui-repairReversible DOM diagnostics and scoped UI repairs
plugins/dsh-user-correction-miner@yadsh/dsh-user-correction-minerMines project-rule candidates from user corrections
plugins/dsh-web-fetch-authenticated@yadsh/dsh-web-fetch-authenticatedAuthenticated, policy-gated web_fetch provider
packages/configprivate workspace packageShared tsconfig and vitest presets
packages/plugin-log@yadsh/dsh-plugin-logStructured file logging and runtime consumer discovery
packages/plugin-kitprivate workspace packageShared runtime helpers
packages/test-kitprivate workspace packageShared test helpers

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.

Development

Requirements: Node.js 22 or newer and pnpm 10.4.1.

pnpm install --frozen-lockfile
pnpm check
pnpm deps:check
pnpm tarball:verify

Nx 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 is generated from the workspace manifests. Regenerate it after changing a package description, keywords, or the package set — pnpm verify:packages fails while the catalog is stale:

pnpm plugins:manifest

Adding a plugin

pnpm 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.

Documentation

Releases

Packages use independent Nx Version Plans:

pnpm release:plan
pnpm release:check
pnpm release:dry-run -- --first-release

The GitHub release workflow builds and verifies selected package tarballs before publishing through npm Trusted Publishing. See the release runbook and compatibility policy.

License

MIT