Git Runtime Updater
A DeepSeek Harness plugin that detects the local Git installation and installs, updates, or removes it through the platform-supported channel. It is deliberately not a Git UI: it manages the Git runtime that the agent, the terminal, and plugin installation depend on.
Platform support
| Platform | Installation channel | Install | Update | Uninstall |
|---|---|---|---|---|
| Windows | MinGit from the official git-for-windows/git release | Yes | Yes | Yes |
| Linux | Homebrew when installed; otherwise apt, dnf, yum, pacman, zypper, or apk | Yes | Yes | Homebrew yes; distro package only when this plugin installed it |
| macOS | Homebrew when installed; otherwise Xcode Command Line Tools | Yes | Homebrew yes; Xcode CLT no | Homebrew yes; Xcode CLT no |
On Linux and macOS the plugin never edits shell profiles. It uses pkexec (desktop session) or passwordless sudo -n for package-manager operations; when neither is available it reports the exact command to run in a terminal instead of asking for or storing a password.
Install
In DeepSeek Harness: Plugins → Add plugin, then paste one of:
@smounives/dsh-git-runtime
https://github.com/YukiSuoug/dsh-git-runtime
The npm package is published under the @smounives scope because the publishing account's npm token is scoped to that account; the GitHub URL installs directly from source with the same plugin id.
After installation, open Settings → Git Runtime (the page title is Git Runtime Updater).
What it does
- Reports the installed Git version, executable, location, package-manager source, and PATH status.
- Install when Git is missing:
- Windows downloads the latest official MinGit archive, verifies that
cmd/git.exestarts, installs it under%LOCALAPPDATA%\Programs\MinGit, adds it to the user PATH, and configures the global Git HTTPS settings for restricted processes. - Linux/macOS asks Homebrew or the distro package manager to install Git.
- Windows downloads the latest official MinGit archive, verifies that
- Update through the same channel, with a version check where the channel exposes one.
- Uninstall through the channel that owns the installation.
- Apply now on Windows when the user PATH already contains Git but the running DSH process started before that change.
Safety model
- Windows only removes its own
%LOCALAPPDATA%\Programs\MinGitfolder, its user PATH entry, and Git HTTPS values that this plugin wrote or that point into that folder. - Linux and macOS do not remove distro-managed Git unless this plugin installed it. For a pre-existing system Git the page shows the removal command instead.
- Homebrew-managed Git can be removed through Homebrew; Homebrew refuses when another formula depends on Git.
- Destructive actions require a confirmation dialog. The Web UI talks to the Host over same-origin, confirmation-header-checked JSON routes.
- No telemetry and no credentials are collected.
Configuration
Edit the plugin row in the profile's cordis.patch.yml:
- id: dsh-git-runtime
name: '@smounives/dsh-git-runtime'
config:
# Windows only
installDir: 'D:\Tools\MinGit'
addToPath: true
configureHttps: true
Development
The package is plain JavaScript; there is no build step.
node --check index.js
node --check lib/unix.js
node --check client.js
The Host half is index.js (Windows) plus lib/unix.js (Linux/macOS). The Web half is client.js and registers a page in the settings.section slot.
中文说明
Git Runtime Updater 用来管理 DSH 运行所依赖的 Git 程序本身,不是 Git 图形客户端。
- Windows:下载官方 MinGit,安装到
%LOCALAPPDATA%\Programs\MinGit,写入用户 PATH,并配置受限进程需要的 HTTPS 设置;支持安装、更新、卸载,以及“立即应用”修复当前 DSH 进程的 PATH。 - Linux / macOS:优先使用 Homebrew;没有 Homebrew 时使用发行版包管理器(apt、dnf、yum、pacman、zypper、apk)或 Xcode 命令行工具。需要管理员权限时会使用
pkexec或无密码sudo -n,否则只显示需要手动执行的命令。 - 系统包管理器安装的 Git 只有在“本插件安装的”情况下才允许卸载;已经存在的系统 Git 只显示卸载命令,避免误删系统依赖。
License
MIT