
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-diff-approval
Advanced tools
DeepSeek Harness plugin: pending-edit review with whole-file diff and Keep/Revert
English | 中文
A DeepSeek Harness (DSH) plugin for pending-change review: it automatically tracks every successful edit, write, and editor (str_replace_editor) mutation, folds them into a single pending list in the sidebar where each file's diff can be reviewed and kept/reverted — and it can also import the workspace's version-control repository's local changes (Git / SVN / Perforce) in one click.

The panel also collapses its file list into a floating card; while floating, each of its four edges — the left sidebar, the header above, the right sidebar, the composer below — can be chosen to be covered (all four is what used to be fullscreen, and covering nothing is a plain floating card), and it can dock as a tab in the right sidebar:
Two entries open it: the row at the sidebar foot, and a button in the Session header's right-hand controls — the cluster the app keeps its own per-session actions in (where "Download session log" lives) — so the review stays one click away with the sidebar collapsed or hidden.
| Collapsed file list | Covering everything |
|---|---|
![]() | ![]() |
For Markdown files, the source-line diff can also be shown as a rendered before/after preview:

Ctrl+F, step with F3 / Shift+F3) that highlights matched words. Rows are virtualized, so huge files stay smooth. The line-number column keeps a surface of its own — a shade lighter than the code block, so the numbers read as a column rather than as part of the code — and stays pinned while the code scrolls sideways.Ctrl+↑/↓ (or the previous/next buttons) — the focused block flashes, navigation is anchored to the scroll position and wraps at the top/bottom. Hover a block to Keep or Revert just that block from a small actions frame that also shows its position (e.g. "2/5"); after a single-block decision, focus advances to the next block. The lead rows left above the jumped-to block are configurable in settings.Ctrl+Z / Ctrl+Shift+Z (rebindable in Shortcuts; Ctrl+Y remains an alias), active while the panel is open — text inputs keep their own editing.Ctrl+D (configurable in settings) toggles the review panel from anywhere and Esc closes it; the panel is also one click away from the sidebar-foot row and from a button in the Session header beside the app's own controls; Ctrl+Tab / Ctrl+Shift+Tab cycle through the pending files.(file:line) / (file:start-end) reference; click it (or press Ctrl+L) to copy, and with the setting on it auto-pastes into the composer and focuses it. References in the composer and queued messages are auto-aligned when the referenced file changes: surviving lines re-map to their new range, and a fully-removed line becomes (file:LINE_MISSING).Preview / Source). The preview content max width is configurable.@file reference or file link in a message, and a relative link in this plugin's Markdown preview, and offers: Open as usual (the shell's own behaviour, replayed), View in the review panel, and Copy file path.unicode-range; it is on by default and can be turned off in settings.git diff HEAD view), plus deleted files and, opt-in, files the VCS has never seen (untracked / unversioned). The VCS root is found by walking up from the workspace, so a workspace inside a subdirectory works too.<dshHome>/diff-approval/workspaces/<workspaceId>.json and survives restarts — unhandled changes are still there when you come back, even in a fresh session.If dsh is on your PATH:
dsh plugin --profile web add dsh-diff-approval
Or, if you run the harness through npx (e.g. npx @deepseek-ai/dsh web):
npx @deepseek-ai/dsh plugin --profile web add dsh-diff-approval
or manually: add the package to your profile's package.json dependencies and insert this row into the profile's cordis.patch.yml:
- insert:
- id: diff-approval
name: dsh-diff-approval
# Optional: relocate durable pending state (defaults to
# <dshHome>/diff-approval/workspaces).
# config:
# storageDir: ~/dsh-pending
Then restart dsh web.
edit / write / editor (str_replace_editor) calls are recorded automatically.edit, write, and str_replace_editor editor calls) are recorded automatically. Deletions made outside these tools (e.g. shell rm) are sensed only for tracked files: the entry turns "File is gone" and its Revert restores the file.PATH. Including files version control has not seen (default off) scans the whole workspace, which can be slow on large trees.dsh-footer-order plugin when it is present.Development setup, the command list, the two halves' reload rules and the font pipeline: DEVELOP.md.
FAQs
DeepSeek Harness plugin: pending-edit review with whole-file diff and Keep/Revert
We found that dsh-diff-approval demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.