ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

dsh-purge 红队评测插件安装教程:4 步完成部署并验证生效

dsh-purge 红队评测插件安装教程:4 步完成部署并验证生效

dsh-purge 红队评测插件安装教程:4 步完成部署并验证生效

【免费下载链接】dsh-purgeDeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐ 如要二开,请查看署名要求部分项目地址: https://gitcode.com/GitHub_Trending/ds/dsh-purge

dsh-purge 是装在本机官方 DeepSeek Harness 上的红队评测插件,它为宿主运行时策略打补丁,让破甲提示词按模型切换。装好后,会话标题旁多出一个 dsh-purge 按钮,右侧栏含「清洗」与「演练台」两页。本文按选环境、安装、应用、验证 4 步走完,最后用一条/purge status输出判定成败。

🔎 动手前:先选方案再执行

你正在用的环境安装方案前置条件
官方dsh web方式一,装进webprofiledsh在 PATH 中,Node ≥ 18
官方桌面 EXE方式一,装进desktopprofile桌面端版本 0.2.0-rc.2 或更高
dsh不在 PATH、拉不到归档方式二手动部署先定位真正的$DSH_HOME
dsh 0.1.x、社区桌面端当前版本不覆盖0.1.x 请用 1.1.39 及更早旧版

Web 和桌面分开装、分开应用,只装你当前打开的那一个。

容易犯的错:web 和 desktop 两份 profile 一起装——「应用」按钮只影响自己所在的宿主,点错没有效果,反而误判成没装上。

看到表里能选出一行,即进入下一步;没看到,先别跑安装命令,核对宿主版本。

📋 怎么算装好了

先定标准再动手,「装好」是下面三个信号同时出现:

  1. 按钮:会话标题旁出现 dsh-purge,点开是右侧栏,含「清洗」与「演练台」两页。
  2. 进度条:「清洗」页把补丁分成提示词、代码、引擎、工具四组,进度只计真正已应用的项。
  3. 状态输出:聊天里发/purge status,能打出DSH_HOME路径和补丁清单。

演练台多一道授权门槛:首次进入要读完声明、等倒计时、滚到页尾并勾选三项;「清洗」页没有这道流程。演练台只用于你有权管理的本机、离线靶标或已书面授权的演练环境。

缺任意一条即未装好,按下面的步骤补齐。

看到三个信号齐了,即算装好;没看到,回方式一第 4 步检查「应用」是否走完。

⚙️ 方式一:标准安装

命令都在仓库目录内执行,只动当前宿主对应的那份 profile。

  1. 把源码拉到本地

    操作:在任意空目录执行一次,再进入仓库目录:

    git clone https://gitcode.com/GitHub_Trending/ds/dsh-purge cd dsh-purge

    预期结果:目录里有package.json、lib/、cordis.patch.yml。已有本地副本则跳过本步。

    出错了怎么办:网络拉不动 → 转方式二。

  2. 把插件写进对应 profile

    操作:

    dsh plugin --profile web add .

    桌面端把web换成desktop。

    预期结果:输出显示插件已写入 profile。这一步只写档案,宿主文件还没被改。

    出错了怎么办:报错拉不到归档 → 转方式二;输出成功但后面没按钮 → profile 装错,回环境表核对。

  3. 彻底重启宿主

    操作:Web 端停掉dsh web进程再拉起;桌面端从托盘完全退出,再打开 exe。

    预期结果:进入会话界面,标题旁多出dsh-purge按钮。

    出错了怎么办:按钮没出 → 只查两件事,进程没退干净、profile 装错。

  4. 应用补丁,等宿主自动重启

    操作:点标题旁的按钮,右侧栏切到「清洗」页,点「应用」。

    预期结果:四组补丁进度依次走满,收尾后宿主自动重启一次;补丁经这一重启才进入当前进程。

    出错了怎么办:个别补丁显示「跳过」是保护,原文对不上或组件未安装,文件不动,仍算完成;整体失败 → 你在错的宿主里操作。

容易犯的错:拿一个宿主的「应用」去救另一个宿主——Web 控件只动 Web、桌面只动桌面,点错没有任何效果,容易误判成没装上。

看到按钮出现且「应用」跑完,即进入「最终验证」;没看到,回第 3 步彻底退出重做。

🛠️ 方式二:手动安装

