Releases: Dinosaur-MC/dsh-win-multi-bash
Releases · Dinosaur-MC/dsh-win-multi-bash
Release list
v0.1.0
dsh-win-multi-bash v0.1.0
Windows multi-bash plugin for DeepSeek Harness: git_bash / wsl_bash model tools plus a shell-select executor routing the single ctx.shell seat across Git Bash, WSL and pwsh. Pwsh stays the default — existing behavior is unchanged until a bash-family tool is called.
Features
git_bashtool — Git for Windows (MSYS) toolchain, auto-resolved (well-known locations → PATH → git.exe layout inference → GitForWindows registry), never the WSL launcher.wsl_bashtool — WSL distro Linux userland; commands ride as base64 payloads so quoting and paths pass verbatim.shell-selectexecutor — routesrequest.shell ?? defaultacross git-bash / wsl-bash / pwsh; pwsh stays the default.- Sandboxing — pwsh: windows-acl restricted token (partial); wsl-bash: bwrap inside the distro (full); git-bash: windows-acl probe (typically unavailable with Git for Windows —
CreateProcessAsUserWcannot launch MSYS bash). requireSandboxhardening (new) — when a backend's probe fails, refuse unconfined runs unless the effective mode isdanger-full-access; escalation viasandbox_permissionsstays available.- bwrap denial classification (new) — denied file effects now report
denied: truewith the[sandbox: file access denied]marker (foreground and background paths). - MSYS path-conversion guidance — tool descriptions and README document
MSYS_NO_PATHCONV=1for native exe calls (e.g.wsl.exe) from git_bash.
Install
# hot plug (no restart; recommended)
powershell -ExecutionPolicy Bypass -File .\install.ps1
# bundle install (restart dsh web)
dsh plugin --profile web add dsh-win-multi-bash
# or from source: dsh plugin --profile web add github:@Dinosaur-MC/dsh-win-multi-bashSandbox notes (read before use)
wsl_bashsandboxing requiresbubblewrapinside the distro (sudo apt-get install -y bubblewrapon Ubuntu/Debian); the probe verdict is cached for the host process lifetime — restartdsh webafter installing.git_bashusually cannot be sandboxed in Git for Windows deployments — do not assume DSH sandbox protection for it; enablerequireSandboxto refuse unconfined runs outsidedanger-full-access.- Denials are only classified when the command exits non-zero (matching upstream bash-sandbox rules).
Verification
smoke/run.ps1 boots a real composition and verifies git_bash / wsl_bash register and execute real commands (default and pinned bashPath variants).