Xsdsh-purge-next: Core Simplified Version of Xsdsh-purge for DSH NEXT / rc.4

Introduction

The plugin model of DeepSeek Harness is “everything is a plugin”: the host is responsible for forwarding models and executing tools, while plugins can modify prompts, approval gates, and sandbox policies at runtime. People conducting red team evaluations often encounter a problem—by only looking at “whether the model answers,” they mistakenly attribute host-layer interception to model refusal. To separate these two layers on your own machine for controlled evaluation, you need a tool capable of applying patches and restoring the state.

The upstream YuJunZhiXue/Xsdsh-purge is a mature implementation on this path, but it is pinned to the official dsh 0.2.1-rc.5 (the web profile for dsh web, and the desktop profile for the desktop EXE). The newly released DSH NEXT follows a different line: the core is 0.2.1-rc.4, and the shell is DSH NEXT 2.0.21-next. The patch list and host directory structure are different, so the upstream engines.dsh exact copy targeting rc.5 cannot be used.

The Xsdsh-purge-next introduced below is designed to fill this gap: a core simplified version with the package name Xsdsh-purge-next, an independent state directory, and specifically designed to run on DSH NEXT / rc.4.

What is it

Xsdsh-purge-next is a DSH client plugin maintained by wodaimnd, with repository https://github.com/wodaimnd/Xsdsh-purge-next, package version 4.6.11-next.2, and protocol MIT. The author field in the repository’s package.json is listed as Kewei Chen <wodaimnd@users.noreply.github.com>. The repository was created on 2026-11-04 and currently has only one commit (chore: publish Xsdsh-purge-next v4.6.11-next.2).

Its positioning is defined by its own description:

Xsdsh-purge-next core simplified version (DSH NEXT / rc.4 specific; independent package name, module ID, and state directory)

The three words correspond to specific fields in package.json: the package name Xsdsh-purge-next (different from the original Xsdsh-purge), the patch file inside dsh.bundle.bundle is this repository’s own cordis.patch.yml, and the state directory dshNextCompat.dataDir is Xsdsh-purge-core. The purpose of doing this is to allow this copy to coexist with the original version without overwriting each other.

It is classified as the “client” category in the community directory, with 1 GitHub star and 1 fork. The directory page is https://www.skillhub.cn/plugins/wodaimnd/Xsdsh-purge-next. It is a community site with no official affiliation to DeepSeek.

Which host it changes for

This section must be clearly stated, otherwise it is easy to install incorrectly. The dshNextCompat in package.json specifies the target environment very precisely:

"engines": ">=0.2.1-rc.0 <0.3.0",
"verifiedRuntime": "0.2.1-rc.4",
"verifiedShell": "DSH NEXT.exe (desktopVersion 2.0.21-next)",
"dshTarget": "0.2.1-rc.4",
"flavor": "core",
"coreBuildFrom": "4.6.11-next.1",
"dataDir": "Xsdsh-purge-core",
"profileScope": "next",
"appTarget": "DSH NEXT 2.0.21-next (core 0.2.1-rc.4)"

engines.node requires >=18, and peerDependencies is @deepseek-ai/cordis: ^4.0.1.

The coexistence relationship is defined by two fields:

  • coexistence: The original version runs the desktop profile (rc.5), while this copy runs the next profile (rc.4); the state directories Xsdsh-purge-core and Xsdsh-purge are physically isolated.
  • hostScope: apply only writes to the installation root where the current process resides, avoiding modification of another DSH installation simultaneously; selfInstallHandoff ensures that within Electron, the handoff is fixed to take the current process’s resources/app.asar.

Host gaps that have been identified are also noted in the fields: in shellPatches, entries 45/46/82 have no corresponding implementation in rc.4, and the semantics of 83/84 in rc.4 have already been natively covered by the stopping judgment of fail(). Therefore, these entries are downgraded to optional/knownGap.

What capabilities are built-in

keptForCore lists the retained pages: Cleaning, Workbench, Mode Prompts, Appearance, Red Team, Reverse Engineering, and Glass Switch. removedFeatures includes wallpapers, background-music, and desktop-pet; the corresponding paths such as lib/wallpapers.js, lib/cat.js, lib/pet.js, and lib/ui/pet/90-pet.js have been removed. Moved from upstream and following the core path, only evaluation-related items are kept.

Module entry points can be found in exports, with independent entry points for Red Team and Reverse Engineering:

"./redteam": "./lib/redteam/index.js",
"./redteam/store": "./lib/redteam/store.js",
"./redteam/ui": "./lib/redteam/ui.js",
"./redteam/tools": "./lib/redteam/tools.js",
"./reverse": "./lib/reverse/index.js",
"./reverse/store": "./lib/reverse/store.js",
"./reverse/ui": "./lib/reverse/ui.js",
"./reverse/tools": "./lib/reverse/tools.js"

files includes agents, presets, skills, bin, cordis.patch.yml, and screenshots.json. There are three binaries:

