dsh-purge:DSH 0.2.1 系列的提示词注入与宿主补丁管理

前言

在 DeepSeek Harness(DSH)里做本地智能体开发时,常见需求包括:调整系统提示、切换规则集、导入 Skill,以及在不改上游仓库的前提下对桌面/Web 宿主做有限补丁。官方能力有边界,社区里也有人维护「破甲/清理」类工具,但版本要跟 DSH 的 0.2.1-rc 线对齐,且补丁是否真正生效还要区分「写进目录」和「运行时是否读到」。

下面介绍维护者 dongliuwuzhong-arch 在 GitHub 上的兼容分支 DSH-purge(插件包名 dsh-purge,当前版本 1.2.3,MIT)。它基于上游 YuJunZhiXue/dsh-purge,面向官方桌面与 Web 的 0.2.1-rc.2 / rc.3 / rc.5,在会话侧提供 Clean 侧栏,统一管理补丁、注入提示、规则集、Skill 与网络白名单;不会在安装插件时自动改宿主,只有显式 Apply 才会写入补丁。

这是什么

dsh-purge 是 DSH 的提示词与宿主补丁插件:在会话标题旁增加 dsh-purge 入口,打开右侧 Clean 页面。运行时状态落在 $DSH_HOME(如 prompt-inject.md、rules/、skills/、net-scope-allow.txt、dsh-purge/ 等)。插件源码位于 $DSH_HOME/plugins/dsh-purge;profile 下的 node_modules/dsh-purge 是安装时拷贝,改源码后需 dsh-purge --sync 或重装同步。

社区目录 SkillHub 条目 将其归类为 admin-security;该目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系。DSH 生态理念是「一切皆插件」,本文仅描述该仓库 README 与 package 中可核对的能力。

核心功能

Clean 侧栏

区域 作用
Patches 分组展示补丁状态,支持 Apply、Restore、Uninstall
Prompt 编辑 prompt-inject.md 作为会话级覆盖
Rule sets 管理 AGENTS.md / CLAUDE.md 规则集;启用后写入当前 $DSH_HOME
Skills 从 zip 或目录导入到宿主官方 skills/<id>/SKILL.md
Own servers 在 net-scope-allow.txt 中按行登记 IP 或精确主机名
Rewind 通过官方 session.fork({ atSeq }) 或 /rewind 回退一轮

默认注入文案在构建时嵌入插件,不会读取磁盘上宿主自带的 prompt 文件;prompt-inject.md 为用户文件,Revert/Uninstall 默认保留。规则集可切换,写入 $DSH_HOME/rules/;工作区策略支持 strict / fallback / always,控制是否保留 DSH 工作区基线段。Skill 不参与 inject 段,卸载插件不会删除用户已导入的 Skill。

补丁系统

补丁表当前定义 85 条(与桌面侧栏统计、CLI --status 默认 Web 面统计可能不一致,README 说明这是预期现象)。首次 Apply 前对每个目标备份为 <file>.dshpurge.bak,重复 Apply 幂等。Restore 从备份还原并删除备份;备份缺失时至少剥离插件 shim 行。Uninstall 先还原已应用补丁,再移除注入文件、规则库与插件本身。若目标文件已有补丁标记,插件拒绝伪造「相同」备份并在状态中点名文件。

桌面官方包若仍存在 resources\app.asar,Electron 解析顺序为 app.asar → app → default_app.asar,补丁只写到解压目录 不会被加载;可靠判据是状态面板是否仍显示 ✗ app.asar: still present。自 1.2.1 起升级后 asar 自愈见仓库 docs/SEALED-ASAR.md。

CLI、会话命令与模型工具

命令行:

dsh-purge --status
dsh-purge --apply
dsh-purge --revert
dsh-purge --uninstall
dsh-purge --edit
dsh-purge --sync

会话内:

/purge status | apply | revert | uninstall | edit | help
/rules list | use <id> | create <id> | delete <id> | reset | help
/skills list | import <zip-or-folder> | create <id> [description] | delete <id> | help
/rewind

模型侧工具:purge_status、purge_apply、purge_revert。

安装与启用

