MP4 · WebM · 海报
🇨🇳 中文版 | 🇺🇸 English
dsh-rea
English | 简体中文 · Releases · 更新日志
> 非官方项目。 本仓库是一个独立的 DeepSeek Harness 插件包,与 REA 项目没有隶属、
> 背书或发布关系。仓库不包含 REA 源码:运行时从 npm 安装官方
> rea-agents 包,并把它提供的 MCP
> 服务器接入 Harness。详见 NOTICE.md。
一个“纯配置”的 DeepSeek Harness
插件,用于连接 REA 逆向工程 MCP 服务器。安装后,智能体可以像调用原生工具一样调用
mcp__rea__:分析原生二进制、应用包、JavaScript/Electron 应用、托管程序集、
网站、流量抓包、固件镜像和运行时行为。
项目来源与归属
- 上游项目: REA — Reverse Engineer Anything,
作者 morluto,MIT 许可。npm 包为
rea-agents,文档在
rea.tools。 - 本仓库: ,由
sqhc 维护。这里只做打包与接入,不是 REA 的分叉。 - 关系: 非官方集成。它把 REA 自带的
rea setup --client dsh所写入的
rea-mcp注册,封装成一个带本地化元数据和图标的可安装 DSH bundle。仓库不复制
REA 的源码、二进制或素材;运行时从 npm 获取官方包。 - 打包契约: DeepSeek Harness 的
dsh.bundle.patch格式,以及 Harness 自带的
@deepseek-ai/dsh-mcp-client。
这个插件实际做了什么
插件只向 Harness 的组合配置插入一行:
- insert:
- id: rea-mcp
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: rea
transport: stdio
command: npx
args: ['-y', 'rea-agents@6.7.0', 'mcp']
@deepseek-ai/dsh-mcp-client 由 DSH 自带。本仓库不复制、不分叉、不重新构建 REA;
官方 npm 包以本地 stdio MCP 服务器的形式运行。
要求
- 已安装 DeepSeek Harness,并带有内置的
@deepseek-ai/dsh-mcp-client
(已在0.2.1-rc.2上验证)。 - Harness 进程的
PATH中有 Node.js 和 npm。REA 官方支持 Node.js 22.x(>=22.19)、
24.x(>=24.11)或 26+。Node.js 20 可以启动服务器,但不在官方支持范围内。 - 首次启动需要网络,供
npx拉取rea-agents@6.7.0。 - 本次验证环境是 macOS。Linux 预期相同;Windows 未验证,且 REA 的原生 provider
还有各自的前置条件。
版本兼容性
| REA 版本 | Bundle 版本 | DSH 版本(已验证) | 备注 |
|---|---|---|---|
rea-agents@6.8.0 |
0.2.0 |
0.2.1-rc.2 |
当前;229 个工具,Node 22.23+/24.22+/26+(排除 23/25) |
rea-agents@6.7.0 |
0.1.0 |
0.2.1-rc.2 |
基线版本;207 个工具,compact 输入 schema,output schema 关闭 |
rea-agents@6.x.x |
0.1.x / 0.2.x |
0.2.x |
仅补丁版本;在 cordis.patch.yml 中固定确切 REA 版本 |
升级前务必阅读 REA 发布说明。工具名和 schema 属于模型可见契约。
更新日志
v0.2.0 (2026-10-27) — REA 6.8.0
变更点
- 上游 REA 从 6.7.0 升级到 6.8.0
- 工具数量:207 → 229(新增 22 个工具:Agent Environments、GPU/BEAM/Python/Unity/Godot/Node.js SEA/devicetree、PE/ELF 深度检查、Retained Summaries)
- Catalog 大小:214 KiB → 295 KiB(+38%)
- 最大 schema (inspect_analysis_view):7.4 KB → 15.2 KB(翻倍)
- Node.js 引擎要求收紧:22.23.4+ / 24.22.1+ / 26.12.1+(明确不支持 Node 23/25)
- 包体积:28 MB → 49 MB(首次 npx 下载变慢)
迁移指引
1. 更新 cordis.patch.yml:rea-agents@6.8.0
2. 确保 Harness PATH 上的 Node.js ≥ 24.22.1(或 22.23.4 / 26.12.1)
3. 重新安装/重载插件并运行 node scripts/preflight.mjs
已知风险
- Windows:未测试(已知限制)
- Node 24.21.x 会导致 preflight 失败 — 升级 Node 或锁定到 22.23.4+
- Catalog token 成本约 76k(compact 输入);不做逆向任务时建议禁用插件
安装
先克隆本仓库,然后让 Harness 中的智能体用 plugin_manager
(action: install_bundle)安装这个目录,参数是仓库的绝对路径。安装会修改当前
DSH profile,并跨重启保留。
安装前可以先运行自检脚本:
node scripts/preflight.mjs
它会检查 Node 版本、npm 缓存可写性,对 rea-agents@6.7.0 执行一次 MCP initialize +
tools/list 握手,并输出工具数量和 catalog 大小;同时预热 npx 缓存,让 Harness
首次启动快很多。
首次启动
首次启动可能需要等待 npx 下载 REA。插件使用 failOnStartupError: false 并开启
自动重连,所以首次下载慢不会直接让插件行失效;在服务器就绪前,工具调用会失败。
如果几分钟后仍看不到 REA 工具,请检查 Harness 日志。
验证
让智能体无参数调用 mcp__rea__binary_session。它只报告当前目标、provider 和服务器
身份,不会启动分析。正常结果会显示 REA 服务器版本(6.7.0)。
工具目录与上下文成本
REA 会公布 207 个工具。完整 catalog 有好几 MB,因此本插件固定设置:
REA_MCP_INPUT_SCHEMA_PROFILE=compact:输入 schema 有大小上限;REA 仍按完整的
canonical 契约校验每次调用。REA_MCP_OUTPUT_SCHEMA_PROFILE=off:发现阶段不返回 output schema;REA 仍在服务端
校验结构化结果。
在 REA 6.7.0 上实测约 215–230 KiB 工具 JSON(约 55–57k tokens)。对
deepseek-flash 的 1M 上下文来说可以接受,但这是插件启用期间每个请求的固定开销。
不做逆向任务时建议禁用插件。
如果确认模型路由能接受完整 schema,可以把 REA_MCP_INPUT_SCHEMA_PROFILE 改为
full。不要在未测量的情况下把 full 输入和 output schema 同时打开:完整 catalog
约 3.4 MB。
配置
修改仓库中的 cordis.patch.yml,然后重新安装/重载插件。
| 配置项 | 值 | 说明 |
|---|---|---|
serverName |
rea |
工具前缀为 mcp__rea__ |
toolCallTimeoutMs |
600000 |
原生分析和 provider 启动可能远超默认 60 秒 |
failOnStartupError |
false |
首次 npx 下载慢时应重连,而不是让插件行失败 |
NPM_CONFIG_CACHE |
!!js → $DSH_HOME/cache/dsh-rea/npm |
避开 root 属主 ~/.npm 导致的 EPERM;可用 DSH_REA_NPM_CACHE 覆盖 |
REA_MCP_INPUT_SCHEMA_PROFILE |
compact |
控制公布 schema 的大小 |
REA_MCP_OUTPUT_SCHEMA_PROFILE |
off |
去掉数 MB 的 output schema |
排障
npm error code EPERM / npm 缓存被 root 占用
patch 中的 NPM_CONFIG_CACHE 表达式会把 npx 缓存指到
$DSH_HOME/cache/dsh-rea/npm(如果取得到 profile 目录则优先
/cache/dsh-rea/npm),再回退到 ~/.dsh/cache/dsh-rea/npm。在已验证的
Desktop profile 中实际解析为 ~/.dsh/cache/dsh-rea/npm。如果要用别的目录,可以在
Harness 进程环境中设置 DSH_REA_NPM_CACHE(需要重启 Harness),或把 !!js
表达式换成字面量路径。不建议为了这个插件对整个 npm 缓存执行 sudo chown -R。
看不到 mcp__rea__* 工具
- 先运行
node scripts/preflight.mjs,把 Node/npm/REA 的问题与 DSH 问题分开。 - 确认
npx解析到的 Node 版本在 REA 支持范围内。 - 确认
rea-mcp行处于启用状态,且没有被标为disabled。 - 如果该行加载失败,重载插件或重启 Harness。
REA 重复注册
不要同时对同一个 profile 运行 rea setup --client dsh。两个注册都会使用
serverName: rea,MCP client 会拒绝重复项,其中一套工具会消失。选择一种集成方式,
删除另一种。
指定某个 Node 安装
patch 从 PATH 调用 npx。如果要固定到某个 Node 24,可把 command 改成该 Node
可执行文件,并把 args 指向已安装的 REA 启动器
(/rea-agents/scripts/rea.mjs,再加 mcp)。改完重启 Harness。
可选:REA 工作流 skill
REA 还提供了智能体 skill。它自己的 setup 可以安装到 ~/.agents/skills,DSH 会自动
发现:
npx -y rea-agents@6.7.0 setup --skill --dry-run
npx -y rea-agents@6.7.0 setup --skill --yes
这与本插件提供的 MCP 连接相互独立。
升级 REA
- 阅读 REA 的 release notes,确认 MCP 工具是否有变化。
- 修改
cordis.patch.yml中固定的版本号(例如rea-agents@6.7.1)。 - 重新安装/重载插件,并重新运行
node scripts/preflight.mjs。
工具名和 schema 属于模型可见契约;修改它们会使提示词缓存失效,并可能破坏引用旧
工具名的历史会话。
卸载
让 Harness 智能体用 plugin_manager(action: remove_bundle)移除 dsh-rea 插件;
如果只是想暂停,可用 set_bundle 禁用。卸载插件不会删除 npm 的 npx 缓存,也不会
删除可选的 ~/.agents/skills 副本;需要时请自行清理。
限制
dsh-mcp-client不支持 MCP prompt templates,因此 REA 的六个引导式 prompt 不会
通过本插件暴露;工具调用不受影响。dsh-mcp-client在发现工具后才暴露工具;npx 子进程崩溃后,旧工具列表会保留到
重连预算耗尽。- REA 的原生 provider(Hopper、Ghidra、IDA、JADX、Frida 等)需要各自安装;本插件
不负责安装或许可。 - 本次没有验证 Windows。
安全与法律
REA 会分析本地文件,并可能启动外部辅助程序。请只检查你有权分析的软件,并阅读 REA
自己的 DISCLAIMER 与
SECURITY。本插件不添加遥测,
也不保存凭据。
REA 由其作者以 MIT 许可发布。本仓库的配置、文档和图标同样以 MIT 许可发布;见
LICENSE 与 NOTICE.md。