Shyboy0499/dsh-git-tools
dsh-git-tools is a dependency-free DeepSeek Harness plugin that gives the coding agent four local git tools — gitstatus, gitdiff, gitlog, and gitcommit — so it can inspect the repo in the session workspace and create commits, all through the official tool API. No UI, Host-side only.
catalog descriptioncatalog 简介 / catalog description:Local git tools for DeepSeek Harness (dsh): git_status, git_diff, git_log, git_commit
Project Overview项目介绍
dsh-git-tools is a dependency-free DeepSeek Harness plugin that exposes four local git tools to the coding agent: git_status, git_diff, git_log, and git_commit. Use it when you want the agent to inspect the session workspace repo and create commits through the official tool API. Installation is via dsh plugin --profile web add dsh-git-tools and requires git on PATH. All commands run through execFile with array arguments, and git_commit requires an explicit message and never stages files implicitly.
dsh-git-tools 是 DeepSeek Harness 的本地 Git 插件,为编码代理提供四个工具:git_status 查看分支与文件状态,git_diff 查看改动统计或完整补丁,git_log 列出最近提交,git_commit 创建提交。适用于在会话工作区中让代理检查仓库并提交更改。安装需 dsh plugin 命令并要求环境中有 git;git_commit 必须显式提供 message 且不会隐式暂存文件。
请帮我了解并安装插件:【dsh-git-tools】【https://github.com/Shyboy0499/dsh-git-tools】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-git-tools
把 Shyboy0499/dsh-git-tools 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
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 .
chuspeeism/dashi-taskboard
ccch1mneyyy/working-activity
Aisland-SJL/dsh-worktable
zhoushoujianwork/easyeda-agent
morluto/rea
linhay/harmony-next.skills