"bin": {
  "Xsdsh-purge-next": "bin/Xsdsh-purge.js",
  "dsh-locate-harness": "tools/deepseek-harness-locator.mjs",
  "dsh-locate-harness-cmd": "tools/find-deepseek-harness.cmd"
}

The client injection targets are four packages: @deepseek-ai/dsh-client-connection, dsh-client-locale, dsh-client-ui-slots, and dsh-client-ui-settings, with the platform field set to web. The source tree includes test cases such as asar-swap-restart, reverse-preset, and redteam-auth under test/, and scripts like yarn gate/gate:fast are used to run linting, type checking, UI boundary checks, and packaging verification.

Installation and Enabling

First, a clarification: this fork does not rewrite the README. The README.md / README.zh-CN.md in the repository remains the full text of the upstream YuJunZhiXue/Xsdsh-purge (including sponsorship, notice on commercial violation, and legal disclaimers). Therefore, the code snippet below is the command for Xsdsh-purge provided by the upstream README, targeting the official dsh, not the deployment method for this copy. Please pay attention when referencing this.

dsh plugin --profile web add Xsdsh-purge
dsh plugin --profile desktop add Xsdsh-purge

However, the installation source declared by this copy itself is in the dsh.install field of package.json:

"install": {
  "preferred": "tarball",
  "tarball": "https://github.com/YuJunZhiXue/Xsdsh-purge/archive/refs/heads/master.tar.gz",
  "zip": "https://github.com/YuJunZhiXue/Xsdsh-purge/archive/refs/heads/master.zip",
  "git": "https://github.com/YuJunZhiXue/Xsdsh-purge.git"
}

This means the declared value points to the upstream repository, not the wodaimnd/Xsdsh-purge-next fork. Before installing, you need to compare the details: if following preferred: tarball, you get the upstream master package; to install this simplified copy, you must replace the package with the artifact from this repository yourself (for example, using local tar packaging or add . methods; the specific commands are not written in the repository). The author did not leave reproducible installation documentation here, which is currently the biggest information gap.

Typical Usage

The repository itself does not contain a usage section exclusive to this fork. The verifiable framework consists of the following points:

  1. The apply action follows the patch list cordis.patch.yml, and the write location is determined by hostScope: current-install, modifying only the installation root where the current process resides.
  2. After the patch is applied, the host needs to restart; restore and uninstall also use the same mechanism, with residueAutoClear: true used to clean up residues.
  3. The Red Team and Reverse modules are loaded via ./redteam/* and ./reverse/* in exports; the “Cleaning / Workbench / Mode Prompts / Appearance / Red Team / Reverse / Glass Switch” listed in keptForCore are the visible entry points.
  4. Host location uses dsh-locate-harness or dsh-locate-harness-cmd, which are two executable entries under tools/.

These four points are derived from the fields and file lists, not from manual testing results.

Applicable Scenarios and Notes

Suitable for: Users who want to reuse Xsdsh-purge’s red team and reverse capabilities on DSH NEXT (core 0.2.1-rc.4 / desktop 2.0.21-next) without disturbing the official rc.5 installation on the machine. It is also suitable for those who want to use cordis.patch.yml as a reference for a patch list and perform their own host adaptation.

Things that must be noted:

  • Permissions: The plugin runs with the permissions of the current dsh process. dirMode is resources/app dir patched in place for dsh-desktop-next, and apply directly modifies the current installation directory and will restart the host. Before installing, go through the source code and cordis.patch.yml one by one; do not install if you do not intend to use it.
  • Source Verification: It has 1 star, only one commit, and inherits documentation from the upstream; it is an early copy. dsh.install defaults to pointing to the upstream master, so you must confirm which repository is actually obtained before actual installation.
  • Attribution and Licensing: The upstream README clearly requires that borrowing names, ideas, code, or prompts must be credited and the source repository specified; commercial use, resale, or selling courses means “the license is void on the spot”. This fork follows these terms.
  • Compliance Boundaries: The README states that this project only acts on the official Harness installed by the user on their own machine, prohibiting scanning, probing, or attacking public network targets and unauthorized systems, and also prohibiting running on China mainland, Hong Kong, and Macao IP segments. Read the ten disclaimers yourself before using.
  • This is a community-maintained third-party copy; the README already states that there is no affiliation, no commercial cooperation, and no official endorsement with DeepSeek.

Summary

Xsdsh-purge-next does a very focused thing: it trims Xsdsh-purge down to a core simplified version, changes the package name, module ID, and state directory to be independent, allows it to run on DSH NEXT / rc.4, while coexisting with the original rc.5 on the machine. To use it for evaluation, first spend time verifying the installation source and every change in cordis.patch.yml.

  • Directory page: https://www.skillhub.cn/plugins/wodaimnd/Xsdsh-purge-next
  • Repository: https://github.com/wodaimnd/Xsdsh-purge-next
  • Upstream project: https://github.com/YuJunZhiXue/Xsdsh-purge
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye