多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

dsh-purge无盘符路径检测实战:跨Web/桌面/官方EXE三种宿主如何精确定位DSH_HOME

dsh-purge无盘符路径检测实战:跨Web/桌面/官方EXE三种宿主如何精确定位DSH_HOME dsh-purge无盘符路径检测实战:跨Web/桌面/官方EXE三种宿主如何精确定位DSH_HOME【免费下载链接】dsh-purgeDeepSeek Harness 破甲让所有模型都能破甲不同模型可换不同提示词默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐项目地址: https://gitcode.com/gh_mirrors/ds/dsh-purgedsh-purge是 DeepSeek Harness 的本地红队评估插件它的第一道关卡就是找到 Harness 的数据根目录DSH_HOME提示词补丁、规则集、Skill 全部落在这个目录下。它不写死任何盘符而是按固定优先级自动探测让同一套代码在 Web 宿主、桌面端、官方 EXE 三种形态下都能精确命中。本文带你实战看懂这条检测链。什么是 DSH_HOME为什么不能写死路径DSH 的数据目录因安装方式而异Web/CLI 安装npm 全局安装后.dsh可能紧挨着dsh启动器绿色目录、自定义 prefix桌面端 / 官方 EXE数据可能放在 EXE 旁边、AppData或 macOS 的应用支持目录手动迁移用户可能通过环境变量DSH_HOME显式指定。如果代码里写死C:\Users\...\dsh换一台机器就全盘失效。因此 dsh-purge 采用无盘符路径检测策略按优先级逐层候选谁存在用谁核心入口是 findDshHome。四级检测链DSH_HOME 定位的完整顺序findDshHome的判定顺序只有一条主线优先级检测项适用宿主源码1环境变量DSH_HOME全部core.js#L1419-L14202桌面安装目录旁.dsh/dsh-home桌面端、官方 EXEcore.js#L1421-L14263dsh启动器旁的.dsh便携目录Web / CLIcore.js#L1429-L14324~/.dsh含 WSL 回退 Windows全部兜底core.js#L1433-L1437判定一个目录是否长得像 DSH_HOME只需看目录名是否为.dsh或dsh-home见 isDshHomeDir。整个过程不出现任何盘符字面量Windows、macOS、Linux 通用。Web/CLI 宿主启动器旁检测便携模式Web 宿主的检测分两步找启动器目录findShimDir从PATH里定位dsh可执行文件所在目录Windows 上刻意不调用where.exe避免闪控制台非 Windows 走command -v dsh。沿祖先目录找.dshportableHomeFromLauncher依次检查启动器目录本身、上一级、上两级npm prefix 场景命中.dsh即返回。这意味着你把整个 Harness 挪到D:\tools\dsh\并把.dsh放在旁边插件照样能跟着走——这就是无盘符便携的关键。npm 覆盖node_modules后reapply 会在重启时依据同一套检测重新应用补丁无需手改路径。桌面端与官方 EXE进程旁 AppData 注册表桌面形态的识别靠 detectSurface检查进程名是否为DeepSeek Harness.exe/DSH Desktop、resourcesPath是否落在resources/树内等特征surface.js#L18-L36避免把同名 monorepo 仓库误判为桌面安装。识别为桌面宿主后desktopHomeCandidates 按序生成候选EXE 所在目录findDesktopAppExecutable及其下一级的.dsh/dsh-homeprocess.resourcesPath反推的安装树listDesktopInstallRoots 汇总的安装根EXE 旁目录、注册表DisplayIcon/UninstallString反查、Local\Programs\DSH Desktop、Program Files\DeepSeek Harness等常见位置desktop.js#L253-L275固定猜测目录 desktopDshHomeGuessesWindows 的%APPDATA%/DeepSeek Harness/dsh-home、%LOCALAPPDATA%/...macOS 的~/Library/Application Support/DeepSeek Harness/dsh-home。官方 EXE 更新场景official-update.js在重启时改跑deepseek-harness-版本-win-x64.exe安装包装完再解开 asar 重新打补丁期间DSH_HOME始终指向旧目录数据不丢。WSL 互操作一个容易漏掉的兜底在 WSL 里跑 Web 宿主时~/.dsh并不存在真正的数据在 Windows 侧。findWslWindowsDshHome 会检测/mnt/c/Users是否存在或WSL_DISTRO_NAME已设置逐个用户名目录找.dsh命中即返回——盘符C:被抽象成了挂载点代码里依旧没有写死任何字母盘。验证检测是否生效会话内执行/status一类命令输出里会直接打印当前解析到的DSH_HOMEindex.js#L113红队相关配置统一读process.env.DSH_HOME || ~/.dsh如 redteamRoot与主检测链保持一致若怀疑宿主误判可显式导出DSH_HOME强制命中第一优先级这是排查问题最快的手段。常见问题Q我改了 Harness 安装目录补丁会失效吗不会。Apply 之后宿主重启会走 reapply 复检路径检测链重新定位新目录即可。Q为什么桌面端不借用 Web 启动器旁的.dshfindDshHome 中桌面宿主只走桌面候选链避免把 Web 与桌面的数据串在一起——这也是精确定位的一部分。Q环境变量和自动检测冲突时听谁的永远听DSH_HOME环境变量它在第 1 优先级直接短路返回。小结dsh-purge 的路径检测设计可以浓缩成一句话环境变量优先宿主特征决定候选集目录名校验兜底全程零盘符硬编码。理解 findDshHome 这条四级链你就能在任何安装形态下预判 DSH_HOME 的落点也为自研跨宿主插件提供了可直接借鉴的路径解析范式。【免费下载链接】dsh-purgeDeepSeek Harness 破甲让所有模型都能破甲不同模型可换不同提示词默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐项目地址: https://gitcode.com/gh_mirrors/ds/dsh-purge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表