dsh-rea-powerpack:在 DSH 里把 REA 逆向分析栈配齐

前言

在 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 用三句话概括职责:

  1. 引擎:按矩阵检测 / 安装 / 卸载分析引擎,合成 env 与 PATH 喂给 REA;
  2. 版本:把 rea-agents 精确固定,检查新版、影子预检、可回滚;
  3. 体检:调用 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 建议顺序操作:

  1. 打开 设置 → 插件 → REA 强化 tab。
  2. 若 REA 未安装,在卡片点「安装」,按 registry 最新版精确定装(rea-agents@x.y.z --save-exact)。
  3. 在引擎矩阵中安装 tier 0/1(Java、Ghidra,再 adb、apktool、jadx、wabt、python、frida);依赖顺序见 docs/ENGINES.md。
  4. 能力体检 → 运行体检,确认暴露工具数正常(README 写明正常 ≥ 200)。
  5. 按需调整 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:

羽毛球分组比赛记分
小程序二维码

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

Xiaoye