Git运行时更新程序
一个DeepSeek Harness插件,可以检测本地Git安装,并通过平台支持的通道安装、更新或删除它。这是故意的 不 Git UI:它管理代理、终端和插件安装所依赖的Git运行时。
平台支持
| 平台 | 安装通道 | 安装 | 更新 | 卸载 |
|---|---|---|---|---|
| 窗户 | 这是官方的说法 git-for-windows/git 释放 | 是 | 是 | 是 |
| Linux | 自酿安装时;否则 apt, dnf, yum, pacman, zypper,或者 apk | 是 | 是 | 家酿是的;只有当这个插件安装了它的发行版包 |
| macOS | 自酿安装时;否则Xcode命令行工具 | 是 | 家酿是的;Xcode CLT编号 | 家酿是的;Xcode CLT编号 |
在Linux和macOS上,插件永远不会编辑shell配置文件。它使用 pkexec (桌面会话)或无密码 sudo -n 对于包管理器操作;当两者都不可用时,它报告要在终端中运行的确切命令,而不是要求或存储密码。
安装
在DeepSeek线束: 插件→添加插件,然后粘贴其中一个:
@smounives/dsh-git-runtime
https://github.com/YukiSuoug/dsh-git-runtime
npm包发布在 @smounives 范围,因为发布帐户的NPM令牌范围为该帐户;GitHub URL直接从源代码安装,具有相同的插件id。
安装完成后,打开 设置→Git运行时 (这页的标题是 Git运行时更新程序)。
它是做什么的
- 报告安装的Git版本、可执行文件、位置、包管理器源代码和PATH状态。
- 安装 当Git丢失时:
- Windows下载最新的官方MinGit存档,并进行验证
cmd/git.exe启动,安装%LOCALAPPDATA%\Programs\MinGit,将其添加到用户PATH,并为受限制进程配置全局Git HTTPS设置。 - Linux/macOS要求Homebrew或发行版包管理器安装Git。
- Windows下载最新的官方MinGit存档,并进行验证
- 更新 通过相同的通道,在通道公开一个版本时进行版本检查。
- 卸载 通过拥有安装的渠道。
- 马上申请 在Windows上,当用户PATH已经包含Git,但是正在运行的DSH进程在更改之前启动时。
安全模型
- Windows只删除它自己的
%LOCALAPPDATA%\Programs\MinGit文件夹,其用户PATH条目,以及该插件写入的或指向该文件夹的Git HTTPS值。 - Linux和macOS不会移除发行版管理的Git,除非安装了这个插件。对于已存在的系统Git,页面显示的是删除命令。
- Homebrew管理的Git可以通过Homebrew删除;当另一个公式依赖于Git时,Homebrew拒绝。
- 破坏性操作需要一个确认对话框。Web UI通过同源、经过确认报头检查的JSON路由与主机通信。
- 没有遥测和凭证收集。
配置
编辑概要文件中的插件行 cordis.patch.yml:
- id: dsh-git-runtime
name: '@smounives/dsh-git-runtime'
config:
# Windows only
installDir: 'D:\Tools\MinGit'
addToPath: true
configureHttps: true
开发
该包是纯JavaScript;没有构建步骤。
node --check index.js
node --check lib/unix.js
node --check client.js
东道主的一半是 index.js (Windows) + lib/unix.js (Linux / macOS)。网络的一半是 client.js 注册一个页面 settings.section 槽。
中文说明
Git运行时更新用来管理DSH运行所依赖的Git程序本身,不是Git图形客户端。
- 窗户【中文译文
%LOCALAPPDATA%\Programs\MinGit,写入用户路径,并配置受限进程需要的HTTPS设置;支持安装,更新,卸载,以及“立即应用“修复当前DSH进程的路径。 - Linux / macOS:优先使用自制程序;没有自制程序时使用发行版包管理器(apt, dnf百胜,吃豆子,zypper apk)或Xcode命令行工具。需要管理员权限时会使用
pkexec或无密码sudo -n,否则只显示需要手动执行的命令。 - 系统包管理器安装的Git只有在“本插件安装的“情况下才允许卸载,已经存在的系统Git只显示卸载命令,避免误删系统依赖。
许可证
麻省理工学院