标准安装走不通时的兜底。全程只操作当前在用的配置目录,其余一律不碰。

  1. 锁定真正的$DSH_HOME

    操作:找目录名为.dsh(官方桌面偶见dsh-home)、内含profiles子目录的那份。核对:profiles/web/package.json里"name"是dsh-profile-web,桌面是dsh-profile-desktop。

    预期结果:按探测顺序锁定一份。本机常有两份.dsh,以你实际启动的宿主对应那份为准。

    出错了怎么办:逐条核对 README.zh-CN.md 的「路径探测」一节,找到为止。

  2. 源码落进 plugins 目录

    操作:

    git clone https://gitcode.com/GitHub_Trending/ds/dsh-purge "$DSH_HOME/plugins/dsh-purge"

    预期结果:克隆出来的目录名固定为dsh-purge,改不得。

    出错了怎么办:没有 git 就下载压缩包,解压后把dsh-purge-master改名为dsh-purge,整夹放进plugins。

  3. 给 profile 的 package.json 加两处

    操作:先备份,再只追加两处——dependencies里加键dsh-purge、值file:../../plugins/dsh-purge;dsh.profile.bundles数组末尾追加字符串dsh-purge。

    预期结果:JSON 依旧合法,新增项前有逗号、末尾无多余逗号;原有依赖与 bundle 原样保留。

    出错了怎么办:JSON 解析报错 → 还原备份、补逗号再来;提示Could not resolve→file:路径写错,逐字符核对。

    容易犯的错:把file:../../plugins/dsh-purge改成绝对路径,或在 bundles 里把dsh-purge写两遍——路径一错依赖解析不到,你会误判成插件坏了。

  4. 在 profile 目录装依赖

    操作:

    cd "$DSH_HOME/profiles/web" && pnpm install

    桌面端把路径换成profiles/desktop。

    预期结果:该 profile 下出现node_modules/dsh-purge/package.json。

    出错了怎么办:在仓库根或$DSH_HOME根执行不会有结果,依赖只认 profile 目录。装完照方式一第 3、4 步收尾:完全退出宿主、重开、点「应用」。

看到node_modules/dsh-purge出现且重开后按钮弹出,即进入「最终验证」;没看到,大概率改错了那份.dsh,回第 1 步重新定位。

🎯 最终验证

操作:在任意会话里发送:

/purge status

通过长这样:输出分两块——DSH_HOME路径与补丁清单,路径必须指向你正在用的那份。「清洗」页再看一眼:应用进度已展示,备份过的目标文件带「有备份」标记——插件对每个目标文件都先留一份<文件>.dshpurge.bak备份,再动原文。

不通过时两条对照:

  • 无输出 → 插件没进当前进程,重走「完全退出 → 应用 → 自动重启」一轮
  • 有补丁清单但路径对不上 → 本机多份.dsh,回方式二第 1 步重新定位

演练台只放行本机与私网靶标:域名先解析,每个地址都必须是私网或回环;没有公网服务器登记入口。

看到 status 打出补丁清单且DSH_HOME与宿主一致,即验证通过;没看到,回对应方式的「彻底重启」一步重做。

🩹 故障速查表

现象原因处置
打开宿主后会话标题旁没有按钮profile 装错,或进程没退干净确认安装目标,回方式一第 3 步彻底退出重开
「应用」完成了,模型表现却像没变自动重启还没发生,或还停在旧会话回方式一第 4 步,让宿主重启一次,另开一轮对话验证
宿主升级后部分补丁停在「跳过」升级后待补丁的原文已对不上保护性跳过,不动文件;换匹配的 DSH 版本后重走方式一第 4 步
/purge status打印的DSH_HOME不是你的宿主本机两份.dsh,装偏了那份回方式二第 1 步,重新定位实际启动的$DSH_HOME
安装命令报错、归档拉不下来网络到不了归档源转方式二手动部署

看到表里能定位现象、处理后/purge status路径与宿主一致,即修复;没看到,先确认装的是哪个 profile、是否完全退出过。

🔁 还原与卸载

所有操作可逆,还原和卸载都幂等,多跑一遍不产生二次改动。

还原,两条入口任选:

  • 界面:「清洗」页点「还原」
  • 命令:聊天发/purge revert

预期结果:备份覆盖回原文件并删除备份,补丁分组退回「待应用」,「有备份」标记消失。你自改的prompt-inject.md属用户文件,还原时不动它。没有备份的项会自动去掉 shim 里本插件写入的行。

卸载,两条入口任选:

  • 界面:「清洗」页点「卸载」,弹窗确认
  • 命令:聊天发/purge uninstall,或命令行dsh-purge --uninstall

预期结果:先还原已应用的补丁、宿主回到原版状态,随后清理注入文件与规则库、移除插件本身,最后重启宿主。宿主没自动重启就手动关掉它;重启后仍有残留,说明插件未进过进程,回安装步骤核查。

看到补丁组显示「待应用」、宿主按原版运行、「有备份」标记消失,即回到安装前状态;没看到,再执行一次对应操作。

更多资料:规则集、预设与更新机制见 中文文档,核心源码在 lib/,默认补丁配置见 cordis.patch.yml,红队预设在 presets/redteam/,还原逻辑见 lib/rewind.js。

【免费下载链接】dsh-purgeDeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐ 如要二开,请查看署名要求部分项目地址: https://gitcode.com/GitHub_Trending/ds/dsh-purge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进