dsh-git-tools
Manifest validFour dependency-free local git tools (status, diff, log, commit) for DeepSeek Harness operating on the session workspace.
dsh-git-tools
Local git tools for DeepSeek Harness (
dsh).
dsh-git-tools is a dependency-free DeepSeek Harness plugin that gives the coding agent
four local git tools — git_status, git_diff, git_log, and git_commit —
so it can inspect the repo in the session workspace and create commits, all through the
official tool API. No UI, Host-side only.
Features
| Tool | What it does |
|---|---|
git_status | Branch, ahead/behind, and staged / unstaged / untracked files |
git_diff | Stat summary or full patch, staged or unstaged, optional path filter |
git_log | Recent commits as { hash, author, date, subject } |
git_commit | Stage specific paths (or all) and commit with a required message |
Installation
dsh plugin --profile web add dsh-git-tools
Requires git on your PATH (present in any development environment).
Tool reference
All tools accept an optional cwd (defaults to the session workspace).
git_status
Inspect the working tree and branch state.
{
"branch": "main",
"ahead": 0,
"behind": 2,
"staged": [{ "path": "src/index.ts", "status": "M" }],
"unstaged": [],
"untracked": ["scratch.txt"]
}
git_diff
View changes. staged diffs the index, statOnly: true (default) returns a stat summary,
statOnly: false returns the full patch. path filters to a single file.
{
"stat": [{ "file": "src/index.ts", "added": 3, "deleted": 1 }],
"total": { "files": 1, "insertions": 3, "deletions": 1 },
"patch": null
}
git_log
List recent commits. count defaults to 10 (max 100); path filters to a file.
{
"commits": [
{
"hash": "a1b2c3d4e5f67890abcdef1234567890abcdef12",
"author": "Shyboy0499",
"date": "2026-08-26",
"subject": "Fix typo"
}
],
"total": 1
}
git_commit
Create a commit. message is required (non-empty). Stage specific files with paths,
or everything with all: true. Never stages implicitly.
{
"success": true,
"hash": "e5f6g7h0123456789abcdef0123456789abcdef01",
"branch": "main",
"filesStaged": 2
}
Safety
- All git calls run through
execFilewith arguments passed as arrays — no shell interpolation, so user/model-controlled values are injection-safe. git_commitrequires an explicitmessageand never stages files on its own (passpathsorall: true).- No destructive operations (
--amend,--force, rebase, reset) in the core scope.
Development
pnpm install
pnpm run build # tsdown → lib/
pnpm test # vitest against real throwaway git repos
pnpm run lint # oxlint
pnpm run format # prettier --write .
License
Comments
Loading…
Similar plugins
Local Git workbench for DeepSeek Harness: branch search and switching, hunk-level staging, commit graph, file history and blame, stash and worktree management, conflict resolution, and eight git tools
★ 0
MIT
JavaScript
dsh plugin --profile web add dsh-plugin-git-workbenchby happyqu
Git workbench for deepseek-harness: changelists, staging, history, branches, stashes and optional AI assistance
★ 0
NOASSERTION
JavaScript
Oct 19, 2026
dsh plugin --profile web add @happyqu/dsh-plugin-gitby 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-gitflowby lxj808624
Structured safe Git tools for DeepSeek Harness (dsh): git_status/diff/log/branch/stage/commit/stash/show + destructive-command guard
★ 5
↓ 57/wk
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-tool-gitFirst-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-workflowby kaixinbaba
Git development workbench for DeepSeek Harness: captures branch, status, worktrees, stashes and recent commits, with commands, tools and a settings UI.
★ 0
↓ 67/wk
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-git-workbench