dsh-tool-git

DSH PLUGIN开发与运行时

仓库 Huasfan/dsh-tool-git

开发与运行时 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

为 DeepSeek Harness 智能体提供九个结构化 Git 工具,替代命令行解析,涵盖状态、差异、提交、分支等操作。

一句话选型结论

按资料字段整理

dsh-tool-git 是开发与运行时类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-08-14 创建于 2026-08-14
README 5.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:Huasfan/dsh-tool-git#v0.2.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.1.1-rc.2;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.1.1-rc.2版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-tool-git:DeepSeek Harness 的 Git 工具集

  • 结构化 Git 状态
  • 安全执行无注入
  • 支持取消与超时
  • 自动注册与卸载

适用场景

文件读写GitHub 集成

上游标签

agentdeepseek-harnessdshdsh-plugindsh-pluginsgit

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✕ 未通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 boot failed
  • L5.3_HTTP_SERVED HTTP 服务响应

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.1.1-rc.2),按版本装不容易报错。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-tool-git当前 L4 · 沙盒安装通过 低风险 1 0.1.1-rc.2 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Huasfan仓库 dsh-tool-git · 默认分支 main
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-14 · 2026-08-14最后推送 2026-08-14
本站收录2026-08-27首次进入本站目录的时间

README 全文

5.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-tool-git

English | 中文

Git tools for DeepSeek Harness agents — nine structured, model-facing tools that replace "shelling out to git and parsing text":

Tool Purpose Key parameters Canonical value highlights
git_status Working-tree status workdir? Structured branch/head/clean/staged/unstaged/untracked/conflicts
git_diff Diff (unstaged by default) staged? stat? paths? diff text or stat numeric summary; UI diff card
git_log Commit history count? paths? commits[] (hash/shortHash/author/date/subject)
git_add Stage files paths? or all? stagedFiles[] read back from the index
git_commit Create a commit message (required) body? amend? stageAll? New hash/shortHash/branch; empty index returns reason: 'nothing-to-commit'
git_branch List/create/checkout/delete branches action? name? startPoint? force? branches[] (name/current/upstream) or action result
git_show Show a commit or a file at a revision rev path? stat? Commit metadata + patch (UI diff card) or file content (UI read card)
git_restore Discard working-tree changes / unstage paths staged? source? restored[] — the files actually changed
git_merge Merge a branch/commit rev noFF? abort? message? New HEAD, or conflicts[] on a merge conflict

All tools accept workdir (defaults to the session workspace; relative paths resolve against it).

Compatibility

  • Tested against DeepSeek Harness 0.1.0-rc.6 — the peer/dev dependency pins in package.json match the packages shipped with that version.
  • Harness plugin interfaces are still evolving during the preview. If you upgrade dsh, re-run pnpm test against the new version and report any breakage.
  • Requires git ≥ 2.23 (--porcelain=v2 and git restore).

Install

# From GitHub (pnpm runs the prepare build automatically)
dsh plugin --profile web add github:Huasfan/dsh-tool-git

# First git install: pnpm refuses to run build scripts until explicitly allowed —
# dsh prints the exact key to add to the profile's pnpm-workspace.yaml:
#   allowBuilds:
#     dsh-tool-git: true
# Consider pinning a commit: github:Huasfan/dsh-tool-git#

Local / development:

# Patch overlay using the bundle layer
dsh --profile web --patch /abs/path/to/dsh-tool-git/cordis.patch.yml

# Or load the TypeScript source directly (the loader supports .ts, including
# relative imports):
#   name: '/abs/path/to/dsh-tool-git/src/index.ts'

Configuration (cordis.yml)

- id: git-tool
name: dsh-tool-git
config:
gitPath: git        # git executable, default "git"
timeoutMs: 30000    # per-invocation timeout in ms, default 30000

Config is a Schemastery schema: invalid configuration fails loudly at load time with an actionable error.

Design principles

  • One canonical JSON value. execute returns only the structured value declared by output.schema; output.render turns it into model-facing prose. The model never parses prose for fields (per the official tool authoring reference).
  • Non-zero exits are domain outcomes, not exceptions. A failing git call (not a repository, unmatched pathspec, rejected hook, …) returns { ok: false, error }; only infrastructure failures (missing executable, timeout, cancellation) throw. Timeouts land in error; cancellation re-throws as an AbortError using the registry-recognized TOOL_ABORTED.
  • Cooperative cancellation. exec.signal is forwarded to child_process.execFile on every call.
  • No shell injection. execFile with an argument array; command strings are never interpolated. Environment is pinned (LC_ALL=C, GIT_TERMINAL_PROMPT=0, GIT_PAGER=cat) and read-only commands use --no-optional-locks.
  • Registration is an effect. ctx.tools.register(...) unregisters automatically when the plugin unloads.
  • Machine-readable parsing. git status --porcelain=v2 -z --branch with positional slicing (paths may contain spaces); a rename's original path is the bare record that immediately follows.
  • Tool-owned UI cards. Pure presentCall/presentResult presenters, with output.presentationMeta projecting replayable diff-card and read-card data (git_diff, git_show) that survives session-log replay.

Reference implementation: @deepseek-ai/dsh-tool-bash.

Development

pnpm install     # all dev dependencies come from npm; no local dsh install needed
pnpm typecheck   # tsc --noEmit (TS 5.8 strict + erasableSyntaxOnly)
pnpm test        # vitest: 28 tests (parser unit tests + real scratch-repo integration)
pnpm build       # esbuild bundle → lib/index.js (same as the prepare script)

Peer packages (@deepseek-ai/dsh-tools etc.) are pinned to the exact versions shipped
with dsh 0.1.0-rc.6; at runtime they resolve from the profile's in-box dependencies.

Documentation

  • CONTRIBUTING.md — how to build, test, and submit changes.
  • RELEASE-NOTES.md — per-version release notes.

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-tool-git 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:Huasfan/dsh-tool-git#v0.2.0` 即可。

dsh-tool-git 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-tool-git 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-tool-git 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-tool-git 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.1.1-rc.2。

dsh-tool-git 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-tool-git 有哪些功能?

结构化 Git 状态、安全执行无注入、支持取消与超时、自动注册与卸载。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

2 条
不同作者的仓库分开列,请确认你要装的是哪一个
开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。