Foreword¶
When running agents in DeepSeek Harness (DSH), the model’s capabilities are often sufficient, but they can be blocked by the harness’s default policies: approval gates, sandbox fences, tool guards, identity and preset injections, layered one upon another. The community previously had Purge-type plugins dedicated to “gate removal” and prompt management. After the upstream dsh-purge stopped updating on newer versions of the DSH desktop edition, anchor drift occurred, making installation difficult to verify; furthermore, upgrading DSH often led to host loading failures or preset registration exceptions.
Below is an introduction to dsh-purge-plus (Purge Community Plus), maintained by luowang-ui under the SkillHub category admin-security. While retaining the upstream MIT license and capability orientation, it performs item-by-item regression testing for DSH Desktop 0.2.1-rc.x, and fixes community issue #119 (fatal load failure during host loading) as well as issues such as residual toolFilter in presets causing redteam preset registration failures. Current release information is subject to the repository: the README states 1.6.0, adapted for 0.2.1-rc.2 (rc.1 also passes); the version in package.json is 1.6.1, with the description specifying the aforementioned fixes relative to 1.6.0.
What is this¶
dsh-purge-plus is a jailbreak / armor-breaking and prompt, rule, and skill management plugin for DSH. The CLI entry point is purge-community (while retaining dsh-purge). It adjusts approval, sandbox, and turn-layer behaviors via 83 host patches, and provides 27-layer armor-breaking self-checks, a full-page Purge panel in the sidebar, and installation with SHA256 verification and automatic backups.
The plugin is only responsible for relaxing the harness and host default policies; it does not judge for the model whether a specific action should be taken. The final output still depends on the model itself. Before installation and “applying” patches, you should read the source code and the MIT License yourself, and be aware that the plugin runs with the current DSH process permissions.
What has been improved compared to the original maintenance branch¶
The README uses a table to compare the capabilities of the original 1.1.71 and this branch’s 1.6.0. The key points are as follows (details are subject to the repository README):
| Dimension | This Branch’s Focus |
|---|---|
| Host Adaptation | Item-by-item regression for 0.2.1-rc.2; compared to versions that only reached 0.1.7 / 0.2.0 and where upstream stopped updating |
| Patches | 83 items (including non-blocking ask_user_question), with individual status and drift diagnosis |
| Acceptance | selfcheck 27-layer tri-state evidence + probe to verify if injection reaches the model |
| Panel | Full page in sidebar: status summary, enlarged “Apply”, descriptions in ? |
| Presets | Comes with “Unrestricted Mode”: standard superset, only changing execution priority persona |
| Audit & Backup | audit.jsonl records; automatic snapshots before application/installation/rollback (see README for count, retention strategy, and deduplication) |
| Prompts | Tail armor-breaking reinforcement segment (enabled by default); injection position can be head / tail / both |
Source: Upstream YuJunZhiXue/dsh-purge (Author: Xiaoyang, MIT); this repository independently maintains the release and update source.
Core Functionality: Four Layers of “Gates” and Self-Checks¶
The documentation summarizes interception into four layers, which the plugin addresses layer by layer (meaning derived from the README section “What does it dismantle”):
| Gate | Dismantling Method (Summary) |
|---|---|
| Model Layer | High-priority injection via prompt-inject.md; stripping official identity sentences; tail reinforcement segment |
| Approval Layer | Automatic approval granting, never bypass, fail-open when no UI, run_code / tool ask pass-through, etc. |
| Sandbox Layer | Direct pass-through for confine(), disabling fs fences, neutralizing observation policies and refusal scripts |
| Turn Layer | Disabling duplicate tool guards and result pruning, Auto Review non-veto, short wait for ask_user_question, sending messages in UI creates a new turn |
Armor-breaking self-checks do not rely on subjective feelings; they use commands to provide applied / required or “not applicable currently” for each layer:
purge-community selfcheck # Human-readable
purge-community selfcheck --json # Machine-readable
Panel path: Purge in the sidebar, with six tabs—Status, Prompts, Rules/Skills, Drill Pad (including Red Team skills, etc.), More (Updates & Backup). Noun explanations are in the ? next to the titles.
Preferences are written to $DSH_HOME/dsh-purge/tuning.json, for example:
{ "boost": true, "injectPosition": "head", "askNoBlock": true }
injectPosition options are head (saves tokens), tail (less multi-turn decay), both.
Installation and Activation¶
Official one-line installation (do not splice other dsh plugin add forms yourself):
curl -fsSL https://raw.githubusercontent.com/luowang-ui/dsh-purge-plus/master/scripts/install.sh | sh
The script will: locate DSH desktop edition → download latest release package → verify SHA256 → run installer with DSH’s built-in runtime (backup profile first, then merge old Purge entries).
After the above steps:
- Completely quit and reopen DSH
- Click Purge in the sidebar → Click Apply at the top of the status page
- Quit and reopen again
If you prefer not to use the script, the README provides a three-step example for manually downloading dsh-purge-plus-$V.tgz, verifying SHA256SUMS.txt, and invoking community.js migrate (including macOS application path), with the version variable example being V=1.6.0.
After official DSH updates: If app.asar reappears, the panel will prompt that the host is still sealed inside asar → click Apply again and restart; for anchor drift, use diagnose to check items and fragments, and use reanchor apply if necessary.
Typical Usage: CLI¶
Daily operations and verification commands (excerpted from README):
purge-community status # Host / patch overview
purge-community selfcheck # Armor-breaking self-check (ok / pending / failed)
purge-community diagnose # Drift diagnosis
purge-community reanchor apply <id> --lines A-B --yes # Local override anchors
purge-community probe new # Generate probe to verify injection reaches model
purge-community boost on|off # Tail reinforcement segment (default on)
purge-community preset install # Install built-in "Unrestricted Mode" preset
purge-community audit --limit 20 # Recent action records
purge-community usage | prune # Backup usage / cleanup
purge-community apply|revert|uninstall|edit
For decision trees for agents and patch table descriptions, see the repository AGENTS.md.
Directions when problems occur (README summary):
# App won't open (macOS example: restore sealed package)
R="/Applications/DeepSeek Harness.app/Contents/Resources"; mv "$R/app.asar.bak" "$R/app.asar"
purge-community revert # Only rollback host patches
purge-community rollback <backup-id> # Rollback plugin, retain current prompts and rules
Applicable Scenarios and Notes¶
Who it is for: Developers or advanced users who need to continue using Purge capabilities on DSH Desktop 0.2.1-rc.1 / rc.2 (README states regression passed) and want to use self-checks and diagnosis to prove “whether the channel is open”. For other DSH versions, the README allows application but marks them “unverified”; you should run selfcheck / diagnose first. Windows / Web profile paths are retained, but documentation notes no end-to-end acceptance testing has been done.
Important Notes:
- Category is admin-security, modifying host and policy surfaces, which are highly sensitive operations; check source code, NOTICE, and license before installation, and understand backup and rollback paths.
- The plugin is not published under the DeepSeek / High-Flyer official identity; the community directory SkillHub Plugin Page is an independent ecosystem site. It aligns with the “Everything is a plugin” philosophy of DSH but is not an official app store.
- Repository public metrics (clues at time of writing): GitHub 21 stars, 10 forks; subject to real-time data on the page.
Conclusion¶
dsh-purge-plus connects the Purge capabilities of the stagnant upstream to DSH 0.2.1-rc.x. With 83 patches, 27-layer self-checks, and auditable backup/rollback, it turns “whether it’s bypassed” from a feeling into a reproducible command. To view the introduction and category, open the SkillHub Directory Page; for installation, panel, and CLI, refer to the GitHub Repository README.