该包 不在 npm 上,add dsh-purge 会 404。需从仓库归档、本地目录或离线脚本安装。

官方 Web

dsh plugin --profile web add <本仓库 archive 或 main.tar.gz URL>

官方桌面

普通 dsh CLI 不接受 --profile desktop,需使用安装目录内自带的 desktop CLI:

NODE="<DSH install>/resources/runtime/primary-runtime/dependencies/node/bin/node.exe"
CLI="<DSH install>/resources/app/dsh/node_modules/@deepseek-ai/dsh-desktop-host/lib/cli.js"

"$NODE" "$CLI" plugin --profile desktop add <本仓库 archive 或 main.tar.gz URL>

若安装仍带 resources/app.asar,将路径中的 resources/app/ 改为 resources/app.asar/。

离线安装(README 推荐)

脚本不跑 pnpm、不联网、不自动 Apply 补丁:

node scripts/install-offline.mjs --profile desktop --dsh-home "$HOME/.dsh" --dry-run
node scripts/install-offline.mjs --profile desktop --dsh-home "$HOME/.dsh"
node scripts/install-offline.mjs --verify --profile desktop --dsh-home "$HOME/.dsh"

或指定 zip:

node scripts/install-offline.mjs --zip dsh-purge-1.2.3.zip --profile desktop --dsh-home "$HOME/.dsh"

安装器校验包、复制到 $DSH_HOME/plugins/dsh-purge、更新 profile 的 package.json、链接 node_modules/dsh-purge 并写入 desktop-install.txt。

兼容与环境

  • 官方桌面:DSH 0.2.1-rc.2 / rc.3 / rc.5;官方 Web:dsh web 的 0.2 线
  • Node.js >= 18;Windows 建议 >= 22 以减少控制台闪屏
  • Web 与桌面分别安装、分别 Apply,各有 profile 与 $DSH_HOME
  • 0.1.x 不支持;Community Desktop 未维护

典型用法

建议顺序(来自 README):

  1. 安装并完全退出后重启宿主。
  2. 打开 dsh-purge → Clean,查看补丁分组与状态。
  3. 如需先改 Prompt 或规则集,在 Apply 前完成编辑。
  4. 点击 Apply;成功后会重启宿主一次,补丁进入运行进程。
  5. 新开会话;已有会话不会自动加载旧 prompt。

安装后应出现侧栏按钮;/purge status 应打印当前 DSH_HOME 与补丁状态。仅把插件加入 profile 不会改宿主,默认配置不会替你点 Apply。

手动安装概要:确认运行中宿主使用的 $DSH_HOME(含 profiles/ 与对应 dsh-profile-web / dsh-profile-desktop);将插件置于 $DSH_HOME/plugins/dsh-purge;在 profile 的 package.json 增加 "dsh-purge": "file:../../plugins/dsh-purge" 与 bundle 项;Windows 下建立 Junction 链到 node_modules/dsh-purge;重启后在 Clean 中 Apply。细节见仓库 README「Manual install」。

适用场景与注意

适合需要在 DSH 0.2.1-rc.2 / rc.3 / rc.5 上集中管理注入、规则、Skill、补丁还原,并愿意自行承担宿主修改风险的本地开发者。插件以 当前 dsh 进程权限 运行,Apply 会改宿主文件;安装前应阅读源码、LICENSE 与 docs/SEALED-ASAR.md,确认与自身合规要求一致。

Web 与桌面补丁面不同,勿混用同一套「已 Apply」假设。编辑 $DSH_HOME/plugins/dsh-purge 源码后记得 dsh-purge --sync。

结尾

dsh-purge 1.2.3 把上游补丁体系延续到 DSH 0.2.1 系列,用 Clean 侧栏和显式 Apply/Restore 把提示、规则、Skill 与宿主补丁收在一处,并强调桌面 asar 密封与备份回滚。进一步了解可查看社区目录页与仓库 README(含中文版 README.zh-CN.md)。

  • 目录页:https://www.skillhub.cn/plugins/dongliuwuzhong-arch/DSH-purge
  • GitHub:https://github.com/dongliuwuzhong-arch/DSH-purge
羽毛球分组比赛记分
小程序二维码

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

小夜