DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-gitbash

Plugin Gitbash

从 DeepSeek Harness 在 Windows 主机的 Git for Windows Bash 中运行命令。支持 WSL,可自动检测 git-bash 安装路径,无运行时依赖。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Jinsight-gif/dsh-plugin-gitbash#251c53cee969b0be1d68a58f40ca77f49dcd4f85
README兼容性版本

兼容性与来源证明

Plugin Gitbash 以 dsh-plugin-gitbash 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/23

版本

0.2.0stable
2026/8/23

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
已声明 sideEffects: false
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/8/23
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

dsh-plugin-gitbash

Run commands on the Windows host's Git for Windows Bash from DeepSeek Harness (DSH).

A self-contained zero-dependency Cordis plugin that registers one model tool, gitbash. Typical use cases:

  • Running git for Windows-native repositories (git from git-bash, not WSL).
  • Executing Windows executables, cmd/PowerShell-free scripting, native Windows paths (D:\..., C:\...) while the harness runs under WSL.
  • Anything that must touch the Windows side of a dual-boot / WSL setup, without leaving the agent session.

中文说明

How it works

Each call spawns a fresh Git Bash process:

<bash.exe> -c '<command>'

with stdin: 'ignore' (fd 0 on /dev/null), so the shell always runs non-interactively and exits instead of hanging. No state (cwd, env vars, shell functions) persists between calls.

Path semantics inside command: the spawned executable is the Windows Git Bash, so use git-bash/Windows paths (/d/tools, D:/tools, C:\...). WSL /mnt/... paths are not valid inside the command.

Workdir semantics: a workdir argument (or the session workspace, used by default) is mapped for the spawning layer — /mnt/X/..., /X/... and X:\... forms all become /mnt/X/..., which WSL interop converts into the native Windows directory. An unmappable WSL-only path (e.g. /home/...) starts in the session working directory (reported as //wsl.localhost/... under WSL interop) instead of failing the call.

Requirements

  • A DSH profile running on:
    • WSL / Linux with Git for Windows installed on a mounted Windows drive, or
    • native Windows with Git for Windows installed.
  • The harness host must reach the bash.exe (see resolution below).

Installation

From npm (once published)

dsh plugin --profile <name> add dsh-plugin-gitbash

dsh plugin installs the package into the profile and — because the package declares dsh.bundle — automatically appends it to the profile's bundle stack (dsh.profile.bundles). Restart the profile (dsh web / dsh --profile <name>) to mount the gitbash tool.

From GitHub (before npm publishing)

dsh plugin --profile <name> add https://github.com/<owner>/dsh-plugin-gitbash

or pin an immutable commit for reviewable installs (recommended for production):

dsh plugin --profile <name> add https://github.com/<owner>/dsh-plugin-gitbash#<commit-sha>

Manual bundle edit

Add the dependency to the profile's package.json dependencies, append dsh-plugin-gitbash to dsh.profile.bundles, then run dsh plugin --profile <name> install.

Agent preset row (drop-in file)

The plugin intentionally imports nothing beyond the Node builtin node:fs, so it also works as a relative row file inside an agent preset composition — no package install needed. Copy lib/index.js into your preset directory and add:

# agent.cordis.yml
- id: tool-gitbash
  name: ./index.js   # or ./gitbash.mjs — your copied file

Verification

node test/smoke.mjs

Runs the real plugin against the machine's actual Git Bash and prints SMOKE: ALL PASS; skips gracefully (exit 0) where no git-bash exists.

Configuration

Table row config for the bundle row (or your preset row):

KeyTypeDefaultMeaning
gitBashPathstring—Explicit path to bash.exe. Trusted as-is, no detection.
autoDetectbooleantrueSearch well-known install locations when no explicit path is set.
timeoutMsnumber120000Default per-call timeout; a single call can override with its timeoutMs argument.
maxOutputCharsnumber65536Tail-truncate captured stdout/stderr to this many characters per stream (the full capture still exists in the collector/spill).

Resolution order: config.gitBashPath → DSH_GITBASH_PATH env var → auto-detection (unless autoDetect: false). Self-healing: when no path resolves at mount time, every call re-runs the resolution — installing Git for Windows or mounting a drive takes effect without a DSH restart.

Auto-detection candidates:

  • Windows host: %ProgramFiles%\Git\bin\bash.exe, %ProgramFiles(x86)%\Git\bin\bash.exe, then bash via PATH.
  • WSL / POSIX: /mnt/<c..z>/Program Files/Git/bin/bash.exe and the (x86) variant (checks every mounted drive letter).

Example — explicit path as row config:

- id: tool-gitbash
  name: 'dsh-plugin-gitbash'
  config:
    gitBashPath: '/mnt/e/Program Files/Git/bin/bash.exe'

No time to edit config? Set the environment variable:

export DSH_GITBASH_PATH='/mnt/e/Program Files/Git/bin/bash.exe'

Troubleshooting

  • No Git for Windows bash.exe found / Git Bash not found at ... — install Git for Windows, make sure the drive is mounted, then set gitBashPath or DSH_GITBASH_PATH.
  • Command hangs / never returns — git-bash runs with stdin from /dev/null, so interactive prompts cannot block it by design; a genuinely long command just needs a larger timeoutMs. It is always killable.
  • workdir ignored — a WSL-only path (e.g. /home/...) cannot be a Windows process cwd; the call starts in the session working directory and the note explains it. Use /mnt/X/..., /X/... or X:\... forms to control it.
  • WSL path errors inside the command — inside command you are in Windows git-bash: use /d/..., D:/..., never /mnt/d/....
  • State lost between calls — by design every call is a fresh process; chain commands in one call (cd /d/tools && git status) when you need state.

Layout

lib/index.js        the Cordis plugin (zero runtime dependencies)
cordis.patch.yml    dsh.bundle patch — inserts the tool row
dsh.plugin.json     DSH plugin manifest (tool discovery metadata)
README.md / README.zh.md  bilingual docs
test/smoke.mjs      standalone smoke test (Linux + Windows CI)
.github/workflows   CI: Linux syntax/branch tests + Windows real git-bash run

License

MIT — see LICENSE.

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Opsdsh-ops适用于 Windows x64、Linux x64 和 macOS arm64/x64 的原生文件和 PTC 工具;仅限 Windows 的可选 Bash 负载和主机 PowerShell 集成Update@linxin666/dsh-update用于 dsh Web GUI 的自更新插件:探测 npm 上是否有更新的系列版本,并在原地运行所属配置的 pnpm 更新;可通过设置图标旁侧边栏中的触发器启动,并显示发布说明面板