前言¶
在 Windows 上使用 DeepSeek Harness(dsh)时,bash 工具可能出现启动失败,常见报错包括:
PTY shell exited during startup
terminal inspection unsupported
工具不可用会影响任务执行,也可能让思维链中出现较多 let me。Jyleaves/dsh-win-bash-fix 用于修复 Windows 上 dsh bash 工具的启动问题,并附带 minimal-win 与 anchored-win 两套思维链预设。下面介绍它的定位、功能、安装方式和注意事项。
这是什么¶
- 插件名:
Jyleaves/dsh-win-bash-fix - 维护者:
Jyleaves - 许可证:
MIT - 定位:让 dsh 在 Windows 上的 Git Bash 真正可用,并附带两套健康思维链预设(
minimal-win/anchored-win) - 平台:仅 Windows(win32);Linux/macOS 上插件自动 no-op
- 验证版本:DSH 版本在
0.1.0-rc.6(npm 最新)上开发并验证(2026-08-15)
核心功能¶
修复 Windows 上 dsh bash 工具启动失败¶
插件处理以下问题:
- Windows 上 dsh bash 工具启动失败:
PTY shell exited during startup / terminal inspection unsupported - 在 win32 挂载 no-op 终端检查器,绕过
createProcessInspector限制 - 注入 MSYS 环境变量以启动 Git Bash
- 绕过 restricted-token 文件沙箱与 MSYS2 的冲突
涉及的环境变量如下:
MSYSTEM
CHERE_INVOKING
MSYS2_PATH_TYPE
PATH
纯运行时补丁¶
插件以 cordis 插件方式工作:
- 不修改 dsh 安装文件
- dsh 升级后自动重新生效
- 非 win32 平台自动 no-op
- 支持通过
install.mjs选择 profile/home 安装
两套思维链预设¶
插件附带两套预设:
minimal-winanchored-win
两套预设都面向 we / let's 的集体思维风格。
anchored-win 有额外的首轮行为:
- 首轮仅暴露
bash和edit两个工具 - 首个工具调用后恢复全量 Standard 目录
安装与启用¶
方式一:官方命令安装¶
执行下面的命令:
dsh plugin --profile web add github:Jyleaves/dsh-win-bash-fix
这条命令将插件加入 web profile。
方式二:一键复制安装¶
克隆仓库后运行安装脚本:
git clone https://github.com/Jyleaves/dsh-win-bash-fix.git
cd dsh-win-bash-fix
node install.mjs
install.mjs 支持选择 profile/home 安装。
方式三:手动安装¶
1、复制 lib/index.js 与 preset-files/ 到:
~/.dsh/profiles/web/win-bash-fix/
2、在 cordis.patch.yml 追加 win-bash-fix 挂载块。
启用¶
安装完成后:
1、重启 dsh web
2、硬刷新浏览器
典型用法¶
经过上面的步骤后,可以按下面方式使用。
1、新建会话时选择 minimal-win 或 anchored-win 预设。
2、发送一个可验证 bash 工具的任务,例如:
先运行 pwd 和 ls 看看当前目录内容
3、根据任务类型选择 effort:
- 开放探索任务建议
effort=high - 具体任务可用
high或max
4、如果 Git 不是默认安装路径,在启动 dsh 前设置 GIT_ROOT 环境变量。默认路径为:
C:/Program Files/Git
非默认安装时,可以按实际路径设置,例如:
GIT_ROOT=D:/Tools/Git
dsh web
适用场景与注意¶
适合在 Windows 上使用 dsh、需要 bash 工具可用、并希望思维链保持 we / let's 风格的场景。
使用前注意以下几点:
- 插件仅适用于 Windows(win32);Linux/macOS 上自动 no-op
- 插件依赖 Git for Windows
- 插件在 dsh 运行时加载,会以 dsh 进程权限运行;安装前应检查源码与许可证
- Windows 上 shell 工具(
bash/pwsh)不再走 restricted-token 文件沙箱 fs工具(如str_replace_editor)的沙箱独立、不受影响- 运行不可信代码时,请先卸载本插件
- 插件仅修改
process.env与~/.dsh/.agent-presets/ - 插件不读取用户数据、不发起网络请求、不持有凭据
- 插件依赖 dsh 内部 API(prototype patch);若 dsh 重构相关服务内部形状,插件可能静默失效
persistent bash超时/PTY 偶发重置为 win32 已知问题;超时是正常护栏- 并发 PTY 未做压力测试
max+ 开放探索任务下,残留let me为行动句,约2/3全绿;high下100%全绿v4-flash思维链为中文,无英文代词,无let_me
卸载¶
如果通过官方命令方式安装,可以执行:
dsh plugin --profile web remove @jyleaves/dsh-win-bash-fix
如果通过复制或手动方式安装,需要:
1、删除:
~/.dsh/profiles/web/win-bash-fix/
2、从 cordis.patch.yml 移除 win-bash-fix 挂载块。
卸载后重启 dsh。