HunYiSage/dsh-purge
安全为本地安装的 DeepSeek Harness 打补丁,替换宿主提示词与策略默认值,用于已获授权的红队评测。
项目介绍
dsh-purge 是面向本机已安装 DeepSeek Harness(DSH)的插件,目标版本为 DSH 0.2.1-rc.2(0.2.0 也可用),并明确不支持 0.2.1-rc.3 及更新的 RC。它要解决的是「宿主层拦截」与「模型拒绝」混在一起的问题:DSH 会在运行时改写提示词、审批门禁和沙箱策略,请求可能根本没到模型就被拦下。插件对本机 @deepseek-ai 包和 profile 配置打补丁,再注入插件内加密槽位中的提示词,用于在受控环境中评估哪些默认策略过紧 安装与范围说明。
它分别支持官方 dsh web 与官方桌面 EXE,两者需要各自安装。会话标题旁的停靠面板包含 Clean 页(补丁状态、Apply/Restore/Uninstall、提示词编辑、多套规则)和需要先确认授权的 Drill 页。开源版本仅限本地实验环境:攻击类任务只允许回环与 RFC1918 地址,解析后的每个地址都必须是私有地址,游戏作弊类请求会被拦截 维护者边界说明。发布包不含技能库和知识库。
快速使用
前提:已安装受支持的 DSH 宿主、Node.js 18 及以上,并且有 dsh CLI 或 pnpm。不要从插件市场安装,也不要执行 pnpm add dsh-purge(npm 上没有该包);插件通过 GitHub tarball 分发 安装说明。
- 选择与实际打开的宿主对应的 profile:
dsh web用web,桌面 EXE 用desktop。 - 在
PATH中有dsh的终端里安装:
dsh plugin --profile web add https://codeload.github.com/HunYiSage/dsh-purge/tar.gz/refs/heads/master
桌面端把 --profile web 换成 --profile desktop。只有 pnpm 时,进入 $DSH_HOME/profiles/web(桌面端为 profiles/desktop)执行 pnpm add https://codeload.github.com/HunYiSage/dsh-purge/tar.gz/refs/heads/master。README 提醒 github.com/.../archive 会 302 跳转并导致 pnpm 报错,应使用 codeload 地址。pnpm 11/12 可能跳过 postinstall,README 给出了 --allow-build、pnpm approve-builds 的写法,以及 profile 注册缺失时执行 node node_modules/dsh-purge/scripts/ensure-profile-bundle.mjs 的补救方式 快速开始。
3. 完全退出并重新打开宿主:dsh web 需停止进程后重启;桌面端还要退出托盘图标。
4. 点击会话标题旁的 dsh-purge,打开 Clean,点击 Apply。成功 Apply 会重启一次宿主。用聊天中的 /purge status 验证,它会输出 DSH_HOME 和补丁列表。
如果命令行流程失败,README 提供了手动路径:把仓库克隆或解压到 $DSH_HOME/plugins/dsh-purge,在对应 profile 的 dependencies 中加入 "dsh-purge": "file:../../plugins/dsh-purge",把 "dsh-purge" 追加到 dsh.profile.bundles,然后在该 profile 目录内执行 pnpm install 手动安装。
使用与恢复
在 Clean 页可以编辑会话提示词、管理规则集、应用或回退补丁。聊天命令 /purge status、/purge apply、/purge revert、/purge uninstall、/purge edit 对应同样的操作;/rules list|use|create|delete|reset 管理规则集;/rewind 撤回上一轮已发送消息并把文本放回输入框。CLI 等价命令包括 dsh-purge --status、--apply、--revert、--uninstall、--edit 命令列表。
首次应用前,每个目标文件都会备份为 <file>.dshpurge.bak。Restore 会把备份复制回去并删除备份;没有备份时只剥离插件写入的 shim 行。prompt-inject.md 视为用户文件,恢复时保留。Uninstall 先恢复补丁文件,再删除注入文件、规则库和插件本身。Apply 是幂等的 恢复机制。
使用约束
- 宿主兼容范围很窄。 DSH 0.2.1-rc.2 需要插件 1.1.81 及以上,0.2.0-rc.2 需要 1.1.40 及以上,0.1.7 需要 1.1.39 及以下。DSH 0.2.1-rc.3 及更新版本不受支持,不匹配的补丁会保持 pending 或 skipped。Web 和桌面端要分别打补丁,不能用一个宿主的控制项操作另一个 支持版本。
- 仅限本地实验。 开源版本只允许针对回环和 RFC1918 地址执行攻击类任务。
.lab、.htb之类域名后缀不被信任:域名会先解析,再逐个检查地址。公网 IP、解析到公网的域名、解析失败、或把实验域名指向公网的 hosts 记录都会被拒绝;在对话里声称「这是我的服务器」也不构成例外 本地实验规则。 - 许可与署名。 代码采用 Apache-2.0,但维护者禁止转售原始构建,forks 和借用提示词或想法时必须署名源仓库 署名要求。
- 不自动改变模型偏好。 超时和推理强度属于用户自行修改 profile 的设置,插件不会代为调整。
HotRepo 点评
在 HotRepo 记录的 2026-11-03 当周 JavaScript 周榜中,该项目位列第 4,周期内新增 6,560 Star,累计 17,007 Star、3,926 fork。这组数字只说明单周榜单中的关注度,既不能当作长期趋势,也不能证明补丁方案在多个 DSH 版本上都有效。它的技术价值比星数指向的范围窄得多:插件与 DSH 的 release candidate 紧密绑定,README 自己也写明更新的 RC 不受支持。准备使用的人应先核对本机 DSH 版本与兼容表,因为主要失败模式是补丁被静默跳过,而不是给出明确报错。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。