npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-rea

v1.2.0

Published

Registers the upstream REA (Reverse Engineer Anything) MCP server into DeepSeek Harness as mcp__rea__* tools — a third-party adapter, analysis is upstream's. · 把上游 REA 的 MCP 服务接入 DeepSeek Harness,提供 mcp__rea__* 工具(第三方适配,分析能力属上游)。

Downloads

586

Readme

dsh-rea

npm version

把上游 REA — Reverse Engineer Anything 的 MCP 服务接入 DeepSeek Harness(dsh),其工具在会话中以 mcp__rea__* 的形式出现。

这是什么

一个小型 DSH bundle。它只有一行 rea:挂载官方 MCP 客户端插件(@deepseek-ai/dsh-mcp-client), 连接本机已安装的 rea --mcp stdio server;并在侧边栏插件页面提供一个页面,包含环境检查、 示例提问和设置。本包不含任何分析代码。

第三方适配器。 本仓库不属于 REA,不分发任何 REA 代码,也非 REA 作者维护。它负责连接 REA 并提供设置页面。 上游:github.com/morluto/rea(MIT)· 文档 · rea.tools · npm 包 rea-agents。 REA 自身的问题去它的 tracker;本插件的问题去 本仓库 issues。

它提供: 注册 mcp__rea__* 工具并自动选择跨平台启动方式;在插件页面告诉你还缺什么、怎么修复。

能做什么 / 不能做什么

分析能力属于上游;本节仅复述上游自身的约定,以设定期望。

  • 无法恢复完整源码。 对原生二进制上游返回伪代码和汇编,Android APK 返回反编译方法, JEB 返回伪代码,JavaScript/Electron 返回模块及其关系。上游工具约定声明伪代码"是反编译器 输出,非原始源码,且与其他提供商的输出非文本等价"。
  • 实际不可恢复:原始标识符名、类型、注释、宏和模板展开、构建脚本和资源。优化(内联、重排)、 符号剥离、混淆、加壳和虚拟机保护只会让输出更差。
  • 每个结果都带有置信度和限制说明(observed / derived / inferred,加显式限制列表)。 将它们视为证据,永远不要当作恢复的源码。
  • 适用场景:理解行为、定位实现、互操作和兼容性重实现、安全审查、迁移参考。要获取实际源码, 请走合法途径——上游仓库、厂商授权或厂商自有 SDK。

跨平台自动检测

shipped patch 使用 !!js 表达式在运行时选择正确的命令形式:

  • Windows:cmd.exe /c rea --mcp — npm shim 是 .cmd 文件,需要 shell。
  • macOS / Linux:rea --mcp — npm shim 是 PATH 上的直接可执行文件。

跨平台无需手动编辑。--mcp 标志是 rea --help 中文档标注的 stdio server 启动方式。

验证环境

| 组件 | 版本 | |---|---| | REA (rea-agents) | 6.5.0(需要 6.3.0 或更高) | | DeepSeek Harness | 0.2.1-alpha.5(npm CLI) | | @deepseek-ai/dsh-mcp-client | 0.2.1-alpha.5,harness 自带 | | Node.js | 22.19+ / 24.11+ / 26+(REA 引擎要求) |

shipped row 已实测:rea --mcp 响应了 MCP initialize 握手并返回 serverInfo: { name: "rea", version: "6.5.0" } 及 207 个工具。其输入 schema 中的全部 pattern (600 个,去重后 45 个)都能被 Rust regex 引擎编译——DeepSeek 原生模型等严格接口做的就是这项校验。

安装

前置条件

  • REA 接受的 Node.js 版本(^22.19.0 || ^24.11.0 || >=26.0.0)。
  • 全局安装 REA CLI,需要 6.3.0 或更高版本:npm i -g rea-agents@latest。 更早的版本在工具 schema 里使用了 \0 正则转义,DeepSeek 原生模型不接受,REA 连接期间每一轮 都会失败(见常见问题)。
  • 原生分析需要 Ghidra 12.1.x(Hopper / IDA 为替代方案,需各自授权)。 静态 JavaScript/Electron 和 .NET 分析无需引擎。

