Jyleaves/dsh-win-bash-fix:修复 dsh 在 Windows Git Bash 的启动失败,并附两套思维链预设

前言

在 Windows 上使用 DeepSeek Harness(dsh)时,bash 工具可能出现启动失败,常见报错包括:

PTY shell exited during startup
terminal inspection unsupported

工具不可用会影响任务执行,也可能让思维链中出现较多 let meJyleaves/dsh-win-bash-fix 用于修复 Windows 上 dsh bash 工具的启动问题,并附带 minimal-winanchored-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-win
  • anchored-win

两套预设都面向 we / let's 的集体思维风格。

anchored-win 有额外的首轮行为:

  • 首轮仅暴露 bashedit 两个工具
  • 首个工具调用后恢复全量 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.jspreset-files/ 到:

~/.dsh/profiles/web/win-bash-fix/

2、在 cordis.patch.yml 追加 win-bash-fix 挂载块。

启用

安装完成后:

1、重启 dsh web
2、硬刷新浏览器

典型用法

经过上面的步骤后,可以按下面方式使用。

1、新建会话时选择 minimal-winanchored-win 预设。

2、发送一个可验证 bash 工具的任务,例如:

先运行 pwd 和 ls 看看当前目录内容

3、根据任务类型选择 effort:

  • 开放探索任务建议 effort=high
  • 具体任务可用 highmax

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 全绿;high100% 全绿
  • 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。

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye