DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Doc Impact — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@yadsh/dsh-doc-impact

Doc Impact

DeepSeek Harness 的确定性文档影响分析引擎

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @yadsh/dsh-doc-impact@0.5.2
README兼容性版本

兼容性与来源证明

Doc Impact 以 @yadsh/dsh-doc-impact 发布,当前版本为 0.5.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/16

版本

0.5.2stable
2026/10/11
0.5.1stable
2026/10/8
0.5.0stable
2026/10/4
查看其余 10 个版本收起版本
0.4.1stable
2026/9/22
0.4.0stable
2026/9/21
0.3.3stable
2026/9/17
0.3.2stable
2026/9/15
0.3.1stable
2026/9/13
0.3.0stable
2026/9/12
0.2.4stable
2026/9/6
0.2.3stable
2026/8/31
0.2.2stable
2026/8/30
0.2.1stable
2026/8/30
最新版
0.5.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
488.5 kB
文件数
140
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
401
安全扫描
✓ v0.5.2 扫描通过
最近提交
2026/10/12
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

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.