AI 助手不执行某个任务,原因一定在模型吗?
对于带有工具调用、需要审批以及使用沙箱的代理来说,阻止请求的也可能是宿主。只关注聊天的回答,很容易把两者混为一谈。
dsh-purge 正是针对上面这些差异点而设计的。它由 YuJunZhiXue 开发,是一款安装在本地 DeepSeek Harness 上的插件,可用于网络安全红队测试。它和 DeepSeek 官方没有任何隶属或支持关系。

不过在介绍它之前,有一件事得先讲清楚:目前这个分支并不是开源软件。
仓库公开,并不意味着开源
目前 README 标注的版本号是 1.1.71,LICENSE 也明确写着使用商业软件许可协议,并不是 MIT 授权协议。
作者允许用户把已经获得的安装包装到自己电脑里自用;但如果要进行分发、销售、白标以及培训交付等用途,则需要另外获得授权。
换证之前按照 MIT 发布的旧标签和发行包,仍然沿用当时的许可文件来控制,不能把旧的许可证套用到现在的分支上。
作者表示从 2026 年 10 月 27 日开始转为闭源,并且不会再在 GitHub 上发布新版本。不过这是对未来的规划,并不是已经发生的事情。
如果你是为了“随心所欲地修改和传播”而来的,那么许可证的变化远比功能列表更重要。
它关注的是模型之外的运行环境
普通的聊天界面主要是把输入交给模型。而 Agent 宿主还要负责组织系统提示词、管理各种工具的权限、设定审批流程,以及创建执行环境等等。
dsh-purge 的设计目的,就是让用户在自己的本机 Harness 上对宿主侧的因素进行修改,从而帮助完成受控测试。它不只是一个提示词编辑框,也不能因此就说它能让所有模型通过所有测试。
README 提供了两条主要路径:一是给本地已安装的宿主包打上补丁,并在操作之前留好备份;二是对会话使用的提示词以及规则进行控制。

Skill 用的是 DSH 官方系统来加载,Skill 不会全部塞进提示词覆盖段。

界面上有“清洗”和“演练台”两个部分。“清洗”主要用来修改补丁、提示语以及规则之类的设置;“演练台”则在获得授权之后,才会显示资产、技能以及本地环境的内容。

我觉得它提出的问题更值得思考:答案改变的时候,到底是模型本身变了,还是周围的环境也一起变了?
如果同时更换提示词、调整权限、更改执行策略,那么即使任务完成了,也很难判断是哪个环节起了作用。做对照实验时,要尽量保持模型、任务和环境不变,逐一记录每个变量的变化情况,而不是只截一张“成功回答”的图片。
准备体验,先看版本和边界
目前文档列明支持官方的网页版和桌面版,最新版面向 dsh 0.2。桌面上可以使用的版本有 0.2.0-rc.2 和 0.2.1-rc.2,社区的桌面端不包含在内。
它不是独立运行的聊天软件。网页版和客户端使用不同的用户配置文件,需要分别安装、分别应用。
文档中提到需要 Node.js 18 或更高版本。在 Windows 系统中实现无闪窗,则需要 Node.js 22 或更高版本;并且特别说明不可以直接通过 npm 包名来安装。
在隔离的授权实验环境里,按照 README 的要求选好安装方式之后,还需要再打开一次对应的宿主程序,并在插件“清洗”页面上点击“应用”。
如果应用成功,宿主会自动重启,然后就可以开始新一轮对话了。把插件加入 profile,并不意味着当前进程已经打上了补丁。

另外还要注意启动行为:文档配置默认开启,在启动时进行检查并应用补丁。恢复环境时,要分清“还原”与“卸载”的区别——“还原”会保留用户提示词文件,“卸载”会先执行还原,再清理相关注入文件、规则库和插件本身。
使用范围应限于有权管理的本机、离线靶标或书面授权的演练环境。插件的确认页、名单以及备份机制,都不能代替目标授权,也不能作为安全保证。

真正应该保留的是评价方式
dsh-purge 展现出一个容易被忽视的问题:评测 Agent 时,不应该只看它的回答如何,还应该记录宿主做了什么。
但“可以修改宿主”并不意味着结果就更可靠。缺少对照和变量记录之后,反而更难复现。
对研究人员来说,这可以作为研究“模型和宿主一起怎样改变行为”的一个样本。对于准备长期依赖它的人,许可证变化、版本适配以及后续维护渠道,都应该排在尝鲜之前。
项目地址:https://github.com/YuJunZhiXue/dsh-purge
如果你对 Agent 宿主与模型之间的交互机制感兴趣,想系统了解如何通过技能系统来组织工具调用和子代理行为,Skill 用的是 DSH 官方系统来加载 这一思路在吴恩达的 Claude Skills 课程中也有完整的拆解,值得对照着看一看。