Back to directory

dsh-change-review

In a curated listMaintenance: Active

cirelir/dsh-change-review

DSH 变更审查插件,对代码/配置改动做评审。

View on GitHub
$ dsh plugin --profile web add dsh-change-review

14

stars

5

forks

JavaScript

Language

MIT

License

2026-08-15

Created

2026-08-17

Last push

An MIT-licensed DSH web plugin that turns a session's write/edit tool calls into reviewable line diffs, per session and per turn, with targeted revert that writes to disk.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-11-13

License

MIT

01What can it help you accomplish?

  • See every file the agent changed in a DSH session as a line-level diff

    an 「审查」view tab with a file list (write/edit counts, ~added/~removed) and the selected file's LCS diff with line numbers on both sides

    Developers who want to inspect what an agent wrote before trusting it

  • Undo one specific change or a whole file without leaving DSH

    a confirmed revert that writes to disk — a single op via 3-way merge keeping later non-overlapping changes, or the whole file back to its pre-session state

    Users who need a targeted undo instead of git checkout

  • Review just the current turn, per session, while it is still running

    a 本轮变更审查 card at each turn's tail plus a session-scoped review tab, refreshed live over SSE

    People driving multi-turn agent work who want per-turn accountability

02How to install into DeepSeek Harness

Prerequisites

  • A DSH install with a web profile — the plugin targets `dsh --profile web`

Installation steps

  1. 01

    Option A: `dsh plugin --profile web add dsh-change-review` (the README labels this option "after npm publish")

    $ dsh plugin --profile web add dsh-change-review

  2. 02

    Option B (manual): make the package resolvable by the harness, e.g. place it in `node_modules`, and register it in the profile's `cordis.patch.yml` under `insert` with id `diff-review` / `ui-diff-review`

  3. 03

    Restart dsh web

Verify the integration

Not specified by the author

03DSH integration and capability boundaries

DSH integrationNative runtime

DSH web plugin bundle: one package ships the Host half (tool-call listener, LCS diff, HTTP + SSE routes) and the browser half (「审查」tab, badge, settings page)

  • Automatic write/edit tracking

    `write` / `edit` tool calls in the current process→before/after content snapshots and timestamps, bucketed per session and aggregated from subagents up to the root session

    records review state on disk at `~/.dsh/profiles/web/diff-review-state.json`
  • LCS line diff view

    added / removed / context lines with both-side line numbers, in a file list plus diff pane that scroll independently

  • Targeted revert

    one op, or the whole file→the file written back on disk after confirmation — later non-overlapping changes kept, overlapping ones rejected, and an in-session-created file deleted

    writes directly to diskan op and everything after it leave the pending list once reverted
  • Per-turn review card

    a 本轮变更审查 card at each turn's tail with that turn's files, expandable diffs and per-op revert; the tab gains a 最新一轮 scope toggle

  • Live updates and colour settings

    an SSE stream at `/diff-review/events` that refreshes the badge and list instantly, plus 12 colours with light/dark presets and an opacity slider

    colour choices persist in localStorage under `dsh.diff-review.colors`

04Who is it for? When not to use it?

Good for

  • Developers who want to inspect what an agent wrote before trusting it
  • Users who need a targeted undo instead of git checkout
  • People driving multi-turn agent work who want per-turn accountability

Not for

  • Revert writes straight to disk and is not a git operation: reverting a middle op runs a 3-way line merge that keeps later non-overlapping changes and refuses on overlap, while a whole-file revert restores the pre-session snapshot and deletes a file created in the session. It is also capped — 100 ops per file, 120KB of content per op, 1500 diff lines per side and a 2000-line-per-side merge — so larger changes fall outside both the diff and the revert.
  • The README labels the one-line install "after npm publish"; if the package is not resolvable that way, use the manual route — put it in `node_modules` and add the `insert` rows to the profile's `cordis.patch.yml` — then restart dsh web. The plugin targets the Web profile only.
  • The plugin runs with the same privileges as the harness process and its context menu can dispatch host-side commands (editor launch, `open -R` / `explorer` / `xdg-open`); the README says to review the source before installing and that market listing is not a security endorsement.

05Compatibility, maintenance and safety notes

  • Revert writes straight to disk and is not a git operation: reverting a middle op runs a 3-way line merge that keeps later non-overlapping changes and refuses on overlap, while a whole-file revert restores the pre-session snapshot and deletes a file created in the session. It is also capped — 100 ops per file, 120KB of content per op, 1500 diff lines per side and a 2000-line-per-side merge — so larger changes fall outside both the diff and the revert.
  • The README labels the one-line install "after npm publish"; if the package is not resolvable that way, use the manual route — put it in `node_modules` and add the `insert` rows to the profile's `cordis.patch.yml` — then restart dsh web. The plugin targets the Web profile only.
  • Review records persist outside the workspace in `~/.dsh/profiles/web/diff-review-state.json` and are restored after a restart; records written before the snapshot upgrade carry no content or turn tag, so they stay listed but cannot be reverted and never appear in per-turn cards.
  • The plugin runs with the same privileges as the harness process and its context menu can dispatch host-side commands (editor launch, `open -R` / `explorer` / `xdg-open`); the README says to review the source before installing and that market listing is not a security endorsement.
2026-08-152026-08-17v0.3.0

MIT · latest release v0.3.0 (published 2026-08-17) · README evidence only, not security audited

06Frequently asked questions

How do I install dsh-change-review into DeepSeek Harness?

Either `dsh plugin --profile web add dsh-change-review` — the README marks this option "after npm publish" — or deploy it manually: make the package resolvable (e.g. in `node_modules`) and add `diff-review` / `ui-diff-review` insert rows pointing at `dsh-change-review` in the profile's `cordis.patch.yml`, then restart dsh web. It targets the Web profile only.

What does the plugin write into my DSH install?

Review records persist outside the workspace at `~/.dsh/profiles/web/diff-review-state.json` (debounced auto-save plus a sync flush on exit) and are restored after a restart; deleting that file wipes the history. Colour choices stay in localStorage under `dsh.diff-review.colors`. Revert itself writes the affected file back to disk.

How does reverting one change differ from reverting the whole file?

Reverting one op restores that change's previous content with a 3-way line merge, so later changes that do not overlap are kept and overlapping ones are rejected with a hint; after success the op and everything after it leave the pending list. Reverting the whole file restores the state before the session's first recorded change, and a file created in this session is deleted. Both ask for confirmation and then write directly to disk.

How are subagents and multiple turns handled?

Changes made by subagents are aggregated up the owner chain into the root parent session, so each session reviews only its own work. Each op also records the root session turn it happened in by scanning the session log for `turn/start` / `turn/end`, so per-turn cards and the 最新一轮 view stay correct in resumed and multi-turn sessions, with subagent changes counted toward the parent turn.

Are there limits on what it can track or revert?

Yes: at most 100 ops per file, content truncated at 120KB per op, diffs capped at 1500 lines per side, and the 3-way merge used for single-change revert capped at 2000 lines per side. Records created before the content-snapshot upgrade have no snapshot or turn tag — they stay visible in the 「审查」tab but cannot be reverted and never show up in per-turn cards.

08Data and sources

  • Author-claimedgithub.com1f2de55b3f95…

    A **session change-review plugin** for DeepSeek Harness (DSH): automatically tracks file `write`/`edit` operations insid…

  • Author-claimedgithub.com1f2de55b3f95…

    > One package carries both the Host logic and the browser UI (`dsh.bundle` + `dsh.client` manifests).

  • Author-claimedgithub.com1f2de55b3f95…

    dsh plugin --profile web add dsh-change-review

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-13. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.