DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
G

dsh-git-diff

Git Diff

Git changes and per-file diffs as a right-Sidebar tab for the DeepSeek Harness web UI

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:XYZ1024-alt/dsh-git-diff#aceba1587b7f9e572b5b98f184ed6ce2072c78fa
READMECompatibilityVersions

Compatibility and provenance

Git Diff is published as dsh-git-diff and currently resolves to version 2.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/25/2026

Versions

2.0.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
2.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/25/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiOpsdsh-opsNative file and PTC tools for DSH on Windows x64, Linux x64 and macOS arm64/x64; Windows-only optional Bash payload and host PowerShell integrationUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panel

README

dsh-git-diff

Adds a Git changes tab to the right Sidebar of the DeepSeek Harness web UI (dsh web), next to the built-in Files and Terminal tabs.

  • Open it from the Sidebar guide. The header shows the current branch and how many paths changed.
  • Changed paths are listed with M / A / D / R / C / T / U (untracked) / ! (conflict) badges. Paths that are already staged are marked.
  • Expand a path to compare it side by side (see Diff view). Use the arrow button to open the file in the Sidebar preview; deleted paths have no such button.
  • The list refreshes when the tab becomes visible, when an agent turn finishes, and on the Sidebar refresh command or button.

Version 1.x drew its own Files and History panels. DSH now ships both natively: the Files tab, and turn navigation in the chat. 2.0 therefore keeps only the git view and rebuilds it on the right-Sidebar tab API.

Diff view

An expanded path shows two aligned columns: HEAD on the left, the working tree on the right.

  • Each column has its own line numbers. Removed lines are red on the left, added lines are green on the right, and a changed line faces its replacement. A line with no counterpart leaves a blank cell on the other side.
  • Three lines of context surround each change. Longer unchanged stretches fold into a single "N unchanged lines" row.
  • A new or untracked file fills only the right column. A deleted file fills only the left column.
  • Long lines wrap inside their column, so the view fits a narrow Sidebar.
  • Binary files, and files where either side exceeds 512 KiB, show a note instead of a diff.

Requirements

  • DeepSeek Harness >=0.2.1-rc.2 <0.3.0 with the web profile.
  • git on PATH in the Session's execution environment.

Installation

The package is a DeepSeek Harness bundle. Its cordis.patch.yml registers one row, which loads both the Host half (lib/index.js) and the browser half (lib/client.js).

# from GitHub (pin a commit for reproducibility: ...#<commit-sha>)
dsh plugin --profile web add github:XYZ1024-alt/dsh-git-diff
# or from a local checkout, run in its parent directory
dsh plugin --profile web add ./dsh-git-diff

The built JavaScript in lib/ is committed, so installation does not run a build. Reload the page after installing. Remove the plugin with dsh plugin --profile web remove dsh-git-diff.

Security

The plugin registers two read-only GET routes, /api/dsh-git-diff/status and /api/dsh-git-diff/diff, as exact Fetch routes on DSH's shared /api channel. Before a request reaches them, DSH's Connection applies its Host/Origin trust checks and browser authentication, and only owner Peers get through.

  • Each request names a Session. Git runs only in that Session's working directory.
  • The diff route returns content only for paths that git status currently reports as changed, and only inside the repository root.

Development

pnpm install
pnpm check   # typecheck (Host and client separately), Biome, build lib/
PathRole
src/contract.tsZod schemas for the wire responses, shared by both halves
src/routes.tsRoute paths
src/host/Host plugin: Session to working directory, git through ctx.subprocess, file reads through ctx.fs
src/client/index.tsBrowser plugin entry: tab type, guide entry, tab body registration
src/client/GitChangesBody.tsxTab body: branch header, change list, per-path diff loading
src/client/split-diff.tsSide-by-side row model: local patches from diff, paired old/new lines, folded gaps
src/client/SplitDiff.tsxTwo-column diff renderer
src/client/api.tsBrowser adapter over the Host routes, parsed with the shared contract
src/client/locales.tsEnglish and Chinese dictionaries
scripts/build.mjsesbuild: ESM Host bundle and client bundle in the DSH module-loader envelope, with CSS-module styles injected

The client bundle imports only from the Web shell's platform modules (react, zod, @deepseek-ai/dsh-client-ui-primitives, and so on). Everything else, including swr and diff, is bundled. The build fails when the client imports any other @deepseek-ai/* package at runtime.

License

MIT