dsh-gitbash-preset: Making DeepSeek Harness Minimal Mode Usable with Git Bash on Windows

liceses/dsh-gitbash-preset

Development & OperationsVerified
Listed on 2026-08-20
Page last updated 2026-08-20

DSH plugin: one-click install of the Minimal (Git Bash) agent preset, making the bash tool work on Windows.

Provides Git Bash support for DeepSeek Harness's minimal mode, solving the bash unavailability issue on Windows.

install
dsh plugin --profile web add github:liceses/dsh-gitbash-preset
Category
Development & Operations
Platform
DSH-Plugin
Author
liceses
Distribution
Plugin

dsh-gitbash-preset Key Features

One-click preset installAuto-detect bash pathSandbox-aware gatingKeep minimal mode unchanged

dsh-gitbash-preset Repository

liceses
Publisher
liceses
Repository
liceses/dsh-gitbash-preset
134
Stars
0
Forks
0
Watchers
0
Open issues
LanguageJavaScript
LicenseMIT License
Website
Repo last push2026-08-17 01:54:06
Repo created2026-08-15 09:02:32
Topics
dshdsh-plugindsh-plugins
Default branchmain

dsh-gitbash-preset Repo Summary

dsh-gitbash-preset is a DeepSeek Harness (DSH) plugin that fixes the issue where DSH's built-in minimal mode cannot use bash on Windows. It installs a "Minimal (Git Bash)" agent preset that maps bash calls to Git for Windows' bash (MSYS), making minimal mode truly usable on Windows. The plugin addresses two core problems: PTY platform limitations (unsupported on win32) and missing shell (Windows has no bash by default). It provides idempotent installation, automatic bash detection, sandbox-aware gating, and keeps the original minimal mode's persona and str_replace_editor tools unchanged.

What core features does the dsh-gitbash-preset DSH plugin support?

The plugin offers several practical features: idempotent installation (skips if preset exists unless force: true); automatic bash detection (checks GIT_BASH env var, common install directories, bash.exe in PATH, then falls back to bash); sandbox-aware gating (executes only under full-access policy, with upgrade guidance when restricted); and unchanged minimal mode (fixed persona, str_replace_editor, no context compression). Additionally, bash runs a new shell for each invocation, not preserving cd/export state, as a substitute design when PTY is unavailable on Windows.

How to install dsh-gitbash-preset?

Run the following command, then restart DSH to take effect:

bash
dsh plugin --profile web add github:liceses/dsh-gitbash-preset

Alternatively, manually merge cordis.patch.yml into the profile patch layer, or without installing the plugin, copy the agent-presets/minimal-gitbash/ directory to ~/.dsh/.agent-presets/.

How to use dsh-gitbash-preset?

In the web UI, create a new session and select "Minimal (Git Bash)". To enable bash, either switch the session sandbox to full access (all bash calls then go directly to git bash), or keep workspace-write and let the model, after the first call fails, upgrade once using sandbox_permissions: "danger-full-access" with justification (following the normal approval flow).

What configuration options does dsh-gitbash-preset have?

Preset configuration (gitbash-executor in agent.cordis.yml) includes: shellPath (default auto-detected, can be explicitly set), timeoutMs (default 120000), maxTimeoutMs (default 600000), maxOutputBytes (default 64000), graceMs (default 3000). Plugin configuration (in cordis.patch.yml) has a force field (default false, whether to overwrite existing presets).

What are the development and limitations of dsh-gitbash-preset?

For development, run npm run check for syntax checks and npm run test for 10 unit tests (path conversion, detection priority, config validation). Limitations include: git bash cannot start when the session sandbox is workspace-write or narrower (MSYS restricted token limitation), requiring full access or one-time upgrade; bash runs a new shell each time, not preserving state. This plugin is maintained by liceses, licensed under MIT, and last updated in 2026-08.

View more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