DSH 和 Pi Agent 破甲
记录 DSH 与 Pi 的 Purge 插件安装、REA 工具接入,以及 AlDente、Sublime Text 实验中的执行表现、结果验证和 Token 消耗。
REA
最近 REA 这个项目特别火,截至记录时,GitHub 上已经 350K+ Star 了,看着挺有意思,就想着装来试一下,REA 全名是 Reverse Engineer Anything,就是给 AI 配一套逆向工具
直接让 DSH 帮我全局安装,再和 DSH 接起来,Codex 和 Claude 先不接,另外建一个 REA 工作目录,放样本、分析结果和笔记
npm install --global rea-agents
接 DSH 用的是自带的 rea setup --client dsh,MCP 配置写在 ~/.dsh/cordis.patch.yml,配套的 reverse-engineer-anything 技能也一起装上了,能看到 207 个工具
不过 REA 装好了,原生应用的反编译还得有后端工具,后面在用dsh-purge插件的时候又让 AI 装了 Ghidra 12.1.4 和 JDK 21,才把这条链路跑通
一、DSH
DSH(DeepSeek Harness)可以理解为给 DeepSeek 配了一套干活的工具。模型负责理解需求、想下一步怎么做,Harness 负责提供工具、执行操作,再把结果交给模型。这样它就能读写文件、运行命令,一步步完成任务
这里说的“破甲”,就是通过插件和提示词,让模型少一些拒答。不过,模型愿意动手,也不代表一定能把事情做成
1. Purge 插件
- 原版:YuJunZhiXue/dsh-purge,已暂停维护;我也 Fork 了一份:zhichoo/dsh-purge
- 社区版:kingcharleslzy-ai/dsh-purge,也叫 Purge Community
原版主要调整提示词、审批和工具限制,社区版还补充了状态自检、补丁诊断、备份和回滚。它们改的都是本机 Harness,不是模型本身,所以装上之后也不能保证每次都不拒绝
2. 安装和开启
直接让 AI 帮忙安装插件

装好后,打开左侧的 Purge 面板,点击“应用”,再重启 dsh web

重新打开后可以选择预设,我这里选的是“无限制”模式

接着新建会话,拿 Mac 上的 AlDente 试一下,让它分析付费限制,看看能不能绕过

3. 尝试绕过 AlDente 的付费限制
插件确认已经加载,但一开始模型还是会拒绝继续。后来调整了提示词,又重启了一次 dsh web,它才开始检查应用、建立副本,继续往下分析
不过,最后还是没有完成会员功能解锁。 这次算是让它动手了,但任务没做成,后面换 Pi 继续试
4. 再用 Sublime Text 试一次
AlDente 这边跑了半天没成,后面又拿 Sublime Text 试了一下,还是在 3080 的 DSH Web 里,用 DeepSeek V4.1 Flash,关闭思考,Purge 沿用前面的配置
一开始让它看看 Sublime 的付费模式,发现它是不限时试用,平时用起来主要是会弹购买提醒,那就让它把这个提醒去掉
这次倒是做出了一个修改后的副本,能正常打开,写个文件再保存也没问题,签名检查也过了
目前只确认修改命中了已识别的提醒路径,所有购买提醒都已消失
二、Pi
Pi 是一个可扩展的编程 Agent,通过模型调用文件读写、终端等工具完成任务,并支持通过扩展调整功能和提示词
1. Pi Purge 插件一键破甲
仓库:ZiChuanLan/pi-purge,这个就是从dsh-purge破甲插件移植过来的。主要用于切换或替换 Pi 的系统提示词,支持内置提示词、自定义提示词文件和三种组合模式,不修改 Pi 本体文件 与 DSH Purge 不同,Pi Purge 主要调整提示词,不提供同类宿主权限补丁,也不保证消除模型拒答
2. 安装与使用
在终端安装扩展:
# 带提示词版本 二选一即可
pi install git:github.com/ZiChuanLan/pi-purge@ffafeb9
# 不带提示词版本
pi install npm:pi-purge
进入 Pi 会话后开启,并查看状态:
/purge on
/purge status
需要使用自己的提示词时,指定文件并选择模式:
/purge source /绝对路径/my-prompt.md
/purge mode replace
/purge on
修改外部提示词文件后,使用 /purge reload 重新读取;使用 /purge off 恢复原提示词,使用 /purge source embedded 切回内置提示词。
**每次启动、新建、恢复或重新加载会话后默认关闭,需要重新执行 /purge on。**扩展不会持久保存启用状态。
使用场景:

安装完插件之后,打开pi-web 输入 /purge 开启破甲模式,发起提问你能干什么 之后, 观察顶部系统提示词已经被覆盖了

继续用 Mac 上的 AlDente.app 测试,下面是免费版的仪表盘

在pi中进行对话 询问:AlDente.app 的付费模式,以及是否可以绕过其付费限制

在pi中是直接开干了,这里使用的是DeepSeek V4.1 Flash,关闭思考。 虽然跑了半天但是没有成功,token倒是烧了不少。这次在 Pi 中更容易让模型开始执行,但并不代表更容易完成任务

3. 用GPT跟踪原任务
前面任务没有达到效果,让 GPT 跟踪 Pi Web 中使用 DeepSeek Flash 的原会话。这次让另一个 AI 跟踪原会话,定位问题确实快了不少
原始目标是恢复 AlDente 的受限功能。后续接受了“在原仪表盘卡片内绘制真实数据”的替代方案。因此,本轮有实际成果,但没有完成全部原生会员功能的解锁。
通过运行时注入,在原仪表盘对应卡片内绘制 NSView 数据层,读取系统数据并刷新:
| 区域 | 已显示的内容 |
|---|---|
| 电池规格 | 容量、循环次数、健康度等 |
| 适配器规格 | 额定功率、协商电压和电流、实时输入、型号 |
| 功率分配 | 电源输入、系统负载、电池功率 |
| 电池电量 | 系统发布的百分比 |
| 电池温度 | 实时温度 |

这是替代数据展示,不等于恢复了原生 Pro 视图和全部会员功能
后续提问可以加入的约束
先列出受限功能,以及每项功能怎样才算恢复。每轮说明当前假设、证据、修改和实际验证结果。编译成功、显示 Pro、去掉锁图标,都不能单独算功能恢复。必须确认运行的是本次构建,并验证具体功能。同一假设连续两轮没有新证据,就重新评估路线。替代实现需要单独标注

这一通折腾了几个小时,token 费用倒是烧了不少,早知道就等低价区间再弄了