@zimzaza4/dsh-bash-win
Windows-first bash tools for DeepSeek Harness: git_bash (Git Bash) and wsl_bash (WSL2) model tools with bwrap sandbox, approval mode, terminal-style UI cards, and background-job support
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zimzaza4/dsh-bash-win说明文档
阅读完整 README ↗dsh-bash-win
在 Windows 上为 DeepSeek Harness(DSH)提供 Git Bash 与 WSL2 两个 bash 工具的 Cordis 插件。
这个项目解决什么
- DSH 在 Windows 上禁用了官方 bash 工具(只有 pwsh)
本插件通过 ctx.subprocess 直接 spawn bash.exe / wsl.exe,绕开受限令牌层,
把 Git Bash 或者 WSL2 带进 DSH,并自建有效沙箱(WSL 内 bwrap)与审批请求。
安全模型
| 维度 | 机制 | 说明 |
|---|---|---|
| 默认执行 | 无沙箱,全权限 | git_bash / wsl_bash 默认直接跑,可读写任意路径(绕开沙箱的代价) |
| 沙箱 | WSL 内 bwrap(sandbox: true) | 系统目录只读、workspace 可写、/mnt/c 其余只读;越界写入被拒并报 [sandbox: file access denied under workspace-write mode] |
| 审批 | ctx.approval | require_approval: true 执行前弹窗;升权请求(sandbox_permissions + justification)弹窗;ask 策略弹窗、never 自动拒绝 |
关键概念:
- 操作路径本身不触发审批——沙箱对越界的处理是"拒绝"(报错,不弹窗);
- 审批只出现在两处:显式批准模式(
require_approval)和越界后的升权请求; - 升权阶梯:
workspace-write(bwrap 受限)→danger-full-access(去掉 bwrap), 走官方approveEscalation流程,必须严格加宽且经用户批准。
工具
| 工具 | 后端 | UI 标题 | 能力 |
|---|---|---|---|
git_bash | 本地 Git Bash(MSYS2) | Git Bash | 批准模式(require_approval)、官方沙箱接入(sandbox,Windows 受限模式报 Cygwin 限制)、后台任务 |
wsl_bash | WSL2(Linux) | WSL Bash | bwrap 真沙箱(sandbox: true)、升权审批(sandbox_permissions + justification)、后台任务 |
共性能力:
- 前台执行:
timeoutMs超时终止整个进程树、调用取消 - 后台任务:
run_in_background: true返回 job id,配合job_output/job_kill(非零退出码如实上报,kill 分类为 )