前言¶
在 DeepSeek Harness(DSH)里做二进制、APK、WebAssembly 等逆向相关任务时,常见做法是挂 REA(reverse engineering agent)这类 MCP 服务器。REA 负责把 Ghidra、JADX、WABT、Frida 等引擎接到统一工具面,但 MCP 本身只是适配层:引擎是否在本机可用、环境变量是否一致、rea-agents 版本是否稳定,往往要手工维护。
社区插件 dsh-rea-powerpack(维护者 Zhishulo,分类:工作流)面向 Windows 上的 DSH 用户,把「引擎矩阵检测与安装、REA 版本固定与可回滚更新、能力体检(doctor)」收进一张设置卡片,并注入名为 rea 的 MCP 客户端(工具名仍为 mcp__rea__*)。下面介绍它做什么、怎么装、首次怎么配。
这是什么¶
dsh-rea-powerpack 是 DSH 插件,npm 包名 dsh-rea-powerpack,当前版本 0.1.4(MIT 许可证)。仓库:https://github.com/Zhishulo/dsh-rea-powerpack;社区目录页:https://www.skillhub.cn/plugins/Zhishulo/dsh-rea-powerpack。
README 用三句话概括职责:
- 引擎:按矩阵检测 / 安装 / 卸载分析引擎,合成
env与PATH喂给 REA; - 版本:把
rea-agents精确固定,检查新版、影子预检、可回滚; - 体检:调用 REA 的 doctor,把「缺什么、为什么缺、怎么修」按 reason 分组列出。
插件不扩充 REA 的工具清单(本机实测握手时 MCP 工具总数仍为 229),而是让清单里本该能用的工具组真正可用:无引擎基线与注入托管引擎后,可用工具组可从 42/77 提升到 50/76(数据来自仓库 README 中的本机探针与 dev/BASELINES.md,复现需在 clone 出的仓库根目录执行文档中的命令)。
核心功能¶
设置卡片与状态文件¶
装好后在 DSH:设置 → 插件 → REA 强化 tab。卡片集中展示 REA 版本、pin 来源、引擎就绪数、最近体检、更新策略,以及各引擎的 tier / 版本 / 状态与操作按钮。
状态目录默认 %LOCALAPPDATA%\rea-powerpack,可用环境变量 REA_POWERPACK_HOME 覆盖。主要文件包括:
| 文件 | 内容 |
|---|---|
engines.json |
引擎路径、版本、verified 与 root |
settings.json |
updatePolicy、engineRoot、toolTimeoutMs 等 |
pin.json |
固定的 REA 版本、回滚上一版、withheldBuilds |
state.json |
最近一次体检与热重载结果 |
logs/powerpack.log |
JSONL 操作日志 |
你手动设置的 REA_* 环境变量优先于插件注入;被保留的变量名会在卡片中列出。
13 项 Windows 引擎矩阵¶
矩阵在 Windows 上共 13 项可托管或引导安装(另有 8 项 REA 不支持 Windows,卡片标 unsupported_host,不提供安装按钮)。tier 0/1 是首次配置时 README 建议优先装的项:
| id | 名称 | tier | 说明 |
|---|---|---|---|
java |
Java (JDK) | 0 | 手动,JAVA_HOME |
ghidra |
Ghidra | 0 | 手动,GHIDRA_INSTALL_DIR |
adb |
Android Platform Tools | 1 | 托管 zip |
apktool |
Apktool | 1 | 托管 github-latest |
jadx |
JADX headless MCP | 1 | 托管 file(sha256 校验) |
wabt |
WABT | 1 | 托管 zip |
python |
Python 3.12 | 1 | 托管 winget |
frida |
Frida tools | 1 | 托管 pip |
tier 2 含 objdump、rizin、.NET SDK、ilspy、mitmproxy 等;完整表与安装顺序见仓库 docs/ENGINES.md。带 sha256 的引擎强制校验,半装状态不会进入清单与环境变量。
REA 版本与更新策略¶
升级流程为:影子目录安装 → 影子体检(serverInfo 版本 + 工具数 ≥ 200)→ 正式安装 → 复检 → 固定;失败自动回滚,坏版本记入 withheldBuilds。更新策略默认 notify,可改为 auto-idle 或 manual。引擎或 MCP 行变更后,可先点「维护 → 热重载 MCP 行」;显示 restart-required 时再重启 DSH。
错误与国际化¶
失败路径使用稳定错误码与中英双语文案;未知码原样展示。浏览器 UI 为 lazy-CJS,配色跟随宿主主题变量,无单独构建步骤。
安装与启用¶
环境要求:Node >= 22.19.0(与 REA 一致)。DSH 桌面版、web、tui 均可;插件 peer 依赖 @deepseek-ai/dsh 在 package.json 中已声明。
插件以当前 DSH 进程权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证;插件不会改写全局环境变量或注册表,也不会安装分析引擎以外的系统组件。
npm 安装(推荐)¶
桌面版:设置 → 插件 → 添加,来源填包名 dsh-rea-powerpack。
web / tui:
dsh plugin --profile web add dsh-rea-powerpack
dsh plugin --profile web ls
桌面版的 profile 由 Electron 管理,dsh plugin --profile desktop 会被拒绝,桌面用户请走 UI。
装完后重启 DSH:bundle 与 patch 在启动时合成。插件向配置注入 dsh-rea-powerpack(卡片宿主)与 rea-powerpack-mcp(MCP 服务名 rea)。若 profile 里曾有旧的 dsh-rea-agents bundle,安装脚本会移除以避免两个 rea MCP 客户端冲突(开发者 junction 安装细节见 README,一般用户用 npm 即可)。
升级插件:桌面版在插件页点更新;web/tui 再次执行上面的 add 命令拉 registry 最新版。卸载:桌面版移除插件;web/tui 使用 dsh plugin --profile web remove dsh-rea-powerpack。卸载不会删除 %LOCALAPPDATA%\rea-powerpack 下的引擎与状态,需手动删除该目录才能彻底清理。
首次配置¶
按 README 建议顺序操作:
- 打开 设置 → 插件 → REA 强化 tab。
- 若 REA 未安装,在卡片点「安装」,按 registry 最新版精确定装(
rea-agents@x.y.z --save-exact)。 - 在引擎矩阵中安装 tier 0/1(Java、Ghidra,再 adb、apktool、jadx、wabt、python、frida);依赖顺序见
docs/ENGINES.md。 - 能力体检 → 运行体检,确认暴露工具数正常(README 写明正常 ≥ 200)。
- 按需调整
updatePolicy(默认notify)。
JEB 等商业组件不在引擎矩阵内,doctor 可能仍显示 provider_missing,需自备 JEB 客户端。部分能力需先对目标执行 open_binary(target_required),或受平台限制(unsupported_host)。
适用场景与注意¶
适合:在 Windows 上用 DSH 做逆向相关对话与自动化,希望少手工拼 REA_*、固定 REA 版本、一眼看清 doctor 分组原因的用户。
注意:
- 文档与矩阵以 Windows 为主;8 个引擎在 Windows 上属于 REA 不支持项,不要误以为装插件即获得 Linux/macOS 专属能力。
- 本机数字(如 50/76 组、142 个可用组内工具、13/13 引擎 verified)来自仓库维护者在特定环境下的实测,你的机器取决于已装引擎与目标类型。
- 故障排查见
docs/TROUBLESHOOTING.md;架构与更新决策见ARCHITECTURE.md、docs/UPDATES.md。
结尾¶
dsh-rea-powerpack 把 REA 在 Windows 上的「引擎就绪、版本 pin、能力体检」做成 DSH 内可维护的工作流,而不是只挂一个裸 MCP。需要细节时查社区目录与 GitHub README: