前言¶
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 验收与可选红队演练台入口。
进一步信息: