dsh-tool-git

DSH PLUGIN开发与运行时

仓库 lxj808624/dsh-tool-git · npm dsh-tool-git

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供结构化安全 Git 工具集,包含状态、差异、日志、提交等操作,并内置破坏性命令防护门。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 3 复刻 2 · 未关闭 issue 2
最近更新 2026-08-16 创建于 2026-08-13
README 6.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 12 个版本版本不匹配时安装会报错
Node.js 要求^22.19.0 || >=24.0.0来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.0、@deepseek-ai/dsh-tools@^0.1.0-rc.6 等 3 个需要同时安装的同级依赖
npm 包名dsh-tool-git可用 npm view 查看包信息

能做什么

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

dsh-tool-git:DeepSeek Harness 的结构化安全 Git 工具插件

  • 结构化 Git 操作
  • 无 shell 注入
  • 破坏性命令防护
  • 机器可读 JSON 输出

适用场景

GitHub 集成文件读写

上游标签

deepseek-harnessdsh-plugingittool

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(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 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

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

仓库档案

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

README 全文

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

dsh-tool-git





为 DeepSeek Harness(dsh)开发的结构化、安全 Git 工具插件。

编码 agent 几乎每天都在用 git,但 dsh 默认只提供裸 bash 命令。dsh-tool-git 为模型提供八个结构化工具——通过无 shell 的子进程运行器执行 git,返回规范的 JSON 值——并内置 tools/pre-execute 安全门,在破坏性 git 操作(强制推送、硬重置、rebase、amend、删除分支等)发生之前将其拦截,无论模型是通过这些工具调用,还是通过 shell 工具调用。

  • 无 shell 注入:所有命令通过 execFile + 显式参数数组执行,模型提供的路径和消息永远不会被字符串拼接进 shell。
  • 机器可读输出:porcelain v2、--numstat、--format 记录被解析为结构化 JSON,而不是文本。
  • 默认安全:破坏性操作默认被拒绝并附带原因说明,除非你选择 ask(审批弹窗)或 allow(放行)。

工具列表

工具 功能
git_status 工作区状态:分支、领先/落后、已暂存 / 未暂存 / 未跟踪文件
git_diff 逐文件增删统计、可选 unified patch、--cached / rev 基线
git_log 提交历史:哈希、作者、日期、主题、正文;支持 maxCount、rev 区间、path 过滤
git_branch 分支列表及上游跟踪状态(领先/落后)
git_stage 暂存指定路径,或全部 / 仅已跟踪的修改
git_commit 用消息创建提交;返回哈希和统计
git_stash list / push / pop 暂存,pop 冲突安全处理
git_show 单次提交:元数据、逐文件统计、可选 patch
git_fetch 从远端下载引用,不触碰工作区
git_pull 默认仅快进;not-fast-forward / conflict 结果结构化返回
git_remote 列出已配置的远端(fetch/push URL)
git_checkout 切换分支或创建并切换(-b);绝不丢弃更改

每个工具都接受可选的 repoDir 参数,并在结果中返回解析后的仓库根目录。

安全门

安全门监听 tools/pre-execute,检查每一次工具调用:

  • 插件自身的工具 —— 例如带 amend: true 的 git_commit。
  • shell 工具 —— bash、tool:bash、bash_persistent、terminal、tool:terminal、pwsh —— 扫描其命令文本中的破坏性 git 调用,例如:

push --force / --force-with-lease · push --delete · reset --hard ·
clean -f · branch -d/-D · tag -d · rebase · pull --rebase ·
commit --amend · checkout -- / checkout . / checkout -f ·
switch -f · restore(丢弃工作区)· rm -r · update-ref -d · filter-branch

模式匹配按命令进行:不会跨越 |、; 或换行边界,因此 git add . && git push --force 仍会被拦截,而普通的复合命令不会被误判。

这是策略护栏,不是沙箱。 能运行任意代码的 agent 总有办法绕过字符串匹配(别名、-c 改写、脚本化)。护栏的意义在于让意外的破坏性调用响亮地失败并给出解释——有意的破坏性操作通过配置的策略来授权,而不是绕过护栏。

安装

npm(推荐) —— 任意目录执行:

dsh plugin --profile web add dsh-tool-git

从 GitHub(或本地目录 / tarball):

dsh plugin --profile web add github:lxj808624/dsh-tool-git#v0.1.3

然后重启 dsh --profile web。通过 GitHub 安装时,pnpm 会要求你允许一次 prepare 构建脚本(参见官方打包指南)。

配置

所有选项均可选,默认值如下:

# tool-git 行的 profile 级或 bundle patch 配置
- id: tool-git
name: dsh-tool-git
config:
workDir: ''                # 仓库发现起始目录(默认:进程 cwd)
gitPath: git               # git 可执行文件
destructivePolicy: deny    # deny | ask | allow
extraDestructivePatterns: []  # 追加的忽略大小写正则(安全门使用)
logMaxCommits: 20          # git_log 默认条数(上限 100)
diffContextLines: 3        # git_diff / git_show 的 patch 上下文行数
  • deny(默认)—— 破坏性调用被拒绝,并附带模式名和原因说明。
  • ask —— 破坏性调用走运行时的审批通道(ctx.approval);未挂载审批服务时降级为 deny。
  • allow —— 安全门全部放行。

开发

前置条件:Node.js ≥ 22.19 和 pnpm。项目完全自包含——所有 @deepseek-ai/* 类型来自 devDependencies 中安装的公开 API(0.0.1-rc.5 线),不需要 deepseek-harness checkout。

pnpm install
pnpm run typecheck   # 针对公开 @deepseek-ai/* API 做 tsc 检查
pnpm test            # vitest:启动插件,在临时仓库中执行真实 git
pnpm run build       # tsc 声明 + tsdown 打包(lib/index.mjs)

测试会创建一次性仓库,把插件注册到带有真实 dsh-tools 运行时的 Cordis 上下文上,并通过完整管线(tools/pre-execute → dispatch → tools/result)执行每个工具。

发布

  • package.json 中的 dsh.bundle.patch 指向 cordis.patch.yml,因此 dsh plugin add 会把插件作为 profile 层激活。
  • prepare 运行 tsdown --config tsdown.prepare.config.ts,无需项目引用即可从 src/ 转译——因此 GitHub 安装无需相邻 harness checkout 也能构建。更推荐发布预构建 tarball / npm 包,避免 pnpm 的构建脚本白名单。

License

MIT

贡献者

  • taonokenshin — 发现并修复了 dsh-tools peer 解析问题(该问题在 DeepSeek Harness 0.1.0-rc.6 下会导致宿主工具调度器崩溃,见 #1 / #2)。

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-tool-git`。

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

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-tool-git 安全吗?

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

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

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-tool-git 需要什么运行环境?

Node.js ^22.19.0 || >=24.0.0;需要同时安装 @deepseek-ai/cordis@^4.0.0、@deepseek-ai/dsh-tools@^0.1.0-rc.6、@deepseek-ai/schemastery@^3.18.0。环境不满足时安装会失败,建议先确认本机版本。

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

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

dsh-tool-git 有哪些功能?

结构化 Git 操作、无 shell 注入、破坏性命令防护、机器可读 JSON 输出。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 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。