{"full_name":"kingcharleslzy-ai/dsh-purge","owner":"kingcharleslzy-ai","name":"dsh-purge","url":"https://github.com/kingcharleslzy-ai/dsh-purge","description":"dsh-purge Community · DeepSeek Harness 社区维护版：宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。","homepage":"https://github.com/kingcharleslzy-ai/dsh-purge/releases","topics":[],"language":"JavaScript","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/260348840?v=4","created_at":"2026-10-16T07:44:27Z","pushed_at":"2026-11-08T23:41:25Z","metrics":{"stars":6333,"forks":2924,"watchers":8,"issues":83,"prs":83,"releases":97,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":538,"forks":233,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[5795,6333],"forks":[2691,2924],"watchers":[8,8],"issues_open":[null,null],"prs_open":[null,null]},"boards":{"daily":66,"weekly":194,"daily_rate":10,"weekly_rate":41,"monthly_rate":164,"new":101},"same_owner":[],"issues":[{"number":120,"title":"提示说不适配  0.2.1-rc.5 核心。  最新版dsh不能用吗","comments":5,"created_at":"2026-10-31T02:42:53Z"},{"number":98,"title":"[Feature] DSH NEXT 2.0.19-next 宿主适配：宿主发现失败、dsh-desktop-host 缺失、asar 冻结导致补丁不生效","comments":3,"created_at":"2026-10-26T15:10:52Z"},{"number":30,"title":"为什么破甲后，感觉智力变低了呢？","comments":3,"created_at":"2026-10-19T03:41:29Z"},{"number":155,"title":"[Windows][DSH 2.0.22-NEXT] 面板顶部「兼容级别」永久显示「未定位宿主」，但 hostLayoutEvidence() 实际返回正确值","comments":2,"created_at":"2026-11-06T13:47:43Z"},{"number":154,"title":"[Feature] Web 宿主上「换包状态」应显示「不适用」，而非永久 unknown_runtime 黄色警告（1.6.84 / DSH 0.2.1-rc.3 web）","comments":2,"created_at":"2026-11-06T10:20:40Z"},{"number":151,"title":"回退菜单定位偏移：composerSeat 的 will-change 使 position:fixed 相对错误容器","comments":2,"created_at":"2026-11-05T16:59:17Z"},{"number":150,"title":"希望增加按会话/工作区破，偶尔有这个需要，但不是一直有，感谢","comments":2,"created_at":"2026-11-05T15:56:59Z"},{"number":126,"title":"DSH NEXT 上「未定位宿主」：listDesktopPackageRoots 不认 app.asar-only 布局，回落到 npm 全局 CLI","comments":2,"created_at":"2026-11-02T14:31:51Z"}],"discussions":[],"latest_release":{"name":"dsh-purge Community 1.6.85","tag":"v1.6.85","published_at":"2026-11-08T14:38:09Z","body":"# 1.6.85\n\n- **#162 会话预设 ID 漂移**：子预设 ID 改为按父 ID 与受限工具集合派生，依赖索引移动不再生成新身份。兼容当前组合的旧 ID，并从可校验的历史备份恢复限制相同的别名；丢失的历史映射不猜测。\n- **#163 Web cookie 隔离**：桌面 cookie 命名只在桌面启用。Web 端精确恢复已知旧表达式，未知改写报错并保留现场。\n- **#164 旧依赖阻塞安装**：发行清单按版本固定地址；升级事务内先迁移已知的旧 `latest` 依赖，再交给包管理器解析。安装失败恢复原清单，原先停用的 bundle 继续停用。安装说明补充了卡住的旧 profile 如何用已校验本地包迁移。\n- **#165 Windows 换包回执**：记录进程创建方式、返回值与 PID，并等待助手启动回执；无回执退出报失败，过期的 `starting` 可重试。仍使用既有启动机制，报告者环境的实际拦截原因待确认。\n- 插件市场新增 **MiniMax H3 Video 0.3.0** 条目。\n- 新初始化的 profile 现在可以在安装时保留既有安装，不再被重新初始化流程覆盖。\n\n验收：macOS 主测试 564 通过、22 跳过、0 失败；隔离目录挂载旧子预设 ID，验证两个端口各自的 Web 登录与跨端口拒绝；Mac/Windows 4090 的真实 pnpm 在禁用网络解析时复现旧依赖阻塞并完成迁移；4090 的隔离 Electron Job Object 场景通过，另用主动退出的测试助手覆盖“有 PID 无回执”。#165 在报告者机器上的脚本加载限制未复现，第三方 TOTP 完整界面流程与 Android 真机未覆盖。\n\n# 1.6.84\n\n- `unauth-exploit` 现在说明如何通过已有的授权测试入口验证命令执行。每次生成新的挑战，分别提供 POSIX 和 Windows PowerShell 命令。仅能写入文件时，记录为文件写权限。\n- 随包新增 `scripts/exec-proof.mjs`，在操作端生成挑战、核对原始输出。它不连接目标，也不认证执行来源；仍须核对入口和退出状态。此次没有重新加入旧文档的 WebShell 和持久化命令示例。\n- 已在 Mac 和 Windows 4090 隔离环境运行技能中的命令；正确响应通过，原样回显、上一轮响应、混杂输出、空输出及静态文本均被拒绝。此次未修改宿主补丁、用户设置、预设和安装／回滚流程。\n\n1.6.83 未正式发行：Windows CI 的测试提取命令时只识别 LF。1.6.84 同时检查 LF 和 CRLF。\n\nWindows 从更旧版本迁移时，Defender 仍可能拦截旧包文件的完整快照；本版未修复或绕过该限制。见 [1.6.82 迁移说明](https://github.com/kingcharleslzy-ai/dsh-purge/releases/tag/v1.6.82)。\n\n# 1.6.82\n\n- Windows Desktop 换包助手现在能在宿主的 Job Object 结束后继续等待。用户手动退出后，助手校验原归档、保存备份并完成换包。见 [#89](https://github.com/kingcharleslzy-ai/dsh-purge/issues/89)。\n- pnpm 工作区的 Web 实例从当前运行的 CLI 包读取实际 bin 入口。即使工作区链接解析到 `apps/cli`，升级和回滚也能找到同一个实例及 profile。见 [#93](https://github.com/kingcharleslzy-ai/dsh-purge/issues/93)。\n- 随包技能 `unauth-exploit` 改用静态文本演示文件写权限，移除了文档中的可执行 WebShell 和持久化命令示例。原技能名称和工具入口继续可用。\n\n## 已实测通过\n\n| 环境 | 验收结果 |\n| --- | --- |\n| macOS，DSH rc.2 Web 工作区 | 分别从公开的 1.6.60、1.6.81 完整安装包升级到 1.6.82，再各自回滚。逐文件核对了旧包的 247、316 个文件，并保留备份后编辑的测试提示词。 |\n| Windows 11，RTX 4090，Defender 实时防护开启 | 用修订后文档构建的完整预发行测试包 1.6.82-rc.1 升级到 1.6.82，再从快照回滚到 rc.1。三个阶段均通过全部 316 个文件的 SHA256 校验。另测了 1.6.82 的完整安装、同版重装和快照回滚。rc.1 仅用于对照，未公开发行。 |\n| Windows 11，非管理员 PowerShell 5.1，隔离 Electron | 重现了旧助手随 Job 结束而退出。新版助手等待测试宿主完整退出后成功换包，从备份还原的 Electron 归档与原件 SHA256 一致。 |\n\n## Windows 从公开旧版迁移的已知限制\n\n1.6.60 与 1.6.81 的公开包仍含原始 `skills/redteam/unauth-exploit.md`。在受测机器上，Defender 将该内容记录为 `Backdoor:PHP/Chopper.E!dha`。有两个实际阻断位置：\n\n- **安装旧版时**，pnpm 向内容存储写入旧文件即可能失败。干净 profile 添加公开 1.6.81 时遇到了这一步。\n- **旧版已安装时**，升级前创建快照需要读取并复制旧文件。公开 1.6.60 在此处被拦，升级停止。从含原始示例的安装创建回滚前快照也可能在同一步停止。\n\n使用现有渠道更新 Defender 安全情报至 1.463.137.0 后，公开旧版往返仍未在这台 Windows 机器上通过。遇到上述情况请保留错误和原备份，核对 Defender 保护历史中的时间、文件名和检测名称。维护器需要完整快照；请勿跳过文件或把残缺备份用于回滚。\n\n[完整实测记录与修复范围（PR #148）](https://github.com/kingcharleslzy-ai/dsh-purge/pull/148)\n\n# 1.6.81\n\n- #146 接入 8 个证据账本与待查问题工具。引用和哈希匹配仅代表内容关联或一致；关闭待核实记录需要显式提交核实结果。旧记录保留，缺少核实记录的旧引用需重新核实。\n- 读取时核对实际内容。账本损坏或查询失败会报告异常；旧库可迁移至支持“撤回”的状态，操作不存在的记录会报告失败。\n- 截图及文件按当前靶标目录导入，可在其 `incoming/` 目录暂存，或直接传入内容。拒绝路径越界及指向外部的符号链接和 Windows 目录联接。\n- 已在 Mac 和 Windows 4090 的隔离环境实际调用官方 DSH 工具注册表，并验证外部标记文件完整。升级无需清空用户配置或历史证据。\n\n# 1.6.80\n\n- #143、#144：策略文案已去除品牌词的旧安装仍能完成 #61。#93 连续应用时校验三条策略文案；只匹配一部分时继续报告异常。\n- #144：首次安装到 DSH 0.2.1-rc.5 或从旧版升级时，#17 同时识别独立的写入和编辑方法。0.2.2-rc.1 继续检查共享的编辑和删除方法。未知方法保持原文件。\n- #145：Windows 换包测试保留助手退出状态、备份是否存在和原文件内容的断言；锁冲突和备份缺失仍须明确失败。感谢 PR 贡献者。\n\n---\n\n# 1.6.79\n\n## Windows CI 夹具路径修复（不是功能变更）\n\n1.6.77 的 release workflow 在 `windows-latest` 上失败，报 `windows-handoff-errors.ps1:24 FileNotFoundException`。定位结果：测试用 `path.resolve('test/fixtures/...')` 找夹具，依赖 `process.cwd()`；Windows runner 上 cwd 被外层脚本改掉后，拼出的绝对路径不存在，PowerShell 直接报找不到文件。同一 commit 的 macOS / ubuntu 全绿，1.6.78 的 release 也正常产出，说明与补丁逻辑无关。\n\n- `test/windows-electron-handoff.test.mjs` 改为用 `fileURLToPath(new URL('./fixtures/...', import.meta.url))` 定位，与测试文件绑定而非与启动目录绑定。\n- 新增 `test/fixture-paths.test.mjs`：扫描全部测试文件，禁止 `path.resolve('test/...')` 与 `process.cwd() + 'test/...'` 这类写法，并断言 Windows 交接夹具确实存在。\n\n## 验证\n\n`npm test` **544 通过 / 0 失败**。本轮不改任何宿主补丁、权限或提示词。\n\n# 1.6.78\n\n## 红队模块补两处上游能力\n\n上一轮我说\"项目没有红队模式\"是错的——`lib/redteam` / `presets/redteam` / `skills/redteam` 一直都在。真正落后的是两个新文件，这次补上：\n\n- **`lib/redteam/atomic-write.js`**：先写临时文件 + fsync 再 rename"},"readme":true,"readme_zh":true,"news":[{"title":"作者被裁险些停更！DeepSeek Harness破甲魔改项目狂揽2万Star","url":"https://www.sohu.com/a/1098466837_122980439","source":"搜狐","lang":"zh","date":"2026-11-07"},{"title":"【GitHub日報】NVIDIA/auto-ontologyが+2,707で首位交代、jailbreakツールdsh-purge初登場 — 2026-11-06","url":"https://note.com/coderadar/n/n778682993ce3","source":"note","lang":"zh","date":"2026-11-05"},{"title":"dsh-purge 教程：DeepSeek Harness 破甲补丁与提示词切换，15 分钟装完并验证","url":"https://blog.csdn.net/gitblog_01098/article/details/167670376","source":"blog.csdn","lang":"zh","date":"2026-11-04"},{"title":"dsh-purge 5分钟完整安装指南：DeepSeek Harness 红队评测插件一键安装与应用","url":"https://blog.csdn.net/gitblog_00082/article/details/158166040","source":"blog.csdn","lang":"zh","date":"2026-10-20"},{"title":"dsh-purge 上手：五分钟看懂它清理的是什么、怎么安全删","url":"https://blog.csdn.net/gitblog_00278/article/details/168450679","source":"blog.csdn","lang":"zh","date":"2026-10-19"},{"title":"逆向 / 安全研究项目里的 Agent 工具链：deva + dsh-purge + Cline Pass 实战配置","url":"https://news.google.com/rss/articles/CBMiY0FVX3lxTE1GLXBFVXhYdmdsRmlWOVd2OThocC0xNEEwNFN1eUdlMEl4cG9vOEZMNjczbVF6UzNBT0JUeW1GemhYbVB4eVo0NXlJSDAyWXdTV3VWMkh4dXZCYWJjSEhOX2hUNA?oc=5","source":"黑海洋Wiki","lang":"zh","date":"2026-10-20"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}