dsh-purge-desktop:把宿主拦截与模型拒绝分开的 DSH 桌面端插件

前言

在 DeepSeek Harness(DSH)里做网络安全红队评测时,常见误判是:模型没给出期望回答,就当成「模型拒绝」。Harness 在运行时还会改提示词、审批门、沙箱和会话格式,宿主侧拦截与模型侧行为叠在一起,只看聊天结果很难分清是哪一层在挡。

dsh-purge(仓库 wufeng0105/dsh-purge-desktop)是挂在官方桌面端上的 DSH 插件:用可复算的方式改造本机已安装的官方包,把宿主拦截挪开或改写成可继续,让模型侧回答更直接反映模型本身,便于受控评测,也用来对照默认策略是否该收紧。

这是什么

维护者 wufeng0105,分类为客户端插件。当前版本 2.3.2,MIT 许可;依赖 DeepSeek Harness 桌面端,目标 dsh 版本为 0.2.1-rc.2(package.json 中的 dshTarget)。

装一次之后,补丁在宿主启动时自动应用,无需再点「应用」按钮(2.0.0 起界面里也没有该按钮)。插件只动本机已装好的官方 @deepseek-ai 包与本机配置;仓库说明中明确它不是公网扫描器,也没有对外攻击载荷。

核心功能

分层评测

补丁把宿主侧的拦截与模型侧回答分开。共 66 条补丁,另有 26 个永久保留的 id 空洞(共 92 个 id 守恒)。应用前会对目标文件做 <文件>.dshpurge.bak 备份,还原与卸载路径在 README 中有说明。

设置页五页签

宿主设置左栏会多出 dsh-purge 一节,包含五个页签:

页签 内容
状态 结论句、补丁计数、运行环境、需要时的「重启宿主」
补丁 按层展开的每一条及其状态与原因
配置 更新、提示词注入、服务器名单、Hooks 拦截、危险操作(还原 / 卸载)
技能 随包技能与本地技能,就地编辑
诊断 审计轨、安装健康、三条日志轨的落点与保留代数

页头显示「需重载」或「部分跳过」时,该节会写明是哪一条、原因;「部分跳过」不影响其余补丁生效。

主区演练台

侧栏增加演练台入口。未授权时先出现授权窗,而不是空壳界面;授权后可查看资产、技能与本机环境。

运行时数据位置

运行时文件在 $DSH_HOME:prompt-inject.md、rules/、skills/、net-scope-allow.txt、redteam/、audit/ 等。聊天里执行 /purge status 时输出的 DSH_HOME 应对应你正在跑的那一份。

服务器名单

中国大陆、香港、澳门地址默认禁止;仅在配置页签的服务器名单里事先登记的主机可例外。每行一台,例如单个 IP、主机名(保存时解析结果也会放行)、或 user@host 形式(账号仅用于识别写法)。保存后写入 $DSH_HOME/net-scope-allow.txt;密钥、密码、网段与通配符在保存时会被丢弃。

版本适配

仅支持官方桌面端与 dsh 0.2.1-rc.2。插件启动时读取宿主 @deepseek-ai/dsh 版本并比对:主次版本不同则拒绝应用;同 minor 内允许 rc 序号向上漂移。dsh web CLI 宿主 profile 自 1.0.0 起不再维护,需迁移到桌面端。

安装与启用

环境要求:Node.js ≥ 22.13、dsh 0.2.1-rc.2。npm 上没有此包,不要使用 pnpm add dsh-purge,也不要使用 dsh:// 或公网一键安装链接。

在本仓库根目录执行:

dsh plugin --profile desktop add .

然后完全退出桌面端(含托盘),再重新打开;补丁在启动时自动应用。

给其他机器安装时,可先打包再拷贝:

npm pack
dsh plugin --profile desktop add ./dsh-purge-<版本>.tgz

装完可在以下位置确认:

  1. 设置左栏 dsh-purge 一节页头为「已生效」,页脚「上次应用」不是「从未」。
  2. 侧栏出现演练台图标。
  3. /purge status 中的 DSH_HOME 与当前进程一致。

命令行不在 PATH 或 dsh plugin 失败时,可按 README「手动安装」四步:定位 $DSH_HOME、复制到 plugins/dsh-purge、改 profiles/desktop/package.json 的 dependencies 与 dsh.profile.bundles、在 profile 目录执行 pnpm install,再完全退出并重启桌面端。

典型用法

CLI

dsh-purge --status | --apply | --revert | --unseal | --uninstall | --diagnose | --edit

聊天斜杠命令

/purge status | apply | revert | uninstall | edit | help
/rules list | use <id> | create <id> | delete <id> | reset | help
/skills list | import <压缩包或文件夹> | create <id> [说明] | delete <id> | help
/rewind

界面没有「应用」按钮;需要重新应用时使用 /purge apply 或 dsh-purge --apply。输入框旁的「回退一次 / 回退上一轮」走官方 session.fork({ atSeq }):撤回该轮、新会话接上之前上下文、旧会话归档,并将那句话回到输入框。

极简 / PTC 与标准行为不一致时,README 建议:/purge revert → /purge apply → 完全退出宿主再打开 → 新开一轮对话。只换 preset 不重应用,旧进程里的补丁不会更新。

还原、卸载与更新

  • 还原:dsh-purge --revert,用备份覆盖目标文件;prompt-inject.md 为用户文件,还原时保留。
  • 卸载:设置节页脚「卸载」,或 /purge uninstall;先还原补丁,再删注入文件、规则库与插件,然后重启宿主。
  • 更新:替换本机副本 → dsh-purge --revert → dsh-purge --apply → 完全退出宿主再打开;重复应用是幂等的。

在线更新默认关闭(「本地版:不检查更新」)。启用需显式设置 DSH_PURGE_UPDATE_REPO=owner/name 或 package.json 的 dsh.updateSource。

适用场景与注意

适合在受控环境中做红队向 Harness 评测、对比不同模型在提示词与规则下的行为,或检查默认宿主策略是否过严。第三方 redteam 相关材料部分来自 Jueze-2019/dsh-redteam-mode,按 MIT 保留版权声明,见仓库 docs/redteam-upstream-LICENSE。

插件以当前 dsh 桌面进程权限运行,会修改本机官方包与 $DSH_HOME 下配置;安装前应阅读源码与许可证,仅在可信机器与合法授权范围内使用。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-purge-desktop 把「宿主拦截」和「模型拒绝」拆开,用 66 条可追踪补丁和设置页五页签 + 主区演练台,让桌面端红队评测更可复算。安装以仓库根目录的 dsh plugin --profile desktop add . 为准,装后完全重启桌面端即可自动应用。

  • 目录页:https://www.skillhub.cn/plugins/wufeng0105/dsh-purge-desktop
  • GitHub:https://github.com/wufeng0105/dsh-purge-desktop
羽毛球分组比赛记分
小程序二维码

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

Xiaoye