Skip to content

inmny/dsh-git-bash

30Last commit Aug 14, 2026

dsh-git-bash DSH plugin

This plugin configures DeepSeek Harness (DSH) to use Git for Windows Bash instead of PowerShell on Windows. It maintains DSH's permission model through a native guard for restricted modes, and allows full access in danger mode. The plugin can be configured via GUI, environment variable, or profile patch.

How to install the dsh-git-bash DSH plugin

dsh plugin --profile web add dsh-plugin-git-bash@0.3.0

Copying does not run this command. Review the repository and version before installing the dsh-git-bash DSH plugin.

dsh-git-bash DSH plugin data source

dsh-git-bash DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-git-bash DSH plugin can do

  • Replaces PowerShell with Git Bash in standard, code, cordis, and minimal presets.
  • Preserves DSH read-only, workspace-write, and danger-full-access permission semantics.
  • Auto-detects Git Bash locations (Program Files, user install, Scoop) and allows manual path configuration.
  • Supports configuration via Web GUI, environment variable DSH_GIT_BASH_PATH, or profile YAML.
  • Uses a native guard (msys-token-guard) for restricted modes to enforce sandbox restrictions.
  • Web interface shows expanded Bash tool details including command, cwd, stdout/stderr, and exit status.

Where the dsh-git-bash DSH plugin fits

  • Run Bash scripts and commands in DSH on Windows without leaving the standard environment.
  • Leverage Git Bash utilities (e.g., grep, sed, awk) within DSH tasks while respecting permission controls.
  • Develop and test cross-platform scripts in a Windows DSH setup using Bash instead of PowerShell.
  • Use Git Bash with DSH's danger-full-access mode for unrestricted automation tasks.

Who the dsh-git-bash DSH plugin is for

  • Windows users of DeepSeek Harness who prefer or require Bash shell.
  • Developers needing strict permission isolation (read-only/workspace-write) while using Bash.
  • Teams that standardize on Git for Windows Bash for their DSH workflows.

dsh-git-bash DSH plugin limitations

  • Only supports Windows x64 (native guard only for win32-x64; other architectures return SANDBOX_UNAVAILABLE).
  • Requires Node.js 24 or higher and DSH 0.1.0-rc.6 or later.
  • Git for Windows x64 must be installed; plugin does not bundle Git.
  • Plugin installation path must be representable in the current system code page and not exceed MAX_PATH (native guard fails closed otherwise).
  • Danger-full-access mode runs Git Bash without the native guard, bypassing sandbox restrictions.

dsh-git-bash DSH plugin: from the repository README

Quoted from the inmny/dsh-git-bash README, the upstream source of the dsh-git-bash DSH plugin. Copyright remains with the original authors.

让 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 在 Windows 上默认使用 Git for Windows Bash,并保留 DSH 的 `read-only`、`workspace-write` 和 `danger-full-access` 权限语义。 ![Git Bash 在 DeepSeek Harness 中运行](assets/teaser.png) ## 使用方法 插件安装到 profile 后,`standard`、`code`、`cordis` 和 `minimal` preset 会使用 Git Bash 代替 PowerShell。前台命令、后台命令和 Web Agent preset 共用同一个 executor。 新建会话后可以运行以下命令确认 shell: ```sh printf 'shell=%s\nversion=%s\nmsystem=%s\n' "$BASH" "$BASH_VERSION" "$MSYSTEM" ``` `MSYSTEM` 应为 `MINGW64` 或 `MINGW32`。 Web 界面中的 Bash 工具行可以展开查看 command、cwd、stdout/stderr 和 exit status。`run_code` 内的 nested Bash 调用使用同一套 terminal 详情;过长的 command 会自动换行,output 则保留终端横向滚动,以维持日志和表格的列对齐。 插件只作为 bundle layer 安装到目标 profile,不修改 DSH 安装目录。 ## 安装或更新 从 npm 安装固定版本到 Web profile: ```sh dsh plugin --profile web add dsh-plugin-git-bash@0.3.0 ``` 更新现有安装时使用同一条命令。安装完成后重启 `dsh web`,让 Host 和浏览器 client 同时加载新版本,然后新建会话。 安装最新版时可以省略版本号: ```sh dsh plugin --profile web add dsh-plugin-git-bash ``` 开发本地版本时传入 checkout 路径: ```powershell dsh plugin --profile web add C:\path\to\dsh-git-bash ``` ## 权限模式 ### `read-only` 和 `workspace-write` 受限命令仍由 DSH Windows ACL sandbox 创建 `WRITE_RESTRICTED` token。插件在 sandbox 内先运行

Read the full READMERepository license: MIT

dsh-git-bash DSH plugin questions

How do I install dsh-plugin-git-bash for DeepSeek Harness?

Run `dsh plugin --profile web add dsh-plugin-git-bash@0.3.0` on the command line. This installs the plugin to the web profile. You can also install a specific version by omitting the version tag, or add a local checkout path for development. After installation, restart `dsh web` and create a new session.

How do I confirm that Git Bash is being used instead of PowerShell?

After starting a new session, run `printf 'shell=%s\nversion=%s\nmsystem=%s\n' "$BASH" "$BASH_VERSION" "$MSYSTEM"` in the terminal. You should see the shell set to Git Bash and MSYSTEM set to MINGW64 or MINGW32.

How can I change the Git Bash path if the auto-detection fails?

You can set the path in the Web GUI under Settings → Plugins → Plugin Configuration → Git Bash. Either directly enter the path to bash.exe or use the directory picker. Alternatively, set the environment variable `DSH_GIT_BASH_PATH` before starting `dsh web`, or configure it in the profile's `cordis.patch.yml` under the provider's `executable` field.

What are the permission modes and how do they affect Git Bash?

The plugin supports three modes: read-only (no workspace writes), workspace-write (only allowed writes to workspace and private temp), and danger-full-access (unrestricted). In read-only and workspace-write modes, the plugin uses a native guard (msys-token-guard) to enforce the sandbox. In danger-full-access mode, Git Bash runs directly without the guard.

Does this plugin work on Linux or macOS?

No, the plugin only supports Windows x64. The native guard is compiled for win32-x64 only. On other architectures, the plugin returns SANDBOX_UNAVAILABLE for restricted modes and does not fall back to unisolated execution. The plugin itself is designed to replace PowerShell on Windows, so it is not intended for other platforms.