bash-on-windows
Manifest validOn Windows, the available bash tool is limited to Git Bash and PowerShell is disabled.
bash-on-windows
DeepSeek Harness 插件(bundle + agent preset):让 Windows 上可用的 bash 工具限制为 Git Bash,并禁用 PowerShell。
组件
| 组件 | 说明 |
|---|---|
| cordis.patch.yml | bundle patch(dsh.bundle.patch):宿主平面翻转——tool-bash 启用、tool-pwsh 禁用;执行器 bash-sandbox 启用、pwsh-sandbox 禁用;win32 沙箱默认 danger-full-access + 审批 never(带 DSH_PERMISSION_MODE 逃生口,非 Windows 不动);挂载 plugins/escalation-inert.mjs |
| plugins/escalation-inert.mjs | 独立插件:full-access 部署下对模型隐藏 shell/fs 工具的 sandbox_permissions/justification 升级字段,并把同模式升级回声运行时置为无操作——不修改任何官方包(等价于过去直接改 npx-cache 里 harness 核心的做法,现在以可安装插件交付) |
| presets/standard-bash code-bash cordis-bash | bash-only 派生预设(官方预设 + 两行翻转),因为 bundle patch 无法修改 dsh 内置预设文件 |
| scripts/install.ps1 | 把三个预设以 junction 形式安装到 $DSH_HOME\.agent-presets\(支持 -Uninstall) |
| scripts/build-presets.mjs | 从 pristine @deepseek-ai/dsh 源重新生成派生预设(上游升级时用) |
| scripts/check-rows.mjs | 契约测试:预设与 patch 的 bash-only 不变量 + escalation-inert 的 strip/sanitize/族门逻辑 |
工作机制(三层)
- 宿主平面(bundle patch):
exec_command/bash工具的执行器是bash-sandbox(内部spawn 'bash',Windows 上即 PATH 里的 git bash);pwsh-sandbox被禁用,PowerShell 在运行时不存在。 - 会话平面(派生预设):web 界面(
dsh-web-app)把宿主平面的tool-bash/tool-pwsh同时禁用、让每个会话由 preset 挂载工具。所以模型侧"只看到 bash"必须由预设文件完成——这正是官方预设文件被本地改过的原因;本插件把它变成可分发、不依赖改官方文件的派生预设。 - 升级词惰性化(escalation-inert):
danger-full-access部署从不拒命令,sandbox_permissions/justification是模型习惯性回声的噪音字段,且同模式回声曾导致每次调用硬失败("not strictly wider")。该插件在system-prompt/assemble里把这两个字段从模型可见目录剥离(参数是逐次 structuredClone,注册表 schema 不受影响),并在tools/execute里把同模式回声参数替换为净化副本——官方审批路径永远看不到无操作请求,而真实加宽请求(请求模式 ≠ 当前模式)原样走审批。等价于以前的 harness 核心补丁,但不改任何官方包、升级 dsh 不会丢。
安装
# 1) 宿主平面(bundle patch)
dsh plugin --profile web add github:bainianlaoyao/bash-on-windows # GitHub 分发
dsh plugin --profile web add dsh-bash-on-windows # npm 分发(已发布;预构建安装免 allowBuilds)
# 或手动把 cordis.patch.yml 里的 6 行补进 profile 的 cordis.patch.yml
# 2) 会话平面(三个 bash-only 预设,junction 安装,不复制代码)
powershell -ExecutionPolicy Bypass -File scripts/install.ps1
# 3) 重启 dsh,新建会话,选择 standard-bash / code-bash / cordis-bash 预设
前置条件:已安装 Git for Windows(bash 在 PATH 中)。
npm 包名:dsh-bash-on-windows(仓库名 bash-on-windows;dsh.profile.bundles 里加入 "dsh-bash-on-windows" 后 pnpm install 亦可)。
卸载
powershell -ExecutionPolicy Bypass -File scripts/install.ps1 -Uninstall
# bundle 行从 profile 补丁层手动删除
测试
node scripts/check-rows.mjs # 契约:三个预设 + patch 的 bash-only 不变量
升级 dsh 后
node scripts/build-presets.mjs --src <pristine agent-presets 目录> 重新生成派生预设并提交;宿主平面补丁行无需改动(目标行 id 由官方包提供)。
安全
见 SECURITY.md——重要:win32 默认沙箱为 danger-full-access 且审批为 never,这是 git bash cygwin 运行时的硬性要求。
相关插件
同一作者的其它 dsh 插件,均已收录于 dsh 插件市场:
dsh-codex-mode—— 面向 GPT 系模型的 Codex 形状编码预设:exec_command/write_stdin/apply_patch/view_image、OpenAI Chat Completions 与 Responses 两条路由,外加图形化子代理类型。其预设同样只挂tool-bash。dsh-llm-api-pool—— 聚合多个 OpenAI 兼容 API key,按余额热切换。dsh-session-robustness—— 让长会话保持可恢复。dsh-easy-archive—— 工作区侧边栏行内两步归档会话。
许可
MIT。派生预设来自 DeepSeek Harness agent presets(MIT,Copyright (c) 2026 DeepSeek),各预设目录内附 LICENSE.deepseek-harness。
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
Similar plugins
by buhuikongpan
Git Bash tool plugin for Windows (replaces pwsh and WSL-only bash)
★ 8
MIT
JavaScript
Aug 21, 2026
dsh plugin --profile web add dsh-tool-gitbashby VviLliAm-qwq
Make a Git for Windows installation resolvable as bash inside the dsh host process, so the official bash shell stack can run on Windows
★ 0
MIT
JavaScript
Sep 13, 2026
dsh plugin --profile web add dsh-git-bashby yunuo110
DeepSeek Harness (DSH) bundle plugin: makes the existing bash tool run Git Bash on Windows and disables pwsh.
★ 8
MIT
JavaScript
Sep 4, 2026
dsh plugin --profile web add dsh-gitbashby Dinosaur-MC
Multi-bash plugin for dsh. Add Git Bash / WSL Bash support for Windows.
★ 0
MIT
JavaScript
Aug 30, 2026
dsh plugin --profile web add dsh-win-multi-bashby zimzaza4
在 Windows 环境中为 DeepSeek Harness 提供 Git Bash 与 WSL 2 bash 工具,含 bwrap 沙箱、审批模式、后台任务
★ 10
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add @zimzaza4/dsh-bash-winby KannaKuron
DSH plugin: Git Bash shell for all agent modes on Windows (replaces pwsh executor)
★ 8
↓ 691/wk
MIT
JavaScript
Sep 13, 2026
dsh plugin --profile web add dsh-gitbash-shell