dsh-win32:在原生 Windows 上修復與診斷 DeepSeek Harness

前言

DeepSeek Harness(DSH)在 Windows 上依賴官方 PowerShell 持久化終端、Workspace Write 策略和 Windows ACL 沙箱等組件協同工作。實際部署裏常見的問題是:PowerShell 7 或 koffi 運行時異常、預設與官方棧不一致、桌面快捷方式缺失,以及舊版 DSH 仍走 Git Bash / busybox 路徑。繞開 WSL 在原生 Windows 上排查這些故障,通常需要對照多個包契約逐項覈對。

下面介紹社區插件 dsh-win32(維護者 sjh9714,SkillHub 分類:工作流)。它用一條 PowerShell 命令檢查官方棧、診斷已知 Windows 故障、做可證明安全的修復,並可選創建桌面快捷方式;不安裝 Git、PowerShell、busybox、WSL 或另一套 DSH bundle。

這是什麼

dsh-win32 是面向原生 Windows 的 DSH 修復與診斷工具,當前 npm 版本 0.17.0,MIT 許可證,GitHub 倉庫 sjh9714/dsh-win32(17 stars,2 forks)。目錄頁:SkillHub · sjh9714/dsh-win32

當前 DSH 已內置持久化 PowerShell 與 Windows ACL 沙箱;dsh-win32 在此基礎上校驗官方組件契約,定位本地已知故障,應用可驗證的安全修復,並引導首次會話的後續步驟。

核心功能

setup:一鍵檢查與配置

setup 會:

  1. 檢查最新發布的 DSH Windows 包契約
  2. 檢查 PowerShell 7 與已知損壞的 koffi 運行時
  3. 爲 Web profile 創建 DeepSeek Harness 桌面快捷方式
  4. 保持官方 profile 與預設不變
  5. 輸出首次會話的明確後續步驟

完成後打開 DSH,添加 workspace,選擇官方 Minimal 預設,並保持 Workspace Write 啓用。

verify:對已安裝棧做現場驗收

verify 針對已安裝@deepseek-ai/dsh 依賴樹運行,不依賴 registry 元數據作爲證明,也不需要模型或 API key。它在隔離的臨時 home 與 workspace 中,通過官方 terminal、subprocess、Workspace Write 策略和 Windows ACL 沙箱組件調用持久化 pwsh 工具。

通過需滿足多項現場觀測,包括:64 位 PowerShell 7 正常啓動;兩次 pwsh 調用保持同一 PTY、工作目錄與環境;workspace 內讀寫內容一致;沙箱拒絕越界寫入且 shell 可恢復;取消與替換調用行爲正常;臨時資源全部清理。該命令不加載或修改用戶 DSH profile、配置、workspace 或 PowerShell profile。

需說明邊界:verify 驗證的是組件鏈驗收,不啓動完整的 stock Minimal host/preset,也不發起模型請求,因此不能等同於端到端 stock session 的證明。

doctor 與 fix:診斷與安全修復

  • doctor:校驗已發佈的 DSH Windows 包契約,檢查本地 Windows 故障;JSON 輸出遵循 dsh-doctor/v1 信封格式
  • fix:僅修復已知損壞或運行時加載失敗的已安裝 koffi 版本,修復後再次驗證加載

doctor 看發佈元數據;需要已安裝棧的現場證據時用 verify

legacy:舊版 DSH 預設

DSH rc.6 及更早版本未隨附當前官方 PowerShell 棧。通過 --legacy 仍可使用 Git Bash 與 busybox 預設:Git Bash 預設需要 danger-full-access;busybox 預設可在 Workspace Write 下運行。兩條路徑均不會自動安裝 Git。

安裝與啓用

插件在 SkillHub 歸類爲工作流,可通過 npm 直接運行 CLI(無需全局安裝)。Node 要求爲 ^22.19.0 || >=24.0.0Node 23 明確不支持。需在原生 Windows 與 DSH 支持的 Node 版本上執行。

先做環境檢查,再運行 setup:

npx dsh-win32 setup

該命令不會替你安裝 PowerShell 7;官方建議已安裝 PowerShell 7,但插件本身不負責安裝。

若使用 desktop profile 且不需要快捷方式:

npx dsh-win32 setup --profile desktop --no-shortcut

--sandboxed 仍被舊腳本接受;當前 DSH 已提供沙箱,該 flag 不再產生額外變更。

典型用法

現場驗收已安裝棧

npx dsh-win32 verify
npx dsh-win32 verify --json

診斷與修復 koffi

npx dsh-win32 doctor
npx dsh-win32 doctor --json
npx dsh-win32 fix

舊版 DSH 路徑

npx dsh-win32 setup --legacy
npx dsh-win32 setup --legacy --sandboxed
npx dsh-win32 doctor --legacy

經過上面的步驟,若 verify 通過,可認爲官方 PowerShell 持久化、Workspace Write 與 Windows ACL 沙箱在本地組件鏈上工作正常;若仍有問題,用 doctor --json 對照 dsh-doctor/v1 輸出繼續排查。

適用場景與注意

適合誰

  • 在原生 Windows 上使用 DSH,不想依賴 WSL
  • 需要覈對官方 PowerShell + Workspace Write + 沙箱棧是否按契約工作
  • 遇到 koffi 運行時加載失敗,或仍在維護 DSH rc.6 及更早的 legacy 預設

使用注意

  1. 插件以當前 DSH 進程權限運行;安裝或執行前請閱讀 GitHub 源碼 與 MIT 許可證,確認行爲符合預期
  2. verify 若因超時或輸出限制無法確認 worker 及其子進程是否仍被隔離,會失敗並保留隔離快照,而非在可能仍有進程時刪除文件
  3. legacy busybox 會話使用 ash 而非 Bash;編輯 legacy 編碼文件會寫入 UTF-8
  4. 在上游 Windows 路徑問題修復前,legacy 場景下應將 C:\tmp 視爲預期寫入圍欄之外
  5. SkillHub 是獨立的 DSH 插件社區目錄,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」理念,本工具是其中面向 Windows 的工作流輔助

結尾

dsh-win32 把 Windows 上 DSH 的常見故障收斂到 setupverifydoctorfix 四條命令:檢查官方棧、現場驗收組件鏈、診斷元數據與本地故障、安全修復 koffi。不裝 WSL,也不捆綁 Git 或 PowerShell。

  • 目錄頁:https://www.skillhub.cn/plugins/sjh9714/dsh-win32
  • GitHub:https://github.com/sjh9714/dsh-win32
羽毛球分组比赛记分
小程序二维码

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

小夜