dsh-git-nexus
Manifest validGit and GitHub panel for the DSH web profile: stage/unstage/discard/diff, branches, commit, push/pull/sync, log, file browser, workflow board, and GitHub OAuth with PR creation.
dsh-git-nexus
A single, self-contained DeepSeek Harness (DSH) web plugin that merges the
git-management features of the popular dsh-web-ui plugin (SCM change panel +
branch management) with GitHub access, a workflow board, and file browsing —
one panel instead of several plugins.
Features
- Changes (SCM) — working-tree status, per-file diff, stage / unstage / discard, commit.
- Branches — list, switch, create, delete.
- Remote — push, pull, sync (pull then push), fetch.
- Log — bounded, structured commit history.
- Files — list tracked files with search, read any text file.
- Workflow — persistent step board (Claude Code-style plan tracking).
- GitHub — OAuth Device Flow login (full
repoaccess, revocable), scope seal, PR creation.
Install
dsh plugin --profile web add "file:/absolute/path/to/dsh-git-nexus"
# then restart the web profile
dsh web
The plugin appears under Settings → Plugins and the panel pill appears in the session header of git-managed workspaces.
Compatibility
Targets DSH 0.1.0-rc.6 (web profile). The plugin ships a strict
Typert host manifest
(./typert) and mounts strict client codecs, matching the conventions of the
plugins inside the official repository.
This is a community plugin published under the dsh-plugin
topic — the channel the DeepSeek Harness
maintainers ask community extensions to use (see the project's
CONTRIBUTING.md).
GitHub OAuth
GitHub auth uses the device flow, so no long-lived PAT is written to disk. You need a GitHub OAuth App client id:
- Go to GitHub → Settings → Developer settings → OAuth Apps → New OAuth App.
- Any name / homepage / callback will do (device flow ignores the callback).
- Paste the resulting Client ID into the panel's GitHub tab, click Connect, then open the printed URL and enter the user code.
The resulting token requests the repo, workflow, read:user and user:email
scopes and is stored with 0600 permissions under
~/.dsh/storages/dsh-git-nexus/. If the gh CLI is already authenticated, the
plugin uses it automatically and no client id is required.
Security notes
- Every git/file command runs through a fresh
/bin/sh -cchild process with a 30s timeout and a 2 MiB output cap. The web profile scopes DSH'sshellservice to per-session agent realms, so the host-plane gateway executes directly instead of injecting it. - Branch names, paths, and commit messages are shell-quoted; control characters are rejected.
- GitHub tokens live only under
~/.dsh/storages/dsh-git-nexus/settings.json(mode0600).
License
MIT
Comments
Loading…
Similar plugins
GitHub account management plus a local Git workflow for the web GUI with clone, fast-forward pull, status, commit, push, and host-side push guards.
★ 0
↓ 106/wk
dsh plugin --profile web add dsh-githubThe session page has an extra "Git" page; on the left is a preview of the non-staged/staged changes, and on the right is a diff preview with a row-level action bar (staged/discarded).
★ 0
dsh plugin --profile web add @fengbinmov/dsh-git-panelby Dayi-Z
GitHub-connected visual git panel for DeepSeek Harness - branch switcher, file-level approval cards, PR/issue workspace
★ 1
↓ 374/wk
MIT
TypeScript
Sep 17, 2026
dsh plugin --profile web add dsh-git-managerby a792883583
Git sidebar panel with commit graphs, ahead/behind tracking, branch operations, and one-click chat context injection.
★ 0
MIT
TypeScript
Sep 30, 2026
dsh plugin --profile web add dsh-git-panelby lonelymoon87
Adds approval-gated Git status, diff, log, commit, branch, and optional checkpoint tools.
★ 1
↓ 126/wk
MIT
TypeScript
Aug 21, 2026
dsh plugin --profile web add dsh-gitflowFirst-class Git tools for the model: status / diff / log / commit / branch with validated messages and paths - no bare-shell git calls.
★ 0
dsh plugin --profile web add dsh-plugin-git-workflow