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
- 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
- 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`
- 03
Restart dsh web
Verify the integration
Not specified by the author
03DSH integration and capability boundaries
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 revertedPer-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.
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.
07Related DSH workflows
archify
by tt-a1i
Turn any idea, plan, or codebase into a beautiful interactive diagram. An agent skill for Claude Code, Codex, and more.
openviking
by volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
aitoearn
by yikart
Let's use AI to Earn!
learn-harness-engineering
by walkinglabs
Harness engineering beginner tutorial, from 0 to 1
08Data and sources
A **session change-review plugin** for DeepSeek Harness (DSH): automatically tracks file `write`/`edit` operations insid…
> One package carries both the Host logic and the browser UI (`dsh.bundle` + `dsh.client` manifests).
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.