插件

dsh plugin --profile <profile> add dsh-rea

也可以在 DSH Web 侧边栏的插件页面安装 dsh-rea。

设置与配置——在插件页面完成

打开 DSH Web 侧边栏的插件,选择 REA 逆向分析。页面分三部分:

  1. 环境检查——REA 命令行工具及版本(需 6.3.0+)、mcp__rea__* 工具是否已加载、Ghidra(可选)、 Java(Ghidra 需要)。需要处理的项会说明原因并给出修复命令,可一键复制;点重新检查再检测一次。
  2. 试一试——可以直接贴进对话的示例提问。
  3. 设置——保存到你的 profile,REA 会立即用新设置重启:

| 设置 | 默认值 | 说明 | |---|---|---| | Ghidra 安装目录(ghidraInstallDir) | 空 | 作为 GHIDRA_INSTALL_DIR 传给 REA;留空则沿用环境变量。 | | 单次工具调用超时(toolCallTimeoutMs) | 300000 | 反编译大型程序可能需要几分钟。 |

没有 Ghidra 时,JavaScript / Electron 和 .NET 分析照常可用;原生程序(exe / ELF / Mach-O)需要 Ghidra 12.1.x 和 JDK 21+。

也可以在 profile 的 cordis.patch.yml 里手动固定设置:

- id: rea
  config:
    ghidraInstallDir: /Applications/ghidra_12.1.1_PUBLIC

验证

环境检查里 REA 命令行工具和工具加载两项显示为绿色。然后在对话里试一句,例如 "用 REA 分析 /Applications/Visual Studio Code.app 这个 Electron 应用"。配置了 Ghidra 后, binary_session 会报告引擎检查(configuration / installation / headless / native_decompiler / java),应全部 ok: true。

范围和注意事项

REA 6.5.0 暴露 207 个工具,每个会话的工具列表会明显变长(不需要时可在插件页面禁用本 bundle);该行设置 failOnStartupError: false,这样 REA 缺失不会阻止 harness 启动。部分 REA 工具会启动进程、 写文件和访问网络——DSH 的权限策略会介入。只分析你有权检查的制品。

更新 — 两件独立的事,都是手动

  • 本插件不会自我更新:dsh plugin --profile <profile> add dsh-rea@latest(或在插件页面更新)。 下面更新 REA 不会更新本插件,更新本插件也不会碰 REA。
  • 上游 REA:npm i -g rea-agents@latest,然后重启 harness,让 MCP 子进程用新版本重新启动。 其 bin(scripts/rea.mjs)跨版本稳定,此处无需改动。
  • Ghidra 由 REA 版本门控(当前 12.1.x):先更新 REA,再检查它是否接受更新的 Ghidra。
  • DeepSeek Harness:harness 升级可能改变 MCP client 的 config schema——用 Config.listConfigs name=@deepseek-ai/dsh-mcp-client 检查该行并调整字段名。

常见问题

Invalid schema for function 'mcp__rea__capture_process_scenario': "^[^=\\0]+$" is not a "regex" (或任何 mcp__rea__* 的 schema 报错)——已安装的 REA 低于 6.3.0。它的 schema 使用了 DeepSeek 原生模型不接受的正则写法,接口会拒绝整个请求。上游已在 morluto/rea#1329 修复:

npm i -g rea-agents@latest
rea --version        # 6.3.0 或更高

然后重启 harness。

看不到 mcp__rea__* 工具——harness 的 PATH 里找不到 rea(which rea),或 REA 启动失败; 该行设置了 failOnStartupError: false,harness 会继续运行并记录错误。

启动时本 bundle 被跳过——本版本声明了 @deepseek-ai/dsh-mcp-client 的 peer 版本范围(0.2.x)。 超出该范围的 harness 可能改变了 MCP client 的配置格式,请更新本插件。

许可证

MIT(本适配器)。REA 为 MIT,版权归其作者;Ghidra 为 Apache-2.0,版权归 NSA。此处不分发任何 上游代码。