dsh-git-sidebar
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 27, 2026
- Updated
- Aug 27, 2026
Introduction
dsh-git-sidebar
A draggable right-side Git sidebar for DeepSeek Harness Web. It follows the active workspace, lists changed files, generates commit messages with the model you are already using, and runs commit / push / pull.
Features
- Follows the active workspace — the panel switches to the workspace of the conversation you select, resolving the git root automatically (walking up from the workspace path, or one level down for nested checkouts).
- Draggable right-edge entry — a vertical tab on the right edge of the window; drag it anywhere along the edge, click to toggle the panel.
- Change list — staged / unstaged groups with status badges (M/A/D/R/?), click a file to stage or unstage, stage-all toggle.
- Branch switching — a branch dropdown listing local and remote branches; checkout with a dirty-workspace warning before switching.
- AI commit message — ✨ generates a Conventional Commits style message (Chinese subject) from
git status+git diff HEADusing the current session's default model via the harnessllmservice, then fills the message box for editing. - Actions — commit (optionally with all changes), push, pull, refresh.
Install
dsh plugin --profile web add dsh-git-sidebar
Or install from this repository:
dsh plugin --profile web add "github:adamaik/dsh-git-sidebar#main"
Usage
The Git tab appears on the right edge of the window. Click it to open the panel; drag it to reposition. Select a conversation in the left sidebar to point the panel at that workspace.
How it works
- Host half (
lib/index.js) registers JSON routes on thewebServerservice and runs git commands through theshellservice; the AI commit message endpoint callsllm.streamwith the current default model selection. - Browser half (
lib/client.js) is adsh.clientmodule registered intoshell.overlay; it fetches the host routes and renders the React UI.
Development
node --check lib/index.js
node --check lib/client.js
License
MIT