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

开场白盖过你的提示词:被压住的是宿主不是模型

每次新开一轮会话,模型先自报「我是 DeepSeek 的 AI 助手」,你精心写的人设被这句开场白盖过去;换哪个模型,语气都一个样。这不是模型能力问题,是宿主默认那块「招牌」没拆。dsh-purge 是装在本机的 DeepSeek Harness 插件:把宿主的默认身份拆掉,换上你自己掌控的提示词,还能按模型切换多套规则集。

一句话小结:不是模型的锅,是宿主招牌的锅。

三步拆掉招牌:对版本、装插件、点应用

第 1 步,对版本。1.1.78 适配 DSH 0.2.1-rc.2(0.2.0 也能跑);宿主还是 0.1.x 就回老版本 1.1.39。对不上的补丁只会显示「跳过」,不会乱改文件。

你的 DSH 版本dsh-purge 选哪个
0.2.1-rc.21.1.78
0.2.01.1.40 及以上(1.1.78 也行)
0.1.x1.1.39 或更早

第 2 步,装对 profile。Web 和桌面 EXE 各有各的 profile,只装你实际用的那一个:

你的入口profile对应做法
官方dsh webwebdsh plugin --profile web add(插件 tar 包)
官方桌面 EXEdesktop同上,--profile换成 desktop
命令行走不通—clone 进插件目录,按 README 手动改 profile
git clone https://gitcode.com/GitHub_Trending/ds/dsh-purge "$DSH_HOME/plugins/dsh-purge"

第 3 步,应用并重启。把宿主完全退出再重开(Web 先停掉dsh web;桌面端连托盘一起退),点会话标题旁的 dsh-purge 按钮 →「清洗」页 →「应用」,成功会自动重启一次。这个入口不在宿主设置页里,只认侧栏。

一句话小结:profile 装对,按钮才会出现。

点了应用不等于生效:三个可核对的信号

先记住:应用 ≠ 生效。「应用」只是把补丁和提示词写进宿主文件,当前进程加载的还是旧内容。完整生效链条是:

应用(写入宿主文件) → 彻底重启宿主 → 新开一轮对话

✅ 核对三个信号就算装对了:

  • 会话标题旁出现 dsh-purge 按钮,且清洗页能点「应用」
  • 聊天里输入/purge status能打出本机DSH_HOME和补丁列表
  • 点应用后宿主自动重启了一次(没重启说明应用没跑完)

新手最常踩的坑有两个:

  • 还原不伤文件。每个目标文件应用前都留有.dshpurge.bak备份,「还原」用备份覆盖回去再删备份;prompt-inject.md属于你的文件,还原时保留。
  • 卸载要走完整链路。点「卸载」会先恢复已应用的补丁,再依次清掉注入文件、规则库和插件,最后重启宿主。命令行等价物:
dsh-purge --revert dsh-purge --uninstall

一句话小结:应用只走一半,重启才是另一半。

默认提示词为什么不能明文看:加密槽与身份过滤

默认提示词为什么要密封?内置的默认提示词是 dsh-purge 最核心的资产,明文躺在发行包里谁都能看穿改坏。发版前,构建脚本 scripts/embed-default-prompt.mjs 用它做AES-256-GCM加密、按 96 字符切块,灌进 lib/asset-table.js;运行时再由 lib/table-read.js 的openSlot()解密还原成 Markdown:

const decipher = createDecipheriv("aes-256-gcm", mixKey(MASK), iv);

表里只有密文,解出来才是可读提示词。落到使用上就两句话:你没自定义过,「应用」时写入的就是这份内置默认;你自己改过的文件不会被覆盖。

招牌是怎么拆的?拆完之后模型不再自称「DeepSeek 的 AI 助手」。这个改变来自 lib/identity.js 里的stripHarnessPersona——它握着一份官方身份句清单,把系统提示词逐句过一遍:You are an AI agent powered by DeepSeek Harness.这类身份句直接删,「我是 DeepSeek 的 AI 助手」及变体也删,工作目录{{cwd}}保留、只换成中性说法。被拿走只有身份层,官方功能一个没动。

新招牌由 lib/core.js 的身份锁钉上:默认名是「小码酱」(Little Code Sauce,简称 LCS),你在prompt-inject.md里另起名它就换名,被问「你是谁」只答这个名字。顺带修掉一个老坑:早期版本每次 apply 都往提示词前缀里再叠一层,实测 +841 字符/次,宿主文件越滚越大永不收敛;现在相关补丁行带skipIfMarked: true,「已应用」标记真正参与防重复,apply 幂等,点多少次都收敛到同一结果。

一句话小结:只换招牌,不动机器。

换模型像换招牌:多套规则集随切

国模和海外模型对人设、语气、拒绝边界的敏感度不一样,一套提示词通吃不了。dsh-purge 把提示词做成多套可切换的规则集:默认套是面向国模调校的「小码酱」,跑别的模型就再建一套,换语气、换边界。启用哪一套由插件写进$DSH_HOME/rules/,几套互不干扰,逻辑都在 lib/rules.js。

建、切、删分两处:界面清洗页顶部列表负责启用或删除,下方编辑正文;聊天里直接下命令:

/rules list /rules use <id>

每轮会话的注入源按优先级三选一:prompt-inject.md非空就用它;否则看当前目录勾选的AGENTS.md/CLAUDE.md;都没有就落到插件加密槽里的默认值。启用某套规则集时,内容会写进prompt-inject.md,它自然成为首选注入源——所以换模型 = 换规则集,不用从零写提示词。

一句话小结:不同模型挂不同招牌,笔还是你的。

网络这道门焊死了:只碰你自己的机器

🔒 破甲之后可以把模型交给「演练台」做受控评测,但边界要说死:

  • 只作用于本机装的官方 Harness(@deepseek-ai包、本机 profile /$DSH_HOME)。它不是公网扫描器,也不是针对第三方系统的攻击工具;补丁、注入、回滚、卸载全部发生在本机文件和本机进程内。
  • 网络侧有硬门。开源版攻击任务默认全拦,只放行本机回环与 RFC1918 私网 IP;域名先按系统解析,解析到的每一个地址都必须是私网或回环。对话里口头声明「这是我的服务器」不作数,密钥、密码也一样。这道门实现在 lib/net-scope.js。
  • 合法范围仅限:你有权管理的本机官方 Harness、离线本地合成靶标、已书面授权的演练靶场。严禁未授权攻击与违法内容生成,后果由使用者独立承担。

一句话小结:招牌能换,墙不能拆。

开场白不改时,回头查招牌

下次人设「没生效」、模型仍自称别人的助手时,先问一句:招牌拆了吗?宿主层和模型层一分开,「能力明明在、输出却变味」就从玄学变成了可逐项核对的事实——这正是 dsh-purge 干的唯一一件事:把招牌拆下来,把笔交到你手里。

一句话小结:逐项核对,不再靠玄学。

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

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

RELATED READING

延伸阅读

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