DeepSHPlugins
dsh-git-tools 项目预览
GITHUB / COMMUNITY PROJECT

dsh-git-tools

工具与集成TypeScriptMIT

为 DeepSeek Harness 提供四个零依赖本地 git 工具(status、diff、log、commit),作用于会话工作区。

2 StarsShyboy0499 更新时间 2026-08-27
访问 GitHub 仓库
dsh-git-tools 项目预览

项目介绍

中文

为 DeepSeek Harness 提供四个零依赖本地 git 工具(status、diff、log、commit),作用于会话工作区。

English

Four dependency-free local git tools (status, diff, log, commit) for DeepSeek Harness operating on the session workspace.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
Shyboy0499
仓库
Shyboy0499/dsh-git-tools
GitHub Stars
2
Forks
0
开发语言
TypeScript
许可证
MIT
最近推送
2026-08-27
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

60/ 100
维护活跃
91
文档与实用信息
100
生态关注度
14
安装便捷信号
100
项目声明信号
100

近 15 天仍在更新;README 含完整安装与使用说明;关注度尚低(2)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:Shyboy0499/dsh-git-tools

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-git-tools

npm version CI License

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

ToolWhat it does
git_statusBranch, ahead/behind, and staged / unstaged / untracked files
git_diffStat summary or full patch, staged or unstaged, optional path filter
git_logRecent commits as { hash, author, date, subject }
git_commitStage 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 execFile with arguments passed as arrays — no shell

interpolation, so user/model-controlled values are injection-safe.

  • git_commit requires an explicit message and never stages files on its own

(pass paths or all: 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

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目