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.

Doc Impact — DSH Plugin for DeepSeek Harness
← Plugins

@yadsh/dsh-doc-impact

Doc Impact

Deterministic documentation impact engine for DeepSeek Harness

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

npx -y @deepseek-ai/dsh plugin --profile web add @yadsh/dsh-doc-impact@0.5.2
READMECompatibilityVersions

Compatibility and provenance

Doc Impact is published as @yadsh/dsh-doc-impact and currently resolves to version 0.5.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/16/2026

Versions

0.5.2stable
10/11/2026
0.5.1stable
10/8/2026
0.5.0stable
10/4/2026
Show 10 more versionsCollapse versions
0.4.1stable
9/22/2026
0.4.0stable
9/21/2026
0.3.3stable
9/17/2026
0.3.2stable
9/15/2026
0.3.1stable
9/13/2026
0.3.0stable
9/12/2026
0.2.4stable
9/6/2026
0.2.3stable
8/31/2026
0.2.2stable
8/30/2026
0.2.1stable
8/30/2026

Related plugins

Loading related plugins…

Latest
0.5.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
488.5 kB
Files
140
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
401
Security scan
✓ v0.5.2 scan passed
Last push
10/12/2026
View source ↗Project homepage ↗
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.

Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleBetter Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Ssh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panel

README

dsh-doc-impact

Deterministic documentation-impact enforcement for DeepSeek Harness.

dsh-doc-impact links code and documentation through a declarative impact graph. When an agent changes files, the plugin compares the workspace with the turn baseline and steers the agent to review or update every affected document before the turn closes.

Specification

Installation

Install the published npm package by name:

dsh plugin --profile web add @yadsh/dsh-doc-impact

To remove the plugin:

dsh plugin --profile web remove @yadsh/dsh-doc-impact

Restart the DeepSeek Harness host if bundle hot reload does not pick up the newly installed plugin or browser client.

How it works

packages/auth/src/session.ts changed

→ docs/authentication.md
→ docs/security/session-lifecycle.md
  1. Baseline — on the first step of a turn, the plugin records HEAD and the content hashes of already-dirty files. Pre-existing user changes are never attributed to the agent.
  2. Stop check — on agent/turn-stopping, it compares the workspace with that baseline, including commits made during the turn, and matches the delta against project rules.
  3. Steer — unresolved impacts produce one grouped reminder and another model step in which the agent can review or update the affected documents.
  4. Resolve — strict modes require doc_impact_resolve with reviewed-current, updated, or not-applicable; the last status requires a reason.
  5. Loop protection — reminders are fingerprinted and bounded by maxReminderRounds, with configurable fail-open or fail-closed behavior.

Configuration

Create .dsh/doc-impact.yml in the workspace the agent operates on:

version: 1

defaults:
  mode: remind # remind | require-review | require-resolution | require-update
  scope: turn # turn | session
  changeDetection: auto # auto | git | filesystem

