dsh-plugins
xarleyn/dsh-plugins
A focused end-user QA surface backed by native DeepSeek Harness sessions
インストール
dsh plugin --profile web add github:xarleyn/dsh-pluginsREADME
@yadsh DeepSeek Harness plugins
@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
| Directory | npm package | Purpose |
|---|---|---|
plugins/dsh-cas-results | @yadsh/dsh-cas-results | Content-addressed offload store for bulky tool results |
plugins/dsh-doc-impact | @yadsh/dsh-doc-impact | Deterministic documentation-impact tracking |
plugins/dsh-draft-sessions | @yadsh/dsh-draft-sessions | Persistent unsent draft sessions |
plugins/dsh-kv-persist | @yadsh/dsh-kv-persist | Persistent KV-cache/session-state snapshots (llama.cpp slots) |
plugins/dsh-l10n-overrides | @yadsh/dsh-l10n-overrides | Runtime localization overrides |
plugins/dsh-model-safety-gate | @yadsh/dsh-model-safety-gate | Two-layer safety gate for prompts, streamed output, tools, and tool results |
plugins/dsh-plugin-log-ui | @yadsh/dsh-plugin-log-ui | Live logging levels and readable file-format settings |
plugins/dsh-prompt-firewall | @yadsh/dsh-prompt-firewall | Prompt policy, hygiene, and observability |
plugins/dsh-qa-surface | @yadsh/dsh-qa-surface | Focused end-user QA surface backed by native sessions |
plugins/dsh-session-scope | @yadsh/dsh-session-scope | Per-session workspace visibility scopes |
plugins/dsh-sleev | @yadsh/dsh-sleev | Sleev routing observability |
plugins/dsh-tool-offload | @yadsh/dsh-tool-offload | Offloads large tool results to small one-shot worker agents |
plugins/dsh-ui-repair | @yadsh/dsh-ui-repair | Reversible DOM diagnostics and scoped UI repairs |
plugins/dsh-user-correction-miner | @yadsh/dsh-user-correction-miner | Mines project-rule candidates from user corrections |
plugins/dsh-web-fetch-authenticated | @yadsh/dsh-web-fetch-authenticated | Authenticated, policy-gated web_fetch provider |
packages/config | private workspace package | Shared tsconfig and vitest presets |
packages/plugin-log | @yadsh/dsh-plugin-log | Structured file logging and runtime consumer discovery |
packages/plugin-kit | private workspace package | Shared runtime helpers |
packages/test-kit | private workspace package | Shared 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, and build 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.
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.
Documentation
- 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
- Releasing and compatibility policy
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