Important
原作者因不可抗力因素已删库。 本仓库基于上游最后版本(1.1.93)继续开发并长期维护,
已拆除全部源代码围栏(区域拦截闸、知识库下架短路、官方身份/审批/沙箱围栏一并清除)。
更新与发布全部走本仓库:ZiDuNet/dsh-purge。以下内容为原作者的原说明,整体降级存档。
本节由维护方持续更新;再往下是原作者的「原说明」存档。
| 版本 | 日期 | 变更 |
|---|---|---|
1.1.95-m7 |
2026-11-08 | 官方「设置→插件」页签(版本+检测更新+更新按钮);更新通道 ref master→main 修复;CI 校验强化 |
1.1.94-m6 |
2026-11-08 | 发布 1.1.94:移除背景图、知识库独立入口+双渠道导入、侧栏走 selectPanel(null)、拒绝重试、WorkBuddy/ZCode 插件包、yaklang 技能库;CI 流水线重写 |
1.1.93-m5 |
2026-11-08 | README 重构:中文为默认,原说明降级存档,英文原版移入 README.md.en-archive |
1.1.93-m4 |
2026-11-08 | 吸收生态两强:拒绝重试三件套(默认关,tuning.json 开启)+ WorkBuddy/ZCode 多客户端插件包(multi-client/) |
1.1.93-m3 |
2026-11-08 | 吸收 yaklang 组织:hack-skills 103 攻击 playbook + yak-skills 12 引擎技能 + vuldb-pipeline 数据管道 |
1.1.93-m2 |
2026-11-08 | 复活知识库(拆 MCP 层与路由层短路)+ 出厂槽重封(自证口令「破甲自检」) |
1.1.93-m1 |
2026-11-08 | 维护版基线:1.1.93 + 区域闸拆除 + allowlist + purge selfcheck + 镜像注入段 + 更新地址迁移 ZiDuNet |
- 完整变更记录:LOCAL-CHANGES.md(含每项修改的技术细节与未合入决策)
- 更新获取:
git pull本仓库 / Releases;插件内自动检查更新已指向ZiDuNet/dsh-purge - 候选池:docs/ecosystem-absorb-20261108.md(社区版 25 层自检对照、apply 事务化回滚等后续移植计划)
Version 1.1.93
DeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐ 如要二开,请查看署名要求部分
中文 | English(原说明存档) | 日本語
dsh-purge 最初由原作者独立开发。项目现已由 dsh-purge 维护团队接管,代码、文档、版本发布与安全响应均由团队负责;历史提交、Issue 与 Release 保持完整,链接不变,原作者的署名与来源记录继续保留。
团队接手后,项目边界维持不变:
- 开源版包含市面上付费售卖的全部内容。 技能库与知识库一并开源,不设付费解锁。
- 禁止对中国大陆、香港、澳门,银行与金融站点,政府与军事站点进行渗透、攻击或扫描。
关于付费内容。 市面上付费版本包含的内容,开源版本全部包含。本仓库没有需要付费才能解锁的功能或数据,技能库与知识库都在开源发行里。
原版禁止倒卖。 不得付费转售、换皮上架,或以商品形式分销。允许二次开发,但必须署名并注明来源仓库:ZiDuNet/dsh-purge。未署名、隐瞒来源,或改头换面据为己有的,维护团队将依法追究责任。任何第三方二开版本与原作者及本团队无关,相关责任由该第三方自行承担。
官方渠道:本仓库的 Issues 与 Releases,以及团队频道 t.me/LLM_PoJia。除此之外,任何频道、群组或账号都不是团队运营的。
⚠️ 关于冒充原作者、二次开发与收费诈骗的声明(2026-11-05)近期有账号冒充原作者「小杨」与本维护团队,使用近似昵称、头像和账号名,建立群组,以「作者本人」「项目众筹」「付费更新」等名义收费、募捐,并传播涉及原作者的个人信息。上述账号与群组均与原作者及本团队无关。
已知的冒充渠道(示例,非完整名单): X 上显示名为「叫我杨浩同学」、账号为
@yh2691983255的账号;Telegram 上以「【小码酱】技术圈交流群」为名、地址为t.me/dianhuaqun的群组,以及群内以「二改破甲杨浩」等名义接单、收费的账号。冒充者可能随时更换名称与头像。任何第三方二次开发(二开、二改、换皮、搬运、重新打包)均与原作者及本团队无授权、无隶属关系。 其代码改动、收费、数据与售后由发布者自行负责;冒用作者名义收费属于冒名侵权。按许可证二开必须署名并注明来源,不得倒卖原版。
原作者已就冒名收费与个人信息泄露报警,团队全程配合,证据已移交警方;原作者本人也已在其个人账号发布声明。出于对原作者个人信息和案件本身的保护,回执与相关截图不在公开渠道展示。
官方渠道只有两处: 本仓库 ZiDuNet/dsh-purge(Issues / Releases)与团队频道 t.me/LLM_PoJia。除此之外,任何频道、群组或账号都不是团队运营的;团队不会通过私人账号或私聊收费、募捐、索要个人信息。开源版免费,商业授权只走 LICENSE-COMMERCIAL.md。
请不要向任何非官方账号转账,也不要转发涉及原作者个人信息的截图。遇到冒充,截图后向对应平台举报。
感谢大家对「小码酱」的支持。谨防上当受骗。
技能库部分内容吸收自开源社区(MIT,已保留许可声明): yaklang/hack-skills(103 个 AI 攻击 playbook,见
skills/hack-skills/)、 yaklang/yak-skills(Yaklang/Yakit 12 技能,见skills/yak-skills/)、 yaklang/vuldb(CVE/ExploitDB 数据管道,见skills/redteam/vuldb-pipeline.md)。
dsh-purge 是装在本机官方 DeepSeek Harness 上的网络安全红队评测插件。当前 1.1.93 已适配 DSH 0.2.2-rc.1、0.2.1-rc.5 与 0.2.1-rc.2(0.2.0 仍可用)。官方 Web(dsh web)和官方 桌面端(EXE)都支持,两边分开装、分开应用。
Harness 不只是把问题交给模型。它还会在运行时改提示词、审批门、沙箱和会话格式。只看「模型答不答」,会把宿主拦截误当成模型拒绝。这个插件在你自己的安装里把这两层分开,用来做受控评测,也用来看默认策略该不该收紧。
| 你会用到 | 它做什么 |
|---|---|
| dsh-purge 侧栏 | 会话标题旁的按钮打开右侧栏。里面两页:清洗、演练台 |
| 清洗 | 分组查看补丁,应用、还原、卸载;编辑提示词和多套规则 |
| 演练台 | 正式版内置。授权后查看资产和本机环境。技能库与知识库随包提供。 |
| 宿主策略 | 调整默认文案、权限策略和工具上限。官方能力保留,不另写一套身份 |
| 启动时 | 自动再检查并应用。npm 升级盖掉 node_modules 之后不用手改文件 |
不写死盘符。按 $DSH_HOME、dsh 启动器旁边的 .dsh,再退回 ~/.dsh。不改 Harness 源码仓库,在 dsh-purge 的「清洗」里点「应用」才写入。身份来自插件里的加密提示词,也就是提示词框默认显示的那一份。不读取宿主磁盘上的提示词文件。
本插件只处理使用者本机已安装的官方 @deepseek-ai 包和本机配置。它不是公网扫描器,也不是针对第三方站点的攻击套件。仓库内不含木马、未授权渗透脚本或对外攻击载荷。
原版禁止倒卖。 不得付费转售、换皮上架,或以商品形式分销。
二开必须署名,并写明来源仓库:ZiDuNet/dsh-purge。借用本项目的名称、思路、代码或提示词,同样必须署名。
不署名、隐瞒来源、改头换面据为己有,或把原版拿去倒卖,维护团队将依法追究责任。
本仓库使用 Apache License 2.0。二开、再分发必须保留版权声明和 NOTICE,写明来源 ZiDuNet/dsh-purge。原版禁止倒卖。
免责声明: 本项目为非营利开源项目,遵守国家法律法规及所在平台的相关规范,仅供学习与研究使用。不得将本项目用于任何违法违规用途;由此产生的后果由使用者自行承担。
【零容忍严正申明】:本项目坚决反对并严禁任何形式的违法犯罪行为!本维护团队绝不支持、不鼓励、不协助任何未授权网络攻击、漏洞利用、数据窃取、非法侵入计算机信息系统或生成违法违禁内容的活动。任何将本项目用于违法犯罪的行为,均与本维护团队无关,由行为人依法独立承担全部法律责任。
- 本仓库不含违法内容:
dsh-purge发布的代码、文档、补丁与默认提示词不是木马、后门、未授权渗透工具、勒索软件、撞库脚本,也不是针对公网或第三方系统的攻击载荷。项目本身不提供违法内容,也不教唆、组织、协助实施违法犯罪。 - 只作用于本机官方 Harness:安全评测补丁、提示词注入全部发生在使用者本机已安装的官方 DeepSeek Harness(
@deepseek-ai包、本机 profile /$DSH_HOME)上。对象是使用者自己的官方本地软件,不是他人的网站、服务器、账号或信息系统。 - 评测补丁不对外网目标联网:应用补丁、写入注入、回滚、卸载均在本机文件与本机进程内完成,不对任何公网主机、未授权系统进行扫描、探测、入侵或攻击发包。不得把本项目当作跳板去打外网。插件若开启「检测更新」,仅可能访问本插件自己的 GitHub 仓库以核对版本,与对第三方系统的网络攻击无关,也不能被解释为授权对外渗透。
- 合法受控范围限定:本项目定位为使用者在自己有权管理的本机官方 Harness上,进行红队科研与鲁棒性评测的辅助工具。严禁在未经所有者合法书面授权的目标、公网在线系统或生产业务上运行本项目。一切测试必须限制在本机已授权安装的官方 Harness、离线本地合成靶标、授权网络安全演练靶场及合规实验室受控环境中进行。
- 严禁违法与违禁用途:使用者严禁利用本项目直接或间接从事任何违反下列法律法规的行为(必须逐条遵守,不得以任何理由规避):
- 《中华人民共和国刑法》
- 《中华人民共和国网络安全法》
- 《中华人民共和国数据安全法》
- 《中华人民共和国个人信息保护法》
- 以及其他现行有效的法律、行政法规与监管规定;
- 同时严禁:
- 未经授权渗透、攻击公私机构计算机信息系统,实施勒索、破坏、撞库或传播恶意载荷;
- 诱导、生成或传播危害国家安全、恐怖主义、暴力血腥、涉黄涉赌、诈骗、侵犯公民隐私或知识产权等任何法律明令禁止的违法违禁内容;
- 违反相关大模型提供商的《服务条款》与《滥用政策》。
- 使用者独立承担全部责任:本项目依据 Apache-2.0“按现状”提供,维护团队不对软件的完整性、安全性与适用性作任何明示或暗示的保证。使用者应对自身的所有下载、部署、运行、修改、传播行为以及由此产生的全部输入与输出后果承担独立、完全的民事、行政及刑事法律责任。维护团队与所有贡献者绝不承担任何因使用者滥用导致的直接、间接或连带责任。
- 违约即终止授权:任何将本项目用于非法攻击、恶意活动或违规行为的个人或实体,其开源软件使用许可将自违法违规行为发生之日起自动且不可撤销地立即终止。该主体须立即停止使用并永久销毁本项目的所有代码、脚本与衍生数据,并依法承担相应法律制裁。
- 第三方独立性声明:本项目属于完全独立的开源安全评测研究项目,与 DeepSeek 官方或其关联主体无任何隶属、商业合作、授权或官方背书关系。文中「官方」仅指评测对象为使用者本机安装的官方 DeepSeek Harness 软件包,不代表 DeepSeek 官方开发、认可或担保本插件。
- 必须署名:借用本项目的名称、思路、代码或提示词,必须署名并标明本仓库。不署名将依法追究责任。详见 署名要求。
1.1.93 及更高版本适配 DSH 0.2.2-rc.1;0.2.1-rc.5 与 0.2.1-rc.2 仍可用,0.2.0 仍可用。不要拿它去打 0.1.x。
- dsh 0.2.2-rc.1(官方桌面 / 官方
dsh web):用 1.1.93 或更高。宿主把工具执行器拆成dsh-tool-executor-native/dsh-tool-executor-ptc,run_code与 PTC SDK 从dsh-tools迁出;1.1.93 重对齐 9 条漂移的补丁 pattern,#14 / #17 / #54 / #60 / #62 / #67 / #74 / #82 / #40 重新命中。 - dsh 0.2.1-rc.5:用 1.1.88 或更高。1.1.93 的 pattern 更新后仍然命中,不必改配置。
- dsh 0.2.1-rc.2(官方桌面 / 官方
dsh web):用 1.1.81 或更高。已修{{cwd}}/[cwd]整轮失败、补丁 #40 命中、toolFilter废弃、dsh-tools解析、hostFs fd、桌面换包自杀、file:归档更新、Ctrl+Enter 插话。 - dsh 0.2.0-rc.2:用 1.1.40 及以上;本页这档也能装。
- dsh 0.1.7(含 rc.1 / rc.2):用 1.1.39 及更早 —— 在 Releases 里选对应标签。
- 对不上的补丁仍是待应用或跳过,不会乱改文件。宿主以后再挪锚点,就留在 0.2.2-rc.1 / 0.2.1-rc.5 / 0.2.1-rc.2 上。
对不上的补丁会显示待应用或跳过,不会乱改文件。
不要走插件市场:dsh-plugin.org 或设置里的「插件市场」一键安装会报 already queued: dsh-purge,命令也走不成。npm 仓库没有 dsh-purge 这个名字,不要 pnpm add dsh-purge。
PATH 里有 dsh?一条命令、一次重启、一次点击。跑你正在打开那一端的命令(桌面版把 web 换成 desktop):
# 官方 `dsh web`
dsh plugin --profile web add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master
# 官方桌面 EXE
dsh plugin --profile desktop add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master- 完全退出再打开刚装的那个宿主。Web:停掉
dsh web再开。桌面:托盘也要退出,再开 exe。 - 在这个宿主点会话标题旁的 dsh-purge →「清洗」→「应用」。应用成功后会自动重启一次。
完成 —— 聊天里跑 /purge status 验证。如果 pnpm 问要不要允许构建、或者下面任何东西没出现,走后面的分步说明。
第 1 步 —— 选定宿主。 官方 dsh web 和官方桌面 EXE 分开装、分开应用,只装你正在打开的那一个。
| 你正在用 | profile | 安装命令 |
|---|---|---|
官方 dsh web |
web |
快速安装里 web 那条 |
| 官方桌面 EXE | desktop |
快速安装里 desktop 那条 |
第 2 步 —— 装插件。 压缩包地址只用 codeload.github.com 这个写法,不要用 github.com/.../archive:后者 302,pnpm 会 fetch failed。
有 dsh:跑快速安装里你那一端的命令。当前目录已是本仓库时,把网址换成 .。
只有 pnpm(没有 dsh 也行):进正在用的那个 profile,不要在仓库根执行。
cd "$DSH_HOME/profiles/web" # 桌面改 profiles/desktop
pnpm add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/masterWindows PowerShell:
cd "$env:USERPROFILE\.dsh\profiles\web" # 桌面改 profiles\desktop
pnpm add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/masterpnpm add 和 dsh plugin add 都会拉包;postinstall 再把 dsh-purge 写进 dsh.profile.bundles,并在 profile 的 cordis.patch.yml 补上本体 insert(没有这一行,宿主不加载插件,界面也没有按钮)。
完成标志: node_modules/dsh-purge/package.json 在,该 profile 的 bundles 里有 "dsh-purge",cordis.patch.yml 里有 id: dsh-purge 的 insert。
- pnpm 11/12 默认拦安装脚本(
ERR_PNPM_IGNORED_BUILDS),要带上允许构建:
pnpm add --allow-build=dsh-purge --allow-build=dsh-purge@https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master
# 已经装上但只有警告时,必须带完整 specifier(只写 dsh-purge 会留下 set this to true or false):
pnpm approve-builds dsh-purge@https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master
# bundles / insert 还没写上时再补:
node node_modules/dsh-purge/scripts/ensure-profile-bundle.mjsdsh和 pnpm 都没有时,跳到手动安装。- 桌面客户端也可以点按钮(
dsh://唤起,下的仍是同一份压缩包)。
唤起客户端一键安装
第 3 步 —— 重启宿主。 只把插件写进 profile 还不会改 @deepseek-ai。完全退出再打开刚装的那个宿主(Web:停掉 dsh web 再开;桌面:托盘也要退出,再开 exe)。
完成标志: 会话标题旁出现 dsh-purge。没出现?跳到第 5 步。
第 4 步 —— 应用并验证。 在这个宿主点会话标题旁的 dsh-purge,打开「清洗」,点「应用」。宿主自己的设置页里没有这一项。应用成功后会自动重启一次,没做完不会重启。Web 的按钮只动 Web,桌面的只动桌面,不要在一个里面点另一个的应用。
完成标志: 聊天里 /purge status 能打出 DSH_HOME 和补丁列表,路径是你正在用的那一份。没装的可选包(梁神)显示跳过,不挡住完成。
第 5 步 —— 排障。 只有上面没有跑到「完成标志」时才看这里。
- 会话标题旁没有按钮。 在对应 profile 跑
dsh --dump-config(或dsh --profile desktop --dump-config),看有没有本体行id: dsh-purge(不是dsh-purge-redteam)。没有就再跑第 2 步的ensure-profile-bundle.mjs,然后完全退出重开宿主。升到本版本后,若演练台子行已经在跑,它也会在启动时把缺的 insert 补上,再完全退出重开一次即可。开头那几条entry "redteam-store" not found只是旧红队包不在,可以忽略。 - 市场报
already queued: dsh-purge。 不要再点市场;回到第 2 步用dsh plugin add或 pnpm 装。命令也说已经有了,就先卸再装,然后重走第 3 步:
dsh plugin --profile desktop remove dsh-purge
dsh plugin --profile desktop add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master只有 pnpm 时:
cd "$DSH_HOME/profiles/desktop"
pnpm remove dsh-purge
pnpm add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/masterWeb 端把 desktop 换成 web。
交给助手安装。 把下面整段发给本机助手。它只执行安装命令:不要全盘搜索、不要改其它文件、不要代点「应用」、不要重启。
给 AI 助手(只安装)
安装 DeepSeek Harness 插件 dsh-purge,只装到 Web profile。不要全盘搜索,不要读或改其它文件,不要应用设置,也不要重启应用。不要装到桌面 profile。不要走插件市场。npm 仓库没有这个包名,不要 pnpm add dsh-purge。
Web 端(官方 dsh web)
有 dsh:
dsh plugin --profile web add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master没有 dsh、只有 pnpm:找到 $DSH_HOME/profiles/web(常见 ~/.dsh/profiles/web),在该目录执行:
pnpm add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master当前目录已是本仓库且有 dsh 时改用 dsh plugin --profile web add .。dsh 和 pnpm 都没有再告诉用户后停止。
命令结束后,提醒用户:完全退出并重启 dsh web,再点会话标题旁的 dsh-purge,在「清洗」里点「应用」。然后停止。
手动安装。 命令装不上、或 dsh 不在 PATH 时用这个。只改正在用的那个宿主对应的 profile,不要动另一个,也不要删原有 bundle。
完整手动步骤
1. 找到真正在用的 $DSH_HOME。 认目录:名字是 .dsh(官方 EXE 偶见 dsh-home),里面有 profiles,且至少有一个 profiles/<名>/package.json。按顺序找:DSH_HOME 环境变量 → 安装根旁边的 .dsh(便携包)→ %USERPROFILE%\.dsh 或 ~/.dsh → %APPDATA% / %LOCALAPPDATA%\DeepSeek Harness\dsh-home。确认:profiles/web/package.json 里 "name" 是 dsh-profile-web(桌面是 dsh-profile-desktop)。本机常有两份 .dsh,要用你实际启动的那个宿主对应的那份。
Windows PowerShell 列候选:
$cands = @()
if ($env:DSH_HOME) { $cands += $env:DSH_HOME }
$cands += "$env:USERPROFILE\.dsh"
$dsh = Get-Command dsh -ErrorAction SilentlyContinue
if ($dsh) {
$dir = Split-Path $dsh.Source
$cands += @((Join-Path $dir ".dsh"), (Join-Path (Split-Path $dir) ".dsh"), (Join-Path (Split-Path (Split-Path $dir)) ".dsh"))
}
$cands += @("$env:APPDATA\DeepSeek Harness\dsh-home", "$env:LOCALAPPDATA\DeepSeek Harness\dsh-home")
$cands | Select-Object -Unique | Where-Object { $_ -and (Test-Path (Join-Path $_ "profiles")) }2. 把插件放到 $DSH_HOME/plugins/dsh-purge(目录名必须是 dsh-purge,其 package.json 里 "name" 也必须是 dsh-purge)。
git clone https://github.com/ZiDuNet/dsh-purge.git "$DSH_HOME/plugins/dsh-purge"没有 git:下载 master.tar.gz,解压后把 dsh-purge-master 改名为 dsh-purge,整夹放到 plugins 下。已有本仓库副本就复制整个目录,不要只拷几个 .js。
3. 只改对应 profile 的 package.json,先备份。 Web → $DSH_HOME/profiles/web/package.json;桌面 → $DSH_HOME/profiles/desktop/package.json。只追加两处,原有依赖和 bundle 全部留着:
dependencies增加"dsh-purge": "file:../../plugins/dsh-purge"dsh.profile.bundles末尾追加"dsh-purge"(已有就不要再加)
{
"name": "dsh-profile-web",
"private": true,
"dependencies": {
"dsh-purge": "file:../../plugins/dsh-purge"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-purge"
],
"patchReload": "live"
}
}
}JSON 要合法(新增项前面有逗号,最后一项后面没有多余逗号)。file:../../plugins/dsh-purge 不要改成绝对路径,patchReload、其它插件、版本号都不要动,"dsh-purge" 不要写两次。桌面端没有 dsh-web-app 就不要硬加。
4. 只在刚改的那个 profile 目录装依赖(cd 进 profile 目录,不要在仓库根或 $DSH_HOME 根):
cd "$DSH_HOME/profiles/web" # 或 profiles/desktop
pnpm install成功标志:出现 profiles/<web|desktop>/node_modules/dsh-purge/package.json。找不到 pnpm 就用官方 dsh 自带的 Node / pnpm;报 Could not resolve 就检查 file: 路径;JSON 解析失败就修逗号或还原备份。
5. 完全退出该宿主,再启动,再点「应用」 —— 即第 3 步和第 4 步。按钮会出现在会话标题旁,只在这个宿主点「应用」(或 /purge apply)。没出现多半是改错了另一份 .dsh,回到第 1 步核对。
卸载。 会话标题旁的 dsh-purge →「清洗」→「卸载」。弹窗确认:会先还原已应用的补丁,还原回原版 Harness,再重启当前宿主。停用或卸载时会把「智能体预设」里指向红队模式的默认值改回 standard,避免宿主因找不到 redteam 而无法新建会话。
卸载命令与配置
# 也可以用命令行 / 聊天
dsh-purge --uninstall
# /purge uninstall插件配置在 cordis.patch.yml(postPrompt 默认为空):
- insert:
- id: dsh-purge
name: 'dsh-purge'
config:
enabled: true
autoApplyOnStart: true
autoUpdateOnStart: false
autoRevertOnMissing: false
verbose: false
postPromptOrder: 5100
postPrompt: ""会话标题旁有 dsh-purge。点开是右侧栏,两页:清洗 和 演练台。白 / 墨可切换。补丁按组展开,进度只计真正已应用的项。规则集在上方列表启用或删除,下方编辑正文。
第一次进演练台要先读声明、等倒计时、滚到文末并勾选三项。清洗不需要这一步。演练台只用于你有权管理的本机、离线靶标,或已经书面授权的演练环境。
清洗
演练台授权
演练台
补丁
规则集
本地靶场
禁止对中国大陆、香港、澳门,银行与金融站点,政府与军事站点进行渗透、攻击或扫描。
| 区域 | 说明 |
|---|---|
| dsh-purge | 会话标题旁的按钮,打开或收起右侧栏 |
| 清洗 | 补丁、提示词、规则集 |
| 演练台 | 授权后的资产与环境页。技能库与知识库随包提供。未授权时按钮标「未授权」 |
| 补丁 | 分组查看状态,应用、还原或卸载 |
| 提示词 | 编辑 prompt-inject.md,作为会话覆盖段 |
| 本地靶场 | 中国大陆、香港、澳门、银行、政府与军事站点禁止渗透 |
| 规则集 | 多套 AGENTS.md / CLAUDE.md;启用写入 $DSH_HOME,删除从列表去掉 |
bin/ 是命令行,lib/ 是补丁和演练台,presets/redteam/ 是红队预设,skills/redteam/ 是随包技能,client.js 是侧栏。
运行时文件在 $DSH_HOME:prompt-inject.md、rules/、skills/、redteam/。未设 DSH_HOME 时,优先用 dsh 安装目录旁边的 .dsh,再退回 ~/.dsh。Web 和桌面端各用自己那一份主目录。
# CLI
dsh-purge --status
dsh-purge --apply
dsh-purge --revert
dsh-purge --uninstall
dsh-purge --edit
# 聊天
/purge status | apply | revert | uninstall | edit | help
/rules list | use <id> | create <id> | delete <id> | reset | help
/rewind
# 其它插件已占 /rewind(或 /purge、/rules、/skills)时,这条命令会跳过或改挂
# /purge-rewind 等备用名;主插件其余命令、工具、/dsh-purge/* 路由不受影响。
# 模型工具
purge_status purge_apply purge_revert设置页「应用」成功后会自动重启,以加载已改的包文件;也可手动点「重启」。补丁标题下有正式版和测试版。测试版跟 beta 分支。点「切换到正式版」会装回 master,并清掉钉选。正式版里选旧版本会固定在该版本,要回到最新再点「更新」。旧的测试标签不再列出。
输入框旁的「回退一次」和「回退上一轮」都留在当前这条对话里,不另开分支。已发送的那句会回到输入框,这一轮已经发出的内容和已完成的任务会从当前对话撤掉,改字后重新发送即可。从 1.1.61 起,多轮对话后回退按当前这一轮定位,不会又退到第一条用户消息。聊天里 /rewind 同样可用。
极简 / PTC 与标准不一致时:同一任务在标准模式能跑、在极简或 PTC 被拦,通常是 preset 里 run_code 或 plan 拦截句没洗净,或内置 minimal 缺少 agent-instructions。请升到 1.1.61+,完全退出宿主 → 清洗里应用 → 自动重启 → 新开一轮对话 再试;只换 preset 不重应用,旧进程里的补丁不会更新。
DSH 会按顺序执行同一批中的 Bash 调用。旧版 dsh-purge 把默认前台等待从 60 秒提高到了 10 分钟,一条慢命令会让后续调用一起等待。补丁 #21 现在把带插件标记的旧值恢复为官方的 60 秒。无标记的等待时间和其他自定义值会保留;无标记的 10 分钟无法可靠地区分是插件旧值还是用户设置。
在 macOS/Linux 的 dsh web 中,如需更快返回工具结果,可在 $DSH_HOME/profiles/web/cordis.patch.yml(通常是 ~/.dsh/profiles/web/cordis.patch.yml)添加下面的条目。已有相同 id 时修改原条目,不要重复添加。这个 profile 覆盖层在内置配置之后加载,后续应用插件会保留它。
- id: bash-sandbox
config:
timeoutMs: 10000使用标准 jobs 服务且 promoteOnTimeout: true 时,未完成的命令会在 10 秒后返回后台任务 id,并继续运行。用 job_output 读取结果、用 job_kill 停止。这个设置缩短前台等待,不会让命令本身跑得更快。没有 jobs 服务或关闭自动转后台时,超时会终止命令。单次调用传入的 timeoutMs 优先于这里的默认值;run_in_background: true 可立即返回任务 id。
日常任务还可以选择让新会话默认使用 Low 推理:
- id: agent-default-model
config:
provider: deepseek-official
model: deepseek-flash
reasoningEffort: low重启 dsh web 后加载配置。模型和推理等级默认值只用于新建会话,已有会话请在输入框中选择 Low。插件不会自动修改这些模型偏好。需要深入推理的任务可保留 High;搜索文件时应限定目录,避免递归扫描所有应用目录。
禁止对中国大陆、香港、澳门,银行与金融站点,政府与军事站点发起渗透、攻击或扫描。
node --check lib/index.js
node --check lib/core.js
node --check lib/rewind.js
node --check lib/skills.js
node --check client.js应用,启动时或手动点「应用」:
flowchart TD
A["启动或点应用"] --> B{"补丁已经生效?"}
B -->|是| C["跳过"]
B -->|否| D["备份原件为 .dshpurge.bak"]
D --> E["按补丁列表替换对应文件"]
E --> F["覆盖 shim"]
F --> G["注入插件加密默认(提示词框默认显示的那份)"]
每次会话的覆盖:
flowchart TD
A["重启或新会话"] --> B["注入插件加密默认,不必点保存,不读宿主磁盘"]
每一轮的提示词注入与规则集决策。左边三个输入就是你在 dsh-purge 面板里控制的东西,虚线表示它们各自驱动哪一步判定:
flowchart TD
L["规则库:启用某个规则集 → 写入 prompt-inject.md"]
W["本地规则:勾选当前目录的 AGENTS.md / CLAUDE.md"]
P["工作区策略:strict / fallback / always"]
A["新一轮开始"] --> B{"prompt-inject.md 非空?"}
B -->|是| C["注入 = prompt-inject.md (A)"]
B -->|否| D{"当前目录有被勾选且非空的本地 md?"}
D -->|是| E["注入 = 被勾选的 workspace md (B)"]
D -->|否| F["注入 = 插件加密 slot 默认值 (D)"]
C --> G{"Workspace baseline 策略 (C)"}
E --> G
F --> G
G -->|strict| H["去掉 DSH workspace baseline 段"]
G -->|fallback 默认| I{"上面有用户注入内容? (A 或 B)"}
G -->|always| J["保留 DSH workspace baseline 段"]
I -->|是| H
I -->|否| J
H --> K["最终系统提示词"]
J --> K
L -.-> B
W -.-> D
P -.-> G
- 每个目标文件在应用前备份为
<文件>.dshpurge.bak。 - 「还原」或
/purge revert用备份覆盖回去并删除备份;没有备份时去掉 shim 里由本插件写入的行。 prompt-inject.md是用户文件,还原时保留。- 「卸载」会先还原(若已应用),再删除注入文件、规则库和插件本身。
- 重复应用是幂等的。
宿主面先判断 web / desktop(预留 gui / tui,尚未单独适配时回退 web)。
Web:
DSH_HOME/DSH_BASE- dsh 启动器旁的
.dsh npm prefix -g/npm root -g- 嵌套
@deepseek-ai/dsh/node_modules/@deepseek-ai - 系统默认
~/.dsh
官方桌面: 只改当前正在运行的官方桌面安装。点「应用」成功后会自动重启一次。社区桌面端不维护。
找不到目标时提示设置 DSH_BASE,不改文件。
团队频道:t.me/LLM_PoJia,用于发布通知与更新。GitHub Releases 仍可下载历史包。原版不允许倒卖;二开必须署名并注明来源,第三方二开与原作者及本团队无关。
- 改动范围是本机
@deepseek-ai/*包里的渲染文案、默认策略和执行逻辑,以及用户目录下的覆盖文件与规则集。 - 升级后原文对不上会显示跳过,这次应用仍算完成,不会乱改。
- 不改动非
@deepseek-ai的第三方插件源仓库(启动时的 CMD 无感会尽力修补已装的 doctor / market / 梁神 / mnemon,属运行时补丁)。 - 安装走 GitHub 压缩包(npm 仓库没有这个名字,也不要走插件市场)。有
dsh:dsh plugin --profile web add https://codeload.github.com/ZiDuNet/dsh-purge/tar.gz/refs/heads/master。只有 pnpm:在$DSH_HOME/profiles/web里pnpm add同一地址。桌面把web换成desktop。当前目录已是本仓库时add .。
感谢 LINUX DO 社区




