ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

dsh-purge 安装指南:三大动作装好宿主补丁,一条命令验证生效

dsh-purge 安装指南:三大动作装好宿主补丁,一条命令验证生效

dsh-purge 安装指南:三大动作装好宿主补丁,一条命令验证生效

【免费下载链接】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 安装与生效验证教程,适用 dsh 0.2 系(0.2.1-rc.2/0.2.0-rc.2)的官方dsh web与桌面 EXE。

🧪 兼容性快判:能装、该停、不适用

  • 可以继续:宿主是官方dsh web或官方桌面 EXE,版本属于 dsh 0.2 系(0.2.1-rc.2/0.2.0-rc.2),本机 Node.js ≥ 18。
  • 先停下:dsh命令执行不了,或分不清本机两份.dsh目录哪份是实际启动的宿主——先走下文「手动安装路线」定位。
  • 不适用:dsh 0.1.x 与社区桌面端当前版本。别硬装,去对应旧版里找。

🧭 先认识面板:动手前知道三个功能区

清洗页:补丁状态与操作的主控台

补丁分提示词、代码、引擎、工具四组展开,进度条只计真正已应用的项。检测更新、正式版与测试版切换,以及「应用」「还原」「卸载」三件操作都集中在这页;默认行为定义在 cordis.patch.yml。

演练台:本地靶标资产的管理位

授权后按标签页管理资产测绘、技能与环境。首次进入要读完整份授权声明、等倒计时结束、滚到文末并勾选三项。它只用于你有权管理的本机、离线靶标,或已书面授权的演练环境。

清洗页下半部:提示词编辑与靶标登记

注入用提示词可直接编辑,不同模型可换不同提示词,默认面向国模「小码酱」。靶标名单一行登记一个 IP 或完整主机名,保存后写入$DSH_HOME/net-scope-allow.txt,开源版只放行本机与私网目标。

🔧 安装主线:三步把插件挂上宿主

动作一:取源——把仓库克隆到本地

操作:先把源码落在本地,包源连不上时也有本地副本可走手动路线。

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

预期画面:本地出现dsh-purge目录。没看到说明什么:网络到不了包仓库,或命令拼错——转「兜底路线」的手动安装一节。别这样做:不要指望从 npm 装,dsh-purge这个包名不存在。

这一步真正改变了什么:只有源码文件落盘,宿主一个字节都还没被改动。

动作二:挂进宿主——写入 web profile

操作:插件必须被宿主的 profile 加载才会出现入口,所以下一条命令要在刚克隆的目录里执行。

dsh plugin --profile web add .

预期画面:提示安装成功,插件已写入 web profile。没看到说明什么:dsh命令不存在(转手动安装路线),或 profile 名拼错。别这样做:别点插件市场的一键安装按钮——会报already queued: dsh-purge,命令走不成。

这一步真正改变了什么:宿主的加载清单里登记了插件;在点「应用」之前,宿主文件仍无一被改动。

动作三:启用——彻底重启宿主,再点「应用」

操作:重启是为了让宿主加载刚挂入的插件,点「应用」才是把补丁写进当前进程。先彻底关闭dsh web,确认没有后台残留进程,重新打开并进入会话;点会话标题旁的dsh-purge按钮,右侧栏切到「清洗」页,点「应用」。

预期画面:提示词、代码、引擎、工具四组补丁依次推进度;全部完成后宿主自动重启一次,补丁到此才写进运行中的进程。没看到说明什么:关窗口不等于宿主已退出,按钮不出现多半是没退干净或挂错了 profile;补丁列显示「待应用」则是宿主版本不匹配。个别补丁标「跳过」属保护性跳过,不计失败。别这样做:补丁列挂着「待应用」时不要硬点应用——版本对不上要换对应版本解决。

这一步真正改变了什么:补丁写入宿主并经自动重启生效,这是全流程里唯一让插件「活过来」的一步。

🛟 兜底路线:桌面客户端与手动安装

桌面客户端路线

  • 适用:用官方桌面客户端而不是dsh web的人。
  • 前提:桌面端版本0.2.0-rc.2及以上。
  • 操作:在客户端对应的命令行环境里,把动作二命令中的 profile 换成desktop(仓库没克隆过就先按动作一克隆),之后「重启 → 应用」与主路径一致。
  • 禁忌:别试图用 Web 侧的「应用」去打桌面端的补丁——两个 profile 的控件各管各的宿主,点错白点。

手动安装路线

  • 适用:dsh命令执行不了、或包拉不下来。
  • 前提:定位真正在用的$DSH_HOME——目录名通常为.dsh(桌面端偶见dsh-home),内含profiles子目录;本机若存有两份,以宿主实际启动的那份为准。
  • 操作:先把仓库克隆进插件目录,目录名必须叫dsh-purge:
git clone https://gitcode.com/GitHub_Trending/ds/dsh-purge "$DSH_HOME/plugins/dsh-purge"

再备份对应 profile 的package.json后修改:dependencies增加一行"dsh-purge": "file:../../plugins/dsh-purge",dsh.profile.bundles数组末尾追加"dsh-purge",其余原有内容全部保留。最后只在改过的那个 profile 目录(Web 进profiles/web,桌面进profiles/desktop)执行:

pnpm install
  • 禁忌:安装只能发生在目标 profile 目录内部,不要在仓库根或$DSH_HOME根执行;不要把file:相对路径改成绝对路径;不要同时动另一个宿主的 profile。该 profile 的node_modules下出现dsh-purge即手动安装完成,接着执行动作三的「重启 → 应用」。

✅ 启用验证:/purge status 判成败

先说成功长什么样:/purge status能打出补丁列表,且输出中的DSH_HOME路径与你实际在用的宿主一致——满足即成功。按钮没出现、毫无输出、或路径对不上,一律算未装上,回「兼容性快判」重核。

在聊天里发送:

/purge status

🩺 排障速查表:五种常见现象与处理

现象可能原因处理
会话旁没有dsh-purge按钮profile 与宿主不一致,或后台进程残留确认所改 profile 就是当前打开的宿主;确认无残留后彻底退出重开
点「应用」后看不出效果自动重启未完成,或在旧会话里验证等自动重启跑完,另开一轮会话再验
补丁列出现「跳过」宿主升级改动了原文,补丁被保护性跳过换与宿主匹配的版本重新应用
status 里的DSH_HOME与实际宿主不符本机存在两份.dsh,改错了目录按手动安装路线的定位步骤找到实际在用的$DSH_HOME
克隆命令连不上网络到不了包仓库转手动安装兜底路线

↩️ 回退与卸载:自动备份和三个出口

  • 自动备份:应用前,每个目标文件都会先生成<文件>.dshpurge.bak备份。
  • 还原:清洗页点「还原」,或在聊天发/purge revert——用备份覆盖回原文件并删除备份;你自己编写的prompt-inject.md属用户文件,还原时保留。
  • 卸载:清洗页点「卸载」并确认,或执行dsh-purge --uninstall,或在聊天发/purge uninstall。流程一致:先还原已应用的补丁,再删注入文件、规则库与插件本体,最后重启宿主。

回退逻辑见 lib/rewind.js,卸载逻辑见 lib/uninstall.js。

📎 文末参考

  • cordis.patch.yml:清洗页补丁的默认行为
  • lib/rewind.js:回滚逻辑
  • lib/uninstall.js:卸载逻辑
  • README.zh-CN.md:Skill 导入、规则集与更新机制
  • presets/redteam/:预置提示词

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

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

RELATED READING

延伸阅读

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