🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Git 仓库守卫 Yokira404/dsh-git-guard

DeepSeek Harness
Yokira40419 天前有提交已提供中文文档扫描:未发现敏感能力

拦截 agent 擅自写入本地仓库或上传远端

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yokira404/dsh-git-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/03·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 19 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    client.js:378
    const response = await window.fetch(url, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

防止 dsh 自作主张上传到 GitHub

README

由 DeepSeek 最新模型翻译生成
Git 仓库保护 · dsh-git-guard English → 会话标题栏右侧的一对开关,拦住 agent 写入本地 git 仓库或把它上传到远端。 | 开关 | 位置 | 拦住什么 | | 本地仓库 | 左 | 写入本地仓库的操作:git add、git commit、git reset、git merge、git tag 等 | | 远端仓库 | 右 | 触达远端的操作:git push、git pull、git clone、git remote、gh 等 | 两个都默认开启。拦截发生在命令真正执行之前,被拒绝的操作不会执行,agent 会收到明确的拒绝理由。 两个开关的位置 安装 dsh plugin --profile <profile> add https://github.com/Yokira404/dsh-git-guard 装好后重新加载页面,即可在会话标题栏右侧看到这两个开关。 手动登记 profile 也可以:在 ~/.dsh/profiles/<profile>/package.json 的 dsh.profile.bundles 里加上 @yokira404/dsh-git-guard,并在 dependencies 里指向本包。
展开完整文档(README 剩余 1 节)
Git 仓库保护 · dsh-git-guard

English →

会话标题栏右侧的一对开关,拦住 agent 写入本地 git 仓库或把它上传到远端。

| 开关 | 位置 | 拦住什么 |
| 本地仓库 | 左 | 写入本地仓库的操作:git add、git commit、git reset、git merge、git tag 等 |
| 远端仓库 | 右 | 触达远端的操作:git push、git pull、git clone、git remote、gh 等 |

两个都默认开启。拦截发生在命令真正执行之前,被拒绝的操作不会执行,agent 会收到明确的拒绝理由。

两个开关的位置

安装

dsh plugin --profile <profile> add https://github.com/Yokira404/dsh-git-guard

装好后重新加载页面,即可在会话标题栏右侧看到这两个开关。

手动登记 profile 也可以:在 ~/.dsh/profiles/<profile>/package.json 的 dsh.profile.bundles 里加上 @yokira404/dsh-git-guard,并在 dependencies 里指向本包。

开关怎么联动

两者的关系只有两条,都是一次点击的后果,没有「必须一直成立」的约束:

| 点击 | 本地 | 远端 |
| 左(本地) | 取反 | 本地变成开时,远端跟着开;本地变成关时,远端不动 |
| 右(远端) | 远端变成关时,本地跟着关;远端变成开时,本地不动 | 取反 |

- 打开一侧永远不会关掉另一侧:打开一个保护,不该顺手拆掉另一个保护。
- 关闭远端会连带关闭本地:本地写入正是上传要带走的东西,只放开远端等于留着一半。
- 特例:两个都关时点右侧,只打开远端、本地保持关闭。这是有意留的口子 —— 只拦上传、不拦本地写入。

四种状态都可达:

| 状态 | 本地写入 | 上传远端 |
| 开 · 开(默认) | 拦 | 拦 |
| 关 · 开 | 放行 | 拦 |
| 开 · 关 | 拦 | 放行 |
| 关 · 关 | 放行 | 放行 |

判定范围

会被拦 · 左开关 —— 写入本地仓库:

git add · git commit · git am · git apply · git checkout-index · git config
git merge · git mv · git notes · git rebase · git reset · git restore
git revert · git rm · git stash · git switch · git tag
git update-index · git update-ref

会被拦 · 右开关 —— 触达远端:

git push · git pull · git fetch · git clone · git ls-remote · git remote
git submodule · git send-pack · git archive · git request-pull · git svn
gh repo / pr / release / issue / run / workflow / api / gist / secret / …
命令行上直接出现 github.com、gitlab.com、gitee.com 等仓库地址

不会被拦:git status、git log、git diff、git show、git branch、git blame、git init、git rev-parse、git check-ignore、git ls-files、git worktree、git help、gh auth、gh config、gh api /user,以及任何与 git 无关的命令。git init 是有意放行的:建仓库既不上传也不提交。

判定是引用感知的:git commit -m "do not push this" 是本地提交,不是上传;echo "git push" > notes.txt 什么都不是。判定也不吃前缀:sudo git push、env FOO=1 git commit、C:\Program Files\Git\cmd\git.exe push 都能识别出来。

被拦时 agent 看到什么

已阻止:DSH 的「Git 仓库保护」插件当前开着左侧的本地仓库开关,写入本地仓库的操作(git add / git commit 等)被拒绝。
被拦截的命令:git commit -m x 这是用户有意设置的开关,不是故障:不要改用其他命令、其他工具或直接调用 API 绕过它,也不要尝试关闭该开关。请把这一步作为「未执行」如实报告给用户,并说明用户可以点击会话标题栏的两个方形按钮自行放行。

已知限制

- 不改动你的仓库:不写 .git/hooks,不碰 git config,只做拦截。
- 会误伤「正文里写着命令名」的调用:判定看的是工具调用里命令类字段(command / script / code 等)的整串文本,所以用 write 写一份含 git push 字样的文档时,那次写入本身可能被拦。这是有意的偏向 —— 宁可多拦一次写入,也不放过一次上传;换个写法即可正常写入。
- 拦不住不走 shell 的路径:它针对的是 agent 通过命令上传仓库这条真实路径。
- 不做事后撤销:拦在事前,不存在已经推上去再回滚的窗口。
- 状态不持久化:DSH 重启后回到「两个都开启」。

许可

MIT
预览分享卡片长什么样 ↓Yokira404/dsh-git-guard
分享 · DeepSeek Harness Hub
Yokira404/dsh-git-guard

拦截 agent 擅自写入本地仓库或上传远端

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部