DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Unsandboxed Winbash — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-unsandboxed-winbash

Unsandboxed Winbash

Adds a Git Bash (MSYS2) tool to dsh on Windows. Git Bash cannot start under the harness file sandbox (its MSYS runtime needs a named pipe the restricted token refuses), so this tool spawns it outside the sandbox and says so in its own description. pwsh, the permission presets and the fs tools keep t

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-unsandboxed-winbash@0.1.3
READMECompatibilityVersions

Description

Adds a Git Bash (MSYS2) tool to dsh on Windows. Git Bash cannot start under the harness file sandbox (its MSYS runtime needs a named pipe the restricted token refuses), so this tool spawns it outside the sandbox and says so in its own description. pwsh, the permission presets and the fs tools keep their sandbox unchanged.

Compatibility and provenance

Unsandboxed Winbash is published as dsh-unsandboxed-winbash and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.1.3stable
9/20/2026
0.1.2stable
9/20/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
59.1 kB
Files
11
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/20/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Better Sidebardsh-better-sidebarDSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.Find Plugindsh-find-pluginFind DeepSeek Harness plugins inside the agent — live GitHub dsh-plugin topic search, ranked by stars.DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.Plugindsh-pluginA community plugin marketplace for DeepSeek Harness, built to the official plugin spec — browse, search and install 9000+ human-curated community plugins without leaving the app. · DeepSeek Harness 社区插件市场(遵循官方开发规范):9000+ 人工精选社区插件,每日更新。

README

dsh-unsandboxed-winbash

中文 | English

Windows 上的 Git Bash(MSYS2)工具插件。它向会话新增一个 winbash 工具,直接以 Git for Windows 的 bash 执行命令并修好 MSYS 的 PATH;命令在文件沙箱之外执行,工具描述也写明了这一点。

为什么需要它

Windows 上 dsh 不提供任何 bash 工具:@deepseek-ai/dsh-base 在 win32 上同时禁用了 dsh-bash-sandbox 与 dsh-tool-bash。手工打开也无效,因为 Windows 沙箱装不下 MSYS2——受限 token 拒绝创建 MSYS 信号处理所需的命名管道。以下为 Windows 11 + dsh 0.1.5-rc.1 的沙箱内实测:

尝试结果
bash -c(PATH 解析到 C:\Windows\System32\bash.exe)Bash/Service/CreateInstance/E_ACCESSDENIED
wsl.exe -e bash -cWsl/Service/CreateInstance/E_ACCESSDENIED
C:\Program Files\Git\usr\bin\bash.exe -cfatal error - couldn't create signal pipe, Win32 error 5

功能

  • 新增 winbash 工具:以 bash -c 执行命令,返回 stdout、stderr 与退出码;非零退出按结果上报,不作为工具错误。
  • Git Bash 自动发现:usr\bin\bash.exe(真实 MSYS2)优先于 bin\bash.exe 包装器,按 Git for Windows 的常见安装位置查找;bashPath 可显式指定。
  • PATH 修复:把 Git 的 usr\bin、mingw64\bin、cmd 前置。Windows 的 PATH 通常只有 Git\cmd,不前置时 ls、grep、sed、awk、find、sleep、wc 全部 command not found。
  • 有界输出:保留 maxOutputBytes 窗口,超出部分写入 spill 文件并在结果里给出路径;多字节边界不会被截断成乱码。
  • 环境擦除:复用 @deepseek-ai/dsh-subprocess 的 scrubbedParentEnv,只转发 dshEnv 与 Git 需要的变量。
  • 超时与中断:deadline 到期或调用被中止时按整树终止(taskkill /T /F)。Windows 上子进程被杀后 stdio 管道不保证关闭,因此在 exit 上结算,并用 drainMs 有界排空。
  • 后台任务:run_in_background 走宿主的 ctx.jobs 注册表,可增量读取输出。
  • 命令内部一律显式调用 Git Bash,不用裸 bash:Windows 上它解析到 WSL shim,是另一个 shell。

安装

# 从 npm 安装并注册到 web profile(推荐)
dsh plugin --profile web add dsh-unsandboxed-winbash

# 仅下载 npm package
npm install dsh-unsandboxed-winbash

# 或从 GitHub 安装
dsh plugin --profile web add github:xswt442-cmd/dsh-unsandboxed-winbash

包内声明了 dsh.bundle,bundle 补丁自行挂载工具行,无需手工改 cordis.patch.yml。安装后重启 DSH Web 生效。

配置

- insert:
    - id: tool-winbash
      name: dsh-unsandboxed-winbash/tool
      config:
        bashPath: ''          # 显式指定 Git Bash 路径(默认自动发现)
        gitPathPrefix: true   # 把 Git 的 usr\bin / mingw64\bin / cmd 前置到 PATH
        extraPath: ''         # 额外 PATH 前缀,';' 分隔(排在最前)
        drainMs: 250          # 子进程退出后等待输出排空的上限
        timeoutMs: 120000     # 命令默认超时
        maxTimeoutMs: 600000
        maxOutputBytes: 64000
        maxSpillBytes: 67108864
        enableRunInBackground: true

Git Bash 自动发现顺序:%ProgramFiles%\Git\usr\bin\bash.exe → %ProgramFiles%\Git\bin\bash.exe → %LOCALAPPDATA%\Programs\Git\usr\bin\bash.exe → %ProgramFiles(x86)%\Git\...。找不到且未配置 bashPath 时,只在调用 winbash 时报错,挂载本身不失败。

安全与边界

  • 命令在文件沙箱之外执行:MSYS 无法在 ACL 受限 token 下启动,这是本插件存在的前提。工具描述里写明,且不提供 sandbox_permissions 升级面——没有可升级的起点。
  • 不替换任何服务,只新增一个工具:pwsh、权限预设、/permission 命令与 fs 工具仍受各自的沙箱与审批策略约束。
  • 需要受限、可审计的文件改动请用 fs 工具。
  • 命令内的凭证类环境变量(*KEY*、*TOKEN*、*SECRET*、*PASSWORD*)不传给子进程;dshEnv 与 Git 需要的变量除外。
  • 超时或被中止时按整树终止;后台任务在宿主退出时同步清理进程树。

平台与兼容性

项目要求
平台Windows(win32)
DSH>=0.1.5-rc.1
Node.js>=20
依赖Git for Windows(提供 Git Bash)

其他平台不需要本插件:dsh-tool-bash 与 dsh-bash-sandbox 在非 win32 上默认启用。

开发与验证

test/exec.test.mjs 会启动真实 Git Bash 并写 spill 文件,必须在非沙箱 shell 中运行。修改后运行:

npm test          # 纯单元,沙箱内亦可
npm run test:e2e  # 需要非沙箱 shell
npm run docs:check
npm pack --dry-run

License

MIT