rules:
  - id: auth-docs
    description: Authentication behavior documentation
    code:
      include:
        - packages/auth/**
        - packages/server/src/auth/**
      exclude:
        - "**/*.test.ts"
    docs:
      - docs/authentication.md
    direction: code-to-docs # code-to-docs | docs-to-code | bidirectional
    relation: documents # documents | specification | synchronized | related
    mode: require-resolution

  - id: configuration-contract
    code: [packages/config/**]
    docs: [docs/configuration.md]
    direction: bidirectional
    relation: specification

Personal overrides belong in .dsh/doc-impact.local.yml, which should be ignored by Git:

disabledRules:
  - legacy-docs

The bundle inserts the dsh-doc-impact Cordis row. Override its defaults in the profile patch when needed:

- id: dsh-doc-impact
  config:
    enabled: true
    configFile: .dsh/doc-impact.yml
    # Detect impacts without steering reminders into the turn: tools,
    # `/doc-impact`, and status keep working, reminder rounds are not spent,
    # and the limit notice is not sent. Useful with the default `true`.
    steer: true
    defaults:
      mode: remind
    safety:
      maxReminderRounds: 2
      onLimit: allow # allow | warn | error
    changeDetection:
      maxSnapshotFiles: 10000
    # Wording of the two steering messages; empty = built-in text.
    # reminderTemplate placeholders: {intro} {count} {body} {tail} — {body}
    # carries the generated impact list and is required.
    # limitTemplate placeholders: {rounds} {impacts} — {impacts} is required.
    reminderTemplate: ""
    limitTemplate: ""
    debug: false

Commands and tools

InterfacePurpose
/doc-impactShow pending and resolved impacts
/doc-impact checkRecompute impacts immediately
/doc-impact explain <ruleId>Explain a rule and whether it was triggered
/doc-impact changedList files attributed to the current agent turn
doc_impact_resolveResolve an impact explicitly in strict modes
doc_impact_statusRead the current impact status

Settings UI

The browser half adds the Doc Impact settings card to the Plugins page: the row this bundle occupies there carries a configure control that opens it. It provides staged edits, Save and Discard actions, an unsaved-state badge, validation, and per-field reset to composition defaults. The values stay in the dsh-doc-impact settings namespace, where they have always lived, so a configuration saved by an older build is read back by this one.

Editable fields include enabled, steer (send reminder messages, or detect silently), configFile, default mode, maxReminderRounds, onLimit, the reminderTemplate and limitTemplate message texts with their placeholders documented inline, maxSnapshotFiles, and debug. A template that loses its required {body} / {impacts} placeholder is rejected by the form, and the host falls back to the built-in wording. Saved settings apply to the merged runtime configuration without a host restart.

Diagnostics

Runtime events land in <$DSH_HOME>/logs/dsh-doc-impact/<YYYY-MM-DD>.log and mirror to the host console at warn and above. Every line's [dsh-doc-impact] tag is added by the logging pipeline itself, so the message text never repeats the plugin name — only unscoped host-console messages (activation, settings bootstrap) name it themselves. Without debug, the log already records every decision:

  • reminder sent: N impact(s), rules: … — a grouped reminder was steered into the agent turn, with the triggering rules and the attribution;
  • auto-resolved impact for rule …: target updated — the agent already updated the target documentation, so no reminder is needed;
  • reminder limit reached for rule …; allowing stop (onLimit: allow) — maxReminderRounds is exhausted and the turn is allowed to close;
  • attribution probe failed / stop check failed; failing open — degraded runs; the agent loop is never blocked.

With debug: true (settings card or profile patch) the log additionally records baseline capture and every stop check with changed and pending counts.

What works now

  • code-to-docs, docs-to-code, and bidirectional rules;
  • include and exclude globs;
  • Git and filesystem baseline detectors;
  • reminder aggregation and agent/turn-stopping continuation;
  • remind, require-review, require-resolution, and require-update modes;
  • explicit resolution tools, commands, and loop protection;
  • unit and integration coverage, including real Git repositories.

Requirements

  • Node.js 20 or newer
  • pnpm 10.4.1 for development
  • DeepSeek Harness >=0.1.7-rc.2 <0.2.0
  • Cordis ^4.0.1

Development

From the monorepo root:

pnpm install --frozen-lockfile
pnpm --filter @yadsh/dsh-doc-impact check

The core under src/config, src/graph, src/changes, and src/engine is DSH-independent. Only src/dsh imports @deepseek-ai packages.

The browser client source lives at src/client.ts. The build compiles it with tsdown into the ignored package artifact lib/client.js; edit the source file, never lib/ directly.

Releases

This package uses independent Nx Version Plans from the monorepo. Add a plan with pnpm release:plan; maintainers publish verified tarballs through the shared release workflow.

Contributing

Issues and focused pull requests are welcome. Read the monorepo contribution guide and run the package check before submitting a change.

License

MIT. This is an independent community project and is not affiliated with or endorsed by DeepSeek.