2026/11/1 1:27:21

dsh-purge 完整指南:5 分钟看懂 DeepSeek Harness 破甲插件的改动面,3 步装好并干净卸载

dsh-purge 完整指南:5 分钟看懂 DeepSeek Harness 破甲插件的改动面,3 步装好并干净卸载 dsh-purge 完整指南5 分钟看懂 DeepSeek Harness 破甲插件的改动面3 步装好并干净卸载【免费下载链接】dsh-purgeDeepSeek Harness 破甲让所有模型都能破甲不同模型可换不同提示词默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐ 如要二开请查看署名要求部分项目地址: https://gitcode.com/GitHub_Trending/ds/dsh-purgedsh-purge 是装在官方 DeepSeek Harness下称 DSH上的红队评测插件俗称「破甲」它把宿主层的提示词改写、审批门与沙箱策略逐条拆开让你分清一次拒答来自模型本身还是宿主拦截。本文写给想把它装进本机 DSH、同时确认随时能退出的人。读完后你能对照版本兼容矩阵、走完 3 步安装、看清它三层改动面各碰了哪些文件并按备份与回滚机制干净卸载。装前核对 先对照宿主版本对不上就别装。package.json 写死了三个锚点插件版本1.1.78第 3 行、dshTarget: 0.2.1-rc.2第 96 行、engines.node 18第 94 行。对照 README 的 Supported hosts你的 DSH 版本应使用的 dsh-purge0.2.1-rc.21.1.78本仓库当前版本0.2.0-rc.21.1.40或更新0.1.7及更早含 rc回退到1.1.39或更早对不上会发生什么不匹配的补丁停在 pending 或 skipped不会盲目改写文件——结果是「不生效」不是「写坏」。两个前置条件官方 Webdsh web与官方桌面 EXE 是两个独立 profile各自安装、各自应用只装你实际打开的那个机器上需要 Node 18 以上。安装步骤坑先说在前面四个都是真实会踩的插件市场一键安装会报already queued: dsh-purge且不执行任何命令别点市场dsh-purge不在 npm registry 上不要pnpm add dsh-purgepnpm 11 可能跳过 install 脚本ERR_PNPM_IGNORED_BUILDS此时要手动补跑 bundle 登记脚本拉远程 tarball 要用 codeload 直链github.com/.../archive的 302 会让 pnpm 报fetch failed。最快安装方法为什么用本地 clone 做安装源避免远程拉取的 302 问题也方便回看源码。git clone https://gitcode.com/GitHub_Trending/ds/dsh-purge进入 clone 目录把插件装进你实际用的 profileweb 或 desktop 二选一dsh plugin --profile web add .这一步只把插件登记进 profilepostinstallpackage.json 第 39 行会执行 scripts/ensure-profile-bundle.mjs把dsh-purge写进dsh.profile.bundles并补上 profilecordis.patch.yml的 body insert——没有这个 insert宿主永远不加载插件、按钮也不会出现。登记不等于打补丁还要两步完全退出刚装的宿主再打开Web 停掉dsh web重启桌面端连托盘一起退出。在该宿主里点会话标题旁的dsh-purge按钮进Clean页点Apply——宿主设置页里没有这个入口。Apply 成功后自动重启一次让补丁进入当前进程没打完不重启重启后新开一轮对话注入才生效。怎样算装上用下面四条判据逐条确认会话标题旁出现dsh-purge按钮Clean 页能点Apply聊天里/purge status打出DSH_HOME与补丁列表路径必须是你实际在用的那份未安装的可选包显示 skipped不阻挡 Apply 完成按钮缺失时跑dsh --dump-config确认存在id: dsh-purge的行没有就执行 scripts/ensure-profile-bundle.mjs 再完全重启宿主。三个操作面行为一致CLIdsh-purge --status / --apply / --revert / --uninstall / --edit、聊天命令/purge ...、模型工具purge_status/purge_apply/purge_revert任选其一验证即可。手动路线dsh 不在 PATH 时先定位真正在用的$DSH_HOME解析顺序DSH_HOME环境变量 → dsh 启动器旁的.dsh→~/.dsh本机常有两份选属于你实际启动宿主的那份。然后把 clone 整棵放进$DSH_HOME/plugins/dsh-purge目录名必须是dsh-purge只改对应 profile 的package.jsondependencies加dsh-purge: file:../../plugins/dsh-purgedsh.profile.bundles末尾追加dsh-purge在 profile 目录内跑pnpm install最后重启宿主点 Apply。它实际动了什么改动面分三层每层都能落到源码。宿主包层提示词组装、审批门与沙箱lib/core.js 的targetFiles()第 6313 行登记全部补丁目标代表性分组dsh-agent-instructions系统提示词组装dsh-user-approval审批门覆盖lib/index.js、lib/types/index.js、lib/invariant.js三个文件第 6349–6361 行dsh-sandbox/dsh-fs-sandbox/dsh-sandbox-local沙箱与升级策略dsh-base/dsh-web-app/dsh-headless的cordis.patch.yml与lib/index.jsbundle 配置与渲染dsh-settings、dsh-fs-observation-policy、dsh-repeat-tool-reminder、dsh-compaction-tool-result-pruner、dsh-tool-fs、dsh-subagent等。注入入口只有一个cordis.patch.yml 第 36 行给id: dsh-purge声明inject: [systemPrompt, tools]。身份内容不读取宿主磁盘上的提示词文件而是插件内置的加密出厂默认defaultOverrideTextlib/core.js 第 7804 行默认面向「小码酱」。每轮会话的决策链在 lib/identity.js 的rewritePromptAssembly第 931 行实现规则集启用的prompt-inject.md→ 勾选的 workspaceAGENTS.md/CLAUDE.md→ 加密默认槽再叠加 workspace baseline 策略strict / fallback / always。多套规则集就管理在注入链的第一输入上。启动脚本层dsh shimSHIM_NAMES [dsh.cmd, dsh.ps1, dsh]lib/core.js 第 40 行即 dsh 启动脚本本身。patchShim第 7642 行改写前先存备份Windows 的dsh.cmd反而只去掉旧钉入、不注入第 7670 行桌面端密封的 command runtime 目录直接 scrub从不注入也不写 bak第 7645–7648 行。数据文件层$DSH_HOME 下的插件数据这一层是插件自己的数据prompt-inject.md每轮注入覆盖段、rules/多套规则库、redteam/演练台 SQLite 事实库root 由 cordis.patch.yml 的dsh-purge-redteam-store条目指向、net-scope-allow.txt服务器名单、$DSH_HOME/dsh-purge/如drill-grant.json。边界它改的只有本机deepseek-ai/*包内的文案 / 策略 / 执行逻辑、dsh 启动 shim、$DSH_HOME下插件自己的文件明确不碰 DSH 源码树不碰非deepseek-ai的第三方插件源仓库也从不写profiles/name/cordis.patch.yml——那个官方支持的用户 patch 层被isUserProfilePatchFilelib/core.js 第 6005 行显式排除在备份与回滚之外#43 的教训。备份与回滚 备份如何生成与升级自愈首次应用前backupAlllib/core.js 第 6161 行给每个目标建文件.dshpurge.bak旁车文件后缀常量BAK_SUFFIX第 6035 行用wx独占创建占位第 6178 行保证只建一次不覆盖更早的官方原文。写入本身走atomicWriteSync/atomicWriteFile/atomicCopyFile第 66、82、98 行的 tmp rename断电或盘满不会半写坏原文件。lib/index.js 的apply()第 1460 行第 1505 行注释点题「启动不写宿主包。补丁 / bak / client.js / runtime 只在点『应用』时写一次」。DSH 自升级会把宿主文件整个换成官方新版旧 bak 原样留着的话还原等于拿旧文件顶掉新代码。refreshStaleBaksForUpgrade第 6123 行处理这个场景当前文件不含dsh-purge标记串且与 bak 字节不同时把 bak 重做基线到新版官方文件第 6146–6150 行。反向自愈restoreMissingOriginalsFromBak第 6060 行在声明过的目标文件消失或被写成空文件时先从 bak 拷回再加载。还原的逐文件决策revertAlllib/core.js 第 6207 行逐文件决策有 bak当前内容与 bak 相同则 skip不同则用 bak 写回并删掉 bak没有 bak绝不删除目标文件第 6248 行注释源码部署的构建产物缺备份时删了无法自愈#41直接 skip用户 patch 层历史 bak 主动丢弃dropStaleUserProfilePatchBackups第 6011 行目标文件本身永不回滚。shim 的还原单独走revertShim第 7750 行优先用备份写回无备份但能识别出插件注入行时只stripShimInject反向拆掉注入不碰其余内容npm 符号链接场景只丢弃陈旧备份、绝不写目标#88第 7726–7748 行。prompt-inject.md是用户文件还原时保留只有卸载才删。干净卸载步骤与复核uninstallPurgelib/uninstall.js 第 208 行顺序还原补丁revertAll→ 还原 shim → 删注入文件 → 规则库重置后整目录删除 → 清理指向 redteam 的 agent 预设默认值 → 从各 profile 的package.json剥离条目stripPluginFromPackage第 50 行覆盖 4 个依赖键与bundles/plugins两个列表键→ 清除演练授权 → 收集删除目录各 profile 的node_modules/dsh-purge、$DSH_HOME/dsh-purge数据目录、插件根。关键保险还原阶段只要报 errorreport.ok直接置 false、删除清单清空第 235–240 行——没还原干净就不删任何东西。卸载后复核再跑一次/purge status备份应为无、补丁 applied 计数为 0、各目标文件存在且无.dshpurge.bak残留最后重启宿主插件不再加载。红线与边界 ⚠️网络面只认回环与私网开源构建只允许 loopback 与 RFC1918 私网lib/net-scope.js 的isLocalLabAddress第 200 行按 IP 判定域名先解析含 hosts 文件所有记录都必须是本机或私网出现一条公网或解析失败就拦.lab后缀不是白名单hosts 把实验域名指向公网 IP 同样被拦。名单文件net-scope-allow.txtallowFilePath第 382 行经entryHost第 387 行保存时丢弃密钥、密码、网段和通配符只接受一个 IP 或一个完整主机名。当前构建里permittedHost()第 470 行恒返回 false——公开主机登记了也不会放行「在对话里说这是我的服务器」不构成例外。权限面演练台先过授权门第一次进演练台要读声明、等倒计时、滚到文末并勾选三项未授权时标签页显示UnauthorizedREADME Preview 节同述。授权凭据由 lib/drill-grant.js 落在$DSH_HOME/dsh-purge/drill-grant.json卸载时随clearDrillGrant第 45 行一并清除。它只用于你有权管理的宿主、离线靶标或已书面授权的演练环境。合规面声明与许可README 的 Strict legal and compliance disclaimer第 98–124 行非盈利项目补丁与注入只作用于本机官方 HarnessApply / inject / revert / uninstall 全部留在本地文件与本地进程不向公网主机扫描、探测或发送攻击流量禁止用于未授权目标、公网系统与生产负载用于违法违规时开源许可自违反时刻终止第 122 行项目与 DeepSeek 无隶属关系第 123 行Apache-2.0 分发须保留 NOTICE原始版本不得转售fork 必须署名第 90 行。收尾dsh-purge 的价值不在「装上」而在「能拆开也能退出」装前 5 分钟核对版本矩阵装后每一步都有判据反悔时每一层改动都有对应的还原路径。它改了哪几样本机deepseek-ai/*包的文案 / 策略 / 执行逻辑、dsh 启动 shim、$DSH_HOME下插件自己的文件怎么退出sidecar 备份 升级基线自愈 「无备份绝不删目标」 卸载先还原后删除机制而非承诺。动手前和收手后各跑一次这条命令/purge status # 或 dsh-purge --status【免费下载链接】dsh-purgeDeepSeek Harness 破甲让所有模型都能破甲不同模型可换不同提示词默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐ 如要二开请查看署名要求部分项目地址: https://gitcode.com/GitHub_Trending/ds/dsh-purge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考