WoYun520/dsh-purge
安全给 DeepSeek Harness 打补丁、按模型替换默认提示词的插件,附带备份与还原。
这是给已经在用 DeepSeek Harness 的人准备的补丁工具:它改宿主文件来换默认提示词,而不是另起一个独立 Agent。README 自己也把它定位成技术参考,所以把它当成在你自己可控环境里的实验更合适。
解决什么问题
你打开 DeepSeek Harness 开一个会话,拿到的是宿主自带的默认提示行为。如果想跨会话固定一套提示词——自定义规则集、项目级注入、按模型切换——常规做法是找到提示词文件、手动改、再记住改过什么。这既麻烦,又容易和宿主升级打架。dsh-purge 换掉的就是这一步:点 Apply 或执行 --apply,它先备份命中的文件,再替换并注入插件自带的加密默认提示词,然后重启宿主让打过补丁的包生效;revert 则把备份还原回去。
有什么不同
它的机制是和宿主版本绑定的文件级补丁,而不是一个提示词叠加接口。README 明确写了 1.1.71 只支持 dsh 0.2,dsh 0.1.7 要用 1.1.39 或更早;对不上的补丁会留作 pending 或跳过,不会被盲目改写。Apply 是幂等的,每个目标在首次应用前会复制成 .dshpurge.bak,卸载时会先还原再删除插件。此外每一轮都有提示词注入的判断:激活规则库会写入 prompt-inject.md,当前目录的 AGENTS.md / CLAUDE.md 也可能被纳入,工作区策略(strict / fallback / always)决定先后顺序。
代价是耦合。这是一个改动另一个应用文件的插件,每次 DSH 发版都可能挪动目标位置。README 已经把兼容性拆成两条 dsh 线,并要求 Web 和桌面端分别安装——Web 装了不会覆盖桌面端。备份和幂等 Apply 让操作在文档步骤内可以回退,但这不等于保证以后宿主更新后你的补丁状态仍然完好;这部分维护要你自己承担。
谁值得试
适合:已经在用 dsh 0.2、希望跨会话保持统一默认提示词、按项目维护本地规则文件的人,并且愿意在插件命令失败或 dsh 不在 PATH 时按手动步骤去找 $DSH_HOME。手动路径之所以重要,是因为 README 提醒一台机器上常有两个 home,只能改你实际启动的那个 profile。
不适合:还停在 dsh 0.1.7 却指望用当前版本的人——他们需要旧 tag;想要一个完全不碰宿主文件的提示词工具的人;以及同时跑 Web 和桌面端、又不打算分别应用的人。如果你本来就没在用 DeepSeek Harness,这个项目对你没有意义。
使用条件与边界
需要 Node.js 18 或更新版本、dsh 0.2(官方桌面 0.2.0-rc.2 或官方 dsh web),并配上对应的插件线:0.2 用 1.1.40+,0.1.7 用 1.1.39 或更早。Web 和桌面是两套安装,因此维护上是两个 profile、各自一份补丁状态。插件配置放在 cordis.patch.yml,postPrompt 默认为空,还有 autoApplyOnStart、autoUpdateOnStart 等开关;这些该不该开,是安装时要决定的事。
卸载会先还原已应用的补丁再重启宿主,prompt-inject.md 作为用户文件会被保留。还原依赖 .dshpurge.bak 备份;没有备份时,会清掉插件写入的 shim 行。这些都不构成对后续 dsh 更新会怎样处理你补丁文件的承诺。应用前请读项目说明和手动安装步骤。
HotRepo 点评
HotRepo 从 2026-10-24 开始记录这个仓库,距今 4 天。在 JavaScript 的新项目榜上,它于 2026-10-25 显示 433 总星、第 7 名——这是一个带日期的快照,不是当日增长量。由于没有可比的日榜历史,仅凭这些信号还无法判断它的持久度。
应用之前具体要核对的是:你装的 dsh 版本是否匹配对应插件线,README 自己给出的版本分界就是第一道门槛。
本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。