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
羽毛球分组比赛记分
小程序二维码

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

小夜