作者: · 发布:

dsh-purge——一个在 DeepSeek Harness(DSH)插件生态里排得上日增长榜前三的开源项目,作者即将在一周后闭源。

8K Star!一个被裁程序员的开源插件,凭什么登顶 DeepSeek Harness 插件榜前三?

我翻了一下 DSH 插件排行榜,过去两个快照之间,这个项目的 Star 增长了 354 颗,仅次于两个更早期的大项目。L5 运行已验证,金标评级,安全扫描低风险。在 dsh.so 的收录里,它的 Star 数已经突破 8k。

而这一切,都是一个被裁员的程序员,业余时间写出来的。

今天这篇文章,不仅要拆解 dsh-purge 的技术细节,更想聊聊这个项目背后的故事——关于一个”破甲”插件如何在一个月内蹿红,以及开源世界里那些不被看见的个人英雄。

dsh-purge 到底是什么?

dsh-purge 是 DeepSeek Harness 的一个插件。如果你还不知道 DSH 是什么,简单说就是 DeepSeek 官方推出的一个 Agent 开发框架——官方口号是「Everything is a plugin」,从模型、工具、技能到沙箱、会话格式,每一层都是插件,可以自由组合和替换。

DSH 不只是把你的问题丢给模型就完了。它在运行时会做一层宿主控制——改提示词、审批门、沙箱环境、会话格式,这些都是在模型之外加的”壳”。

dsh-purge 做的事情,就是在你自己本机已经装好的官方 DSH 里,把模型的原始回答和宿主拦截这两层”分开”。

为什么要这么做?因为你在评测一个模型的安全性时,如果模型答不上来,你得搞清楚——到底是模型本身拒绝了,还是宿主层把答案拦了?这两件事天差地别。

所以 dsh-purge 的官方定位非常明确:

用来做网络安全红队评测,让你在自己的本机环境里做受控测试,也用来看 DSH 默认策略该不该收紧。

作者反复强调的法律免责里也写得很清楚——它不是公网扫描器,不是打别人站点的套件,仓库里没有对外攻击载荷。所有补丁只作用于使用者自己的官方 DSH 安装包和本机配置。

好,搞清楚定位之后,我们再来看它的核心能力。

02

PART

核心亮点

1. 不同模型,不同破甲提示词

这是 dsh-purge 名字里”purge”的由来——它在运行时注入一段加密的默认提示词,绕过 DSH 的宿主拦截层。但最核心的设计是,你可以给不同模型配不同的破甲提示词。

默认提示词面向的是国产模型”小码酱”,但你完全可以自己写一套适配 GPT 系列的、Claude 系列的、或者别的什么模型的提示词。这样一来,你切换模型做评测的时候,破甲策略也跟着变,不用手动改来改去。

2. 不只破甲,还给你个演练台

正式版内置了一个”演练台”——第一次进去要先读声明、等倒计时、滚到文末、勾选三项授权。授权之后才能看到资产、技能和本机环境。

演练台的定位也写得很死:只用于你有权管理的本机、离线靶标或已书面授权的演练环境。

3. 全图形化操作,零手改文件

dsh-purge 在 DSH 界面里加了一个侧栏——就是会话标题旁那个按钮。点开是右栏,两个 Tab:清洗和演练台。

清洗页面里,补丁按组展开,状态一目了然。点”应用”→自动备份原件→替换文件→注入提示词→自动重启。还原也是一键的,用 .dshpurge.bak 备份文件恢复。整个过程你不需要碰任何源码文件,也不需要知道 DSH 内部是怎么组织的。

4. 完整的 CLI 和聊天命令支持

虽然侧栏很好用,但如果你想在脚本里自动化,dsh-purge 也给了完整的命令行工具和聊天指令:

# 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
/skills list | import <压缩包或文件夹> | create <id> | delete <id>
/rewind               # 回退一轮对话

03

PART

快速上手

