DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-diff-view

j

dsh-diff-view

Manifest valid

Diff view: a reusable two-text diff viewer for DSH client plugins — line LCS, word highlights, split/unified views, true line numbers across context collapse.

UI (client)hasBundlePatch

dsh-diff-view

A DeepSeek Harness (DSH) plugin: a reusable two-text diff viewer for client plugins. One engine, one stylesheet, no coupling to any consumer: line-level LCS with intra-line word highlights, true line numbers across context collapse, and a split/unified toggle.

There is no UI of its own to visit. Plugins inject the client service diffView:

// consumer client half, inject: ['diffView', …]

// 1. A self-contained component (scrolls its own body, own grid):
const Diff = ctx.diffView.diffRowsComponent({
  title: 'File.txt',        // optional, for interface symmetry
  before: oldText,          // required string
  after: newText,           // required string
  initialMode: 'split',     // 'split' (default) | 'unified'
  showToggle: true,         // false hides the Split/Unified pill
})
return React.createElement(Diff, {})

// 2. The raw engine, for custom layouts (inline diffs, lists of hunks):
const rows = ctx.diffView.engine.alignedEditRowsOf(beforeLines, afterLines)
//   rows: [{ kind: 'same'|'replace'|'delete'|'insert', removedLine?, addedLine? }]
const spans = ctx.diffView.engine.wordSpansOfLinePair(beforeLine, afterLine)
//   spans: { removedSpans, addedSpans }: arrays of { text, changed }
ctx.diffView.engine.wordSpanElements(spans.removedSpans, 'adf-w-del')

Contract

  • diffRowsComponent validates at the door: an options object and before/after strings are required; anything else throws.
  • Line numbers are computed for every row BEFORE context collapse runs, so numbers stay true across ellipsis bands. (The view this plugin extracts numbered after collapse and drifted; that defect is why it exists.)
  • View mode is per component instance: two diffs on screen toggle independently.
  • The adf-* diff stylesheet is installed once by this plugin; consumers render no CSS of their own for diff rows.
  • No persistence; no approval coupling; the host half is a stub.

How to install

Requires a DeepSeek Harness checkout and a profile, here web. The plugin has no dependencies:

mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
git clone https://github.com/joao-paulo-santos/dsh-diff-view.git

# from the harness checkout
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-diff-view

# verify the profile still composes
pnpm dsh --profile web --dump-config

Restart the harness. Plugins that inject the diffView service can now render diffs.

Dependencies

(none)

Plugins dependent on this

  • dsh-approval-diff renders its review cards' hunks with the engine and shares the diff stylesheet
  • dsh-scratchpad powers its mode: 'diff' pads with diffRowsComponent (optional; degrades to plain text when absent)
  • dsh-wo-github renders commit patches with word highlights and the diff grid stylesheet (optional; patches render without it)

Comments

Loading…

Similar plugins

dsh-vision-opencode

by poiuyjie

DSH plugin: Auto-convert images to text for pure-text LLMs (DeepSeek etc.) via any vision model. No need to switch your main model.

Vision & MultimodalManifest valid

★ 13

MIT

JavaScript

Sep 9, 2026

dsh plugin --profile web add dsh-vision-opencode

by joao-paulo-santos

DSH plugin: replace file-change approval prompts with a real diff review (line diffs, word highlights, disk-sourced context, one file per card)

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Oct 1, 2026

dsh plugin --profile web add dsh-approval-diff

by tmpdot

File-diff visualization between checkpoint time nodes for DeepSeek Harness: read-only timeline + per-file line diff over dsh-checkpoint-rewind checkpoints, as a /diff command, JSON HTTP API, and GUI p

Sessions & MessagesManifest valid

★ 6

↓ 110/wk

Apache-2.0

JavaScript

Aug 22, 2026

dsh plugin --profile web add dsh-checkpoint-diff

by Dawn388887

[DEPRECATED] DSH plugin: in-GUI file viewer/editor for remote browsers. Superseded by the built-in DSH 0.1.5+ Web sidebar file preview; last supported DSH: 0.1.2.

Manifest valid

★ 0

MIT

JavaScript

Sep 12, 2026

dsh plugin --profile web add dsh-fileview

by JanEickholt

Renders edit and write tool calls as always-expanded side-by-side diffs styled like git diff, with optional syntax coloring and word-level highlighting.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 2

↓ 203/wk

MIT

JavaScript

Oct 21, 2026

dsh plugin --profile web add dsh-inline-diff

by ZSeven-W

DeepSeek Harness (DSH) plugin: a read-only ledger for the plugins you already have installed — a capability inventory with file:line evidence, declared-vs-detected reconciliation, cross-profile versio

Security & AuditManifest valid

★ 25

↓ 101/wk

MIT

JavaScript

Oct 29, 2026

dsh plugin --profile web add @zseven-w/dsh-harbor