dsh-purge
DeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐
- Stars
- 250
- Language
- JavaScript
- Created
- Aug 19, 2026
- Updated
- Sep 1, 2026
Introduction
dsh-purge
Version 1.3.0
DeepSeek Harness jailbreak (破甲): every model can jailbreak; swap prompts per model. Default prompt for Chinese models — 小码酱. Please star ⭐
Aligned with dsh 0.1.1-rc.2. On other versions, unmatched originals stay pending or skipped. Nothing is rewritten blindly.
What this is
dsh-purge is a settings plugin for DeepSeek Harness:
- Updates default copy, permission policy, and tool limits in the installed
@deepseek-ai/*packages - Adds a Rules card: grouped patches, Apply / Restore, session override editor, multiple rule sets
- Re-applies on start after an npm upgrade overwrites
node_modules - No hardcoded drive letters:
$DSH_HOME,.dshnext to the dsh launcher, then~/.dsh
It does not patch the Harness source tree. Use Apply on the settings page.
Preview
The Rules card appears on the dsh web settings page. Switch Light / Ink. Patches are grouped; the count only includes items that actually applied. Rule sets sit in a list above the editor, with Enable and Delete on each row.
Patches

Rule sets

| Area | What it shows |
|---|---|
| Light / Ink | card appearance |
| Patches | grouped status, Apply or Restore |
| Prompt | edit prompt-inject.md as the session override |
| Rule sets | multiple AGENTS.md / CLAUDE.md; Enable writes under $DSH_HOME, Delete removes the row |
Layout
dsh-purge/
├── lib/
│ ├── core.js # path detect, patches, backup/restore, shim, override file
│ ├── identity.js # operator prompt wins over harness persona
│ ├── index.js # plugin: commands, tools, systemPrompt, HTTP
│ ├── rules.js
│ ├── restart-web.js
│ └── default-prompt-inject.md
├── client.js # settings UI
├── bin/dsh-purge.js
├── docs/
│ ├── banner.svg
│ ├── banner-dark.svg
│ ├── appreciate.png
│ └── preview/
│ ├── settings.png
│ └── rules.png
├── cordis.patch.yml
├── package.json
├── README.md
├── README.zh-CN.md
└── LICENSE
Runtime user files: $DSH_HOME/prompt-inject.md, $DSH_HOME/rules/. If DSH_HOME is unset, the launcher-adjacent .dsh wins over ~/.dsh.
Install
Web and desktop install the same plugin into their profile. Restart afterwards; the Rules card shows up on the settings page.
Official CLI
git clone https://github.com/YuJunZhiXue/dsh-purge.git
cd dsh-purge
# Web
dsh plugin --profile web add .
# Desktop
dsh plugin --profile default add .
GitHub zip:
dsh plugin --profile web add https://github.com/YuJunZhiXue/dsh-purge/archive/refs/heads/master.zip
dsh plugin --profile default add https://github.com/YuJunZhiXue/dsh-purge/archive/refs/heads/master.zip
Third-party / plugin market
Install dsh-purge from the Web or desktop plugin settings, or open the repo from awesome-dsh-plugin and run dsh plugin add as above.
Uninstall
Click Restore on the settings page if you need patches undone, then:
dsh plugin --profile web remove dsh-purge
dsh plugin --profile default remove dsh-purge
Plugin config lives in cordis.patch.yml:
- insert:
- id: dsh-purge
name: 'dsh-purge'
config:
enabled: true
autoApplyOnStart: true
autoRevertOnMissing: false
verbose: false
postPromptOrder: 5100
postPrompt: ""
postPrompt is empty by default.
Verify
- After restart, the Rules card is on the settings page. Hard-refresh (Ctrl+F5) if the client bundle is cached.
- Click Apply, then Restart when prompted.
/purge statusprintsDSH_HOMEand the patch list.- Skipped items are expected when a target file is absent (for example #20 / #21 without
dsh-web-fetch-http).
Usage
dsh-purge --status
dsh-purge --apply
dsh-purge --revert
dsh-purge --edit
/purge status | apply | revert | edit | help
/rules list | use <id> | create <id> | delete <id> | reset | help
purge_status purge_apply purge_revert
Patched packages load only after a restart. Apply does not restart by itself.
Local checks
node --check lib/index.js
node --check lib/core.js
node --check client.js
How it works
Apply (on start or by hand):
patch not applied? ──no──> skip
│yes
├─> backup <file>.dshpurge.bak
├─> apply matching replacements
├─> override shim (dsh.cmd / dsh.ps1 / unix dsh)
└─> ensure prompt-inject.md exists (write the default if empty)
Override (each session):
prompt-inject.md has content? ──yes──> write it as a systemPrompt section
│no
└─> no override section
Restore
- Each target is copied to
<file>.dshpurge.bakbefore the first apply. - Restore or
/purge revertcopies backups back and deletes them. With no backup, shim lines written by this plugin are stripped. prompt-inject.mdis a user file and is kept.- Apply is idempotent.
Path detection
DSH_HOME/DSH_BASE.dshnext to the dsh launcher (portable install, any drive)- DSH Desktop
app.asar.unpacked/node_modules/@deepseek-ai npm prefix -g/npm root -g- Nested
@deepseek-ai/dsh/node_modules/@deepseek-ai ~/.dsh
If nothing is found, set DSH_BASE. No files are changed.
Notes
- Scope is rendered copy, defaults, and runtime logic inside local
@deepseek-ai/*packages, plus override files and rule sets under the harness home. - After an upgrade, unmatched originals surface as
pattern_not_foundor pending. - Third-party plugins outside
@deepseek-aiare left alone. - The npm package name is not published yet. Install from GitHub or
dsh plugin add ..
☕ 赞赏支持 / Sponsor
Built by 小杨 · for DeepSeek Harness
Thanks to the LINUX DO community