The official Windows bundle for DeepSeek Harness (DSH) uses PowerShell (pwsh) as the default Shell executor (ctx.shell), and the tool-bash lines in each preset are disabled on Windows. This plugin replaces the executor with Git for Windows’ bash.exe on Windows and materializes the corresponding Git Bash preset versions for all modes.

Core Features

The plugin primarily implements the following capabilities:

  • Executor replacement: Disables pwsh-sandbox on Windows, enables the Git Bash executor, and runs all Agent modes through Git Bash.
  • Preset materialization: Automatically creates four Git Bash preset versions under the user preset root directory: standard-gitbash (Standard mode), minimal-gitbash (Minimal mode), code-gitbash (PTC mode), and cordis-gitbash (Creative mode).
  • Version compatibility: Supports dual-version adaptation for dsh 0.1.1 and 0.1.2+, as well as adaptation to the workflow engine line renamings in dsh 0.1.6.
  • Path handling: Supports the POSIX path dialect (MSYS paths), so paths visible to the model on Windows are presented in the /c/... form.
  • Ecosystem integration: Works with dsh-ptc-cordis-preset to automatically enable Git Bash for PTC Creative mode; works with dsh-better-sidebar to take over terminal Shell settings.

Installation

Install the plugin through the official Web graphical interface:

dsh plugin --profile web add dsh-gitbash-shell

After installation, restart the host for that profile for the changes to take effect. The plugin automatically detects the dsh.bundle declared by the package and appends it to dsh.profile.bundles.

Configuration and Usage

1. Select Preset Modes

The plugin materializes multiple presets. You can choose the modes to load by configuring the presets array in the gitbash-presets line:

- id: gitbash-presets
  config:
    presets: [standard-gitbash, minimal-gitbash]   # 默认物化全部 4 个

2. Set the Default Agent Mode

In the agent-presets configuration, set default to a Git Bash mode so that new sessions start with Git Bash directly:

- id: agent-presets
  config:
    default: code-gitbash   # 或 standard-gitbash / minimal-gitbash

3. Customize Executor Parameters

You can customize the Git Bash path and timeout:

- id: gitbash-executor
  config:
    bashPath: "D:/Tools/Git/bin/bash.exe"   # 默认为 C:/Program Files/Git/bin/bash.exe
    timeoutMs: 60000                         # 默认 60s

4. Path Dialect Setting

Enable posixPaths in the settings to use MSYS paths on Windows (enabled by default since v0.10.0). Once enabled, paths visible to the model are converted to the /c/Users/... format, and file tools automatically handle path conversion.

Environment Requirements and Notes

  • Platform limitation: Windows only; Git for Windows must be installed.
  • Dependency versions:
    • Requires Node.js >= 18.
    • Requires dsh >= 0.1.0.
    • To use the Git Bash version of PTC Creative mode, install dsh-ptc-cordis-preset v0.5.0+.
  • Permissions and behavior:
    • After installation, pwsh-sandbox is disabled.
    • The plugin runs with the permissions of the current dsh process. It is recommended to review the source code and license before installation.
    • When uninstalling the plugin, unmodified * -gitbash presets are automatically cleaned up.

Summary

dsh-gitbash-shell is an essential tool for unifying Agent Shell behavior on Windows. It addresses the cumbersome path handling in Git workflows with native PowerShell, and, through preset materialization and path dialect conversion, brings the DSH experience on Windows closer to a native Linux environment.