Jyleaves/dsh-win-bash-fix:修復 dsh 在 Windows Git Bash 的啓動失敗,並附兩套思維鏈預設

前言

在 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-win
  • anchored-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。

鏈接

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

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

小夜