搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

HunYiSage/dsh-purge

安全

为本地安装的 DeepSeek Harness 打补丁,替换宿主提示词与策略默认值,用于已获授权的红队评测。

17,007
3,926
JavaScript
Apache-2.0
创建于 2 个月前

项目介绍

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 分发 安装说明。

  1. 选择与实际打开的宿主对应的 profile:dsh web 用 web,桌面 EXE 用 desktop。
  2. 在 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 生成,更新于 ,以项目官方文档为准。