dsh-purge:DeepSeek Harness 桌面版的本地兼容层

前言

DeepSeek Harness(DSH)桌面版在官方更新后,有时会出现运行时缺件、补丁与宿主版本错位、应用内更新装不完等问题。社区里有人 fork 上游补丁包自行维护,但版本锚点、Windows 换包流程和状态是否可查,往往要靠自己摸。

dsh-purge 是维护者 555bbbAAA 基于上游 YuJunZhiXue/dsh-purge 1.1.71 继续维护的社区兼容包,归类为 DSH 客户端插件。它只负责 Harness 的版本对齐与本机 Windows 运行兼容,并在 GitHub 上开源(MIT,当前包版本 1.3.6,dshTarget 为 >=0.2.1-rc.3 <0.3.0)。目录页见 SkillHub,源码见 555bbbAAA/dsh-purge。

下面介绍它做什么、怎么装、装完怎么验。

这是什么

一句话:dsh-purge 是跑在你本机上的本地开发工具,通过补丁与可选的 app.asar 换包,修改已安装的 DeepSeek Harness 桌面版内部文件,并管理换包、重启与运行时自愈。

维护者 555bbbAAA 在 README 中说明:本包基于上游 1.1.71 维护,面向 DSH 0.2.1-rc.3 及同系列 rc 宿主;对 0.2.1-rc.2 向下兼容,对 0.2.1-rc.5 等版本有核查记录(补丁目标文件与 rc.3 锚点一致的情况见仓库兼容性表)。

DSH 生态的理念是「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的插件来自社区维护者,不是官方应用商店条目。

核心功能

以下能力均来自仓库 README 与 package.json 描述,安装前可在 GitHub 自行核对。

宿主版本兼容

宿主版本 状态(仓库说明)
0.2.1-rc.2 上游支持范围,本包向下兼容
0.2.1-rc.3 完整支持:77 条补丁,71 条落地、6 条 na
0.2.1-rc.4 与 rc.3 同源,锚点未变
0.2.1-rc.5 已核查:49 个补丁目标文件上游未改,桌面外壳五条注入与 rc.3 逐字节一致

6 条 na 均为 optional: true 且目标在上游不存在,属正常。

运行时与更新

  • 运行时自愈:preflight 插件 + 120 秒 settle + Startup 守卫三层。
  • 更新三态:active / dormant(官方安装窗口内不写盘、不换包、不杀进程)/ needs-reapply。
  • 补丁换包与状态可查:CLI 与客户端侧可查看补丁落地情况。
  • 清洗:清洗上游身份段与拒答面(README 用语)。
  • 退出与更新:修复宿主收到 shutdown 后不退出(#89),使应用内更新能装完并重启。

内置演练台

README 写明:内置演练台含 5 个执行角色、23 个技能文档,入口在右侧栏(package.json 中另有 ./redteam 等导出路径,面向红队评测类场景)。

本机操作范围(INSTALL.md)

安装说明中归纳的本机动作包括:对安装目录下 @deepseek-ai/** 内文件做文本替换(带 .dshpurge.bak 备份)、必要时换包 app.asar、换包前结束 DeepSeek Harness.exe、通过 schtasks 一次性 PowerShell 完成换包等。文档同时声明:运行期不联网、不收集数据、不开端口;修改的是用户自己安装的应用,判定是否可信取决于使用者是否为本机主人并已理解上述行为(静态特征可能与杀软告警重合,INSTALL.md 有专门说明)。

安装与启用

安装前请完全退出 DeepSeek Harness(含托盘)。插件以当前 dsh 进程权限运行,会改本机已安装应用文件;动手前应阅读 INSTALL.md、LICENSE 与仓库源码,确认可接受风险。

官方文档给出的步骤是解压到用户目录并向 desktop profile 注册,而不是凭仓库名拼接未在文档出现的命令。下面命令摘自 INSTALL.md(<zip 路径> 需替换为你下载的发布包路径;示例目录名 dsh-purge-1.3.6 与当前 README 版本一致):

# 0) 先完全退出 DeepSeek Harness(托盘图标也要退出)

# 1) 备份现有插件(若已安装)
$dst = "$env:USERPROFILE\.dsh\plugins\dsh-purge"
if (Test-Path $dst) {
  Move-Item $dst "$dst.bak-$(Get-Date -Format yyyyMMdd-HHmmss)" -Force
}

# 2) 解压
Expand-Archive "<zip 路径>" -DestinationPath "C:\dp" -Force
Move-Item "C:\dp\dsh-purge-1.3.6" $dst -Force

# 3) 向 profile 注册依赖(缺这一步插件不会被加载)
dsh plugin --profile desktop add "file:$dst"

# 4) 打开应用

若第 3 步提示 dsh 不是命令,INSTALL.md 建议:

node "<插件目录>\bin\dsh-purge.js" --fix-shim

会生成 <DSH_HOME>\bin\dsh.cmd,按提示加入 PATH 后重试注册。

dshTarget 含义:>=0.2.1-rc.3 <0.3.0 表示兼容 0.2.1-rc.3 及之后 rc,不含 0.3.0 及以上。可用 dsh --version 或安装目录 package.json 核对宿主版本。

验收记录见仓库 VERIFY.md,版本变更见 release-notes.md。

典型用法

装完后用状态命令确认补丁与插件根路径,INSTALL.md 给出的期望输出包含「补丁 71/77 已清洗,0 待清洗」以及真实的 插件根 / root:

dsh-purge --status

若 profile 已声明但解析不到插件,重跑 dsh plugin --profile desktop add "file:$dst"。

若提示「app.asar 尚未换包」,可在应用面板点「应用」,或完全退出后执行:

dsh-purge --swap-asar

卸载时先还原补丁再从 profile 移除(用户自己的 prompt-inject.md 保留):

dsh-purge --uninstall

客户端侧:package.json 中 dsh.client 配置了 web 平台注入与 cordis.patch.yml 补丁 bundle,并在 desktop profile 下 immediately: true 加载;设置页部分「继续/重试」配置区不显示时,README 说明可改 cordis.patch.yml 后重启生效。

适用场景与注意

适合谁:在 Windows 上使用 DeepSeek Harness 桌面版、宿主落在 0.2.1-rc.3~0.3.0 之前 rc 段,且需要在官方更新后维持补丁落地、换包与自愈能力的开发者或本机维护者。

务必注意:

  • 插件修改本机 Harness 安装目录与进程,行为见 INSTALL.md;安装前检查源码与 MIT 许可证,勿在未理解范围时交给不可信第三方代装。
  • Startup 守卫只覆盖登录窗口;非管理员账号可能无法创建计划任务。
  • GET /dsh-purge/update 走 30 秒短缓存,连续点「检查更新」可能仍是上次结果。
  • README 免责:本地开发工具,不对外提供服务。

结尾

dsh-purge 把上游 1.1.71 的补丁思路延续到当前 DSH rc 宿主,用分层自愈、三态更新和可查询的换包状态,减轻桌面版更新后的本地兼容成本;同时提供 CLI 验收与可选红队演练台入口。

进一步信息:

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

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

小夜