安装命令(重点:Web 和桌面端要分开装!)

dsh-purge 不写死盘符,Web 和桌面端各用各的 profile,两边都要装、分开应用。

Web 端(官方 dsh web):

dsh plugin --profile web add https://github.com/YuJunZhiXue/dsh-purge/archive/refs/heads/master.tar.gz

桌面端(官方 EXE 0.2.0-rc.2 / 0.2.1-rc.2):

dsh plugin --profile desktop add https://github.com/YuJunZhiXue/dsh-purge/archive/refs/heads/master.tar.gz

如果你已经在本地 clone 了仓库,直接:

dsh plugin --profile web add .
dsh plugin --profile desktop add .

装完一定要做的三步

只把插件写进 profile 文件不会自动改 DSH 源码,必须手动触发应用:

1

完全退出刚装的那个宿主(Web 关掉 dsh web 再开;桌面端退出托盘再打开 EXE)

2

点会话标题旁的 dsh-purge 按钮 → 右侧栏切到 清洗 → 点 「应用」

3

成功后会自动重启一次宿主,让补丁进入当前进程

重启之后新开一轮对话,注入才生效。聊天里输 /purge status 能看到 DSH_HOME 路径和补丁列表,确认你用的是正确的那一份。

04

PART

工作原理

作者在 README 里附了三张流程图,我帮大家翻译成大白话。

应用补丁时

启动 dsh 或手动点”应用”后:

补丁已经生效?
├── 是 → 跳过
└── 否 → 先备份原件为 .dshpurge.bak
→ 按补丁列表替换对应文件
→ 覆盖 shim(运行时钩子)
→ 注入插件加密的默认提示词

所有改动都发生在你本机的 @deepseek-ai/* 包里和用户目录覆盖文件中。升级后原文对不上的补丁会显示”跳过”,不会乱改。

每一轮对话的提示词注入

这是 dsh-purge 最精妙的部分。每次新一轮开始时:

prompt-inject.md 有内容?
├── 是 → 用 prompt-inject.md 的内容
└── 否 → 当前目录有被勾选的本地 AGENTS.md / CLAUDE.md?
├── 是 → 用本地规则文件
└── 否 → 用插件内置的加密默认提示词
│
└── 然后检查 Workspace baseline 策略
├── strict → 去掉 DSH 原始 workspace baseline
├── fallback(默认)→ 有用户注入就去掉,没有就保留
└── always → 永远保留 DSH 原始 baseline

这样一来,你可以在不同项目里放不同的 AGENTS.md,dsh-purge 会自动根据当前目录加载。不需要手动切换配置。

Skill 不走提示词注入

Skill 是独立的——导入后写到 DSH 官方 skills 目录,由 DSH 自己加载。卸载插件时不会删你的 Skill。

///

LAST

写在最后

dsh-purge 在技术上确实有它的价值——把 DSH 的宿主拦截层和模型原始回答分开、图形化补丁管理、多模型破甲提示词切换、演练台授权机制。

这些功能叠在一起,让它在 DSH 插件生态里迅速蹿红。

但更打动我的,是作者的坦诚。

他没有搞个什么高大上的叙事,没有说”我们正在构建什么伟大的开源社区”。他直说自己被裁了,没工作了,可能去跑外卖。七天后闭源,因为要吃饭。

开源世界从来不缺 star 数和 fork 数。缺的是这种——明明白白告诉你我是谁、我遇到了什么、我能做什么、我要什么。

GitHub:https://github.com/YuJunZhiXue/dsh-purge

颜资源站长
颜资源站长 已发布 1023 篇文章

资深互联网从业者,专注AI工具研究与实战应用。长期跟踪ChatGPT、Claude、Stable Diffusion等前沿AI技术,擅长将复杂的技术概念转化为通俗易懂的教程。运营颜资源小站,致力于为中文用户提供高质量的AI教程、开源项目推荐和数字资源整理。