dsh-purge:在本机官方 Harness 上分离宿主策略与模型响应

前言

在 DeepSeek Harness(DSH)里做智能体或安全评测时,常见误判是:模型「拒绝」其实来自宿主在运行时改写的提示词、审批门、沙箱或会话迁移,而不是模型本身的能力边界。若只对比「能不能答出来」,很难判断该收紧的是默认策略还是模型行为。

下面介绍社区工作流插件 dsh-purge(维护者 LanJinGod,当前 README 标注版本 1.1.72)。它面向本机已安装的官方 Harness,通过侧栏「清洗 / 演练台」和本地补丁,把宿主层拦截与模型层响应分开观察,用于受控红队评测与策略松紧度对照。DSH 生态奉行「一切皆插件」;SkillHub 目录页 等社区站点与 DeepSeek / 幻方无官方从属关系,安装前请自行核对源码与 MIT 许可证。

这是什么

dsh-purge 是装在本机官方 DeepSeek Harness 上的网络安全红队评测插件(npm 包名 dsh-purge)。它只处理本机官方 @deepseek-ai 包与本地 profile / $DSH_HOME 配置,不改 Harness 源码仓库,也不作为公网扫描或第三方站点攻击套件。

官方 Web(dsh web)与官方 桌面 EXE(文档示例为 DeepSeek Harness 0.2.0-rc.2)均支持,但需分开安装、分开应用;当前主线适配 dsh 0.2,更早的 dsh 需使用对应旧版插件。社区桌面端不在维护范围内。

核心功能

侧栏:清洗与演练台

会话标题旁有 dsh-purge 按钮,打开右侧栏,包含两页:

页面 作用
清洗 分组查看补丁状态;执行应用、还原、卸载;编辑提示词与多套规则集
演练台 正式版内置。完成授权声明后,可查看资产、技能与本机环境,仅用于你有权管理的本机、离线靶标或书面授权的演练

身份与默认提示来自插件内嵌的加密提示词(提示词框默认展示),不读取宿主磁盘上的提示词文件。可按模型更换不同提示词;包描述中说明默认提示词面向国模「小码酱」。

宿主策略与启动自检

插件调整默认文案、权限策略与工具上限,并保留官方能力,不另造一套身份。启动时会自动检查并再应用;npm 升级覆盖 node_modules 后无需手改文件。

$DSH_HOME 解析顺序为:环境变量 $DSH_HOME → dsh 启动器旁的 .dsh → ~/.dsh。运行时还会在 $DSH_HOME 写入 prompt-inject.md、rules/、skills/、net-scope-allow.txt、redteam/ 等(Web 与桌面各用各自主目录)。

换包与账本状态

桌面端等场景可能涉及 app.asar 接管。CLI dsh-purge --status(或聊天 /purge status)除补丁列表外,文档说明会额外报告三行:运行时加载(app.asar 密封 / resources/app 已接管)、补丁生效(写入条数与真正加载条数)、换包(换包账本最后阶段与失败原因)。归档仍在时补丁可能全部不生效;账本与日志位于 $DSH_HOME/dsh-purge/asar-swap.json 与 %TEMP%\dsh-purge-asar-*.log。

换包相关命令示例:

dsh-purge --swap        # 排队空闲接管:关闭 dsh 后自动换掉 app.asar 并重开
dsh-purge --swap-now    # 立即结束 dsh、挪走 app.asar、重新打开

安装与启用

环境要求:Node.js ≥ 18;Windows 无闪窗场景文档要求 Node ≥ 22。Hub 一键安装与下列命令均安装 npm 包 dsh-purge。

按你正在使用的宿主选择 profile(只装当前打开的那一个):

dsh plugin --profile web add dsh-purge
dsh plugin --profile desktop add dsh-purge

当前目录已是本仓库副本时,将包名改为 add .。npm registry 不可用时,同一 --profile 可将目标换成文档给出的 master.tar.gz 地址(见 LanJinGod/dsh-purge 中文 README「安装」一节)。

重要: 仅 plugin add 写入 profile 不会修改 @deepseek-ai 宿主包。装完后按文档执行:

  1. 完全退出并重新打开刚安装的那个宿主(Web 关掉 dsh web 再开;桌面端退出托盘再开 exe)。
  2. 点会话标题旁 dsh-purge → 清洗 → 应用(设置页里没有该入口)。
  3. 「应用」成功后会自动重启一次;未完成不会重启。重启后新开一轮对话,注入才进入当前会话。

Web 与桌面控件互不交叉,不要在 A 宿主里点 B 宿主的「应用」。

典型用法

命令行与聊天指令

dsh-purge --status
dsh-purge --apply
dsh-purge --revert
dsh-purge --uninstall
dsh-purge --edit

聊天内可使用 /purge status | apply | revert | uninstall | edit | help,以及 /rules、/skills、/rewind 等(完整列表见仓库「使用」章节)。模型侧亦提供 purge_status、purge_apply、purge_revert 等工具名。

规则集与自己的服务器

在清洗页可编辑 prompt-inject.md 作为会话覆盖段;规则集支持多套 AGENTS.md / CLAUDE.md,启用后写入 $DSH_HOME。「自己的服务器」在提示词下方,每行登记一个 IP 或完整主机名,保存后写入 $DSH_HOME/net-scope-allow.txt(文档对大陆、港澳网段有严格限制,使用前须阅读 README 合规声明)。

插件配置片段

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 --uninstall / /purge uninstall;会先还原已应用补丁再重启宿主。

适用场景与注意

适合谁: 在本机官方 Harness 上做 LLM / Agent 安全评测、区分宿主策略与模型行为、对照默认策略是否过紧的研发与安全从业者(须在合法授权范围内)。

合规与权限:

  • 插件以当前 dsh 进程权限运行,安装与应用前请阅读仓库源码、MIT 许可证及 README 中的法律免责与使用范围;仅作用于你有权管理的本机官方安装。
  • 文档明确禁止用于未授权目标、公网生产系统及违法用途;演练台仅用于授权环境。
  • 借用本项目名称、思路、代码或提示词进行二次开发时,README 要求署名并标明来源仓库 YuJunZhiXue/dsh-purge(与当前 LanJinGod/dsh-purge 分发请以对读 README 为准)。

与 DSH 版本对齐: dsh 0.2 使用 README 所述 1.1.40 及以上;dsh 0.1.7 需选用 1.1.39 及更早 Release。版本不匹配时补丁会显示待应用或跳过,避免乱改文件。

结尾

经过上面的步骤,dsh-purge 把「装插件 → 应用补丁 → 看状态 / 换包账本 → 新开对话验证」串成可复现的本机评测流程,便于在官方 Harness 能力之上做受控对比,而不是把宿主拦截误当成模型拒绝。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