DSH Plugins
返回列表
dsh-git-guard

dsh-git-guard

admin-security 更新于 2026.10.17

在终端中运行以下命令:

dsh plugin install Yokira404/dsh-git-guard

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install Yokira404/dsh-git-guard 即可安装本插件,源码仓库为 https://github.com/Yokira404/dsh-git-guard。

插件介绍

让 Agent 在会话里跑 shell 时,一次误执行的 git commit 或 git push 就可能改坏本地历史或把仓库推到远程。dsh-git-guard 在 Session 标题栏右侧放两个独立开关,在命令真正执行之前拦截,Agent 只会收到明确的拒绝,而不是事后才发现仓库已被改动。

左侧开关针对本地写入:git add、commit、reset、merge、tag 等会被挡住;右侧针对一切触达远程的行为:push、pull、clone、remote、gh 等。两者默认都开启,且匹配是引号感知的,不会被命令参数里的 git push 字样或 sudo、带路径的 git.exe 前缀骗过。只读类操作(status、log、diff、branch 等)以及 git init 仍可使用;插件不改 .git/hooks 或 git config,只做拦截。

两个开关的联动有刻意设计:打开任一保护不会自动关掉另一个;关闭上传保护时会一并放开本地写入;双关时单独打开右侧可先只挡上传、仍允许本地写。四种组合都可达,适合在演示、审代码或托管环境里既要 Agent 查仓库、又要可控地放开写或推的场景。会扫描工具调用里整段命令类字段,文档里若写出 git push 也可能被拦;DSH 重启后开关恢复为双开,状态不持久。

截图预览

使用场景

  • 演示或培训时让 Agent 只读查看仓库
  • 需要审代码但禁止自动 commit 或 push
  • 托管环境里分步放开本地写与远程上传

适合人员

  • 在 DSH 里常用 Agent 跑 shell 的开发者
  • 担心误改本地 Git 或误推远程的用户
  • 需要会话级 Git 管控的管理员