dsh-rea:在 DSH 插件页一键挂载 REA 逆向工程 MCP

前言

在 DeepSeek Harness(DSH)里做逆向分析,往往需要把 REA(Reverse Engineer Anything)的 MCP 服务接进 Cordis,让模型能调用一整套逆向工具。手写 cordis.patch.yml 可以挂上同一行配置,但 Plugins 页面只展示带 dsh.bundle.patch 的 bundle,裸 patch 行不会变成可点的开关。调查结束后若忘记关掉,rea 命名空间下的工具 schema 会长期占满上下文。dsh-rea 把「声明 MCP 桥接 + 插件卡片元数据」打成官方 bundle,在 Plugins 页用开关控制 REA 是否参与会话。

这是什么

dsh-rea 是维护者 PandaBoby 发布的 DSH 客户端类插件 bundle。它不自带分析引擎、不实现任何工具、也不包含模型代码;只做一件事:声明一条 MCP 桥接行,并在插件列表里显示为可开关的卡片。真正的 REA 工具在运行时由 rea-agents 包提供并被发现。

分类上属于客户端插件;社区目录见 SkillHub 条目,源码与说明在 GitHub:PandaBoby/dsh-rea。

为什么用 bundle 而不是自己贴 YAML

把同样的几行写进 ~/.dsh/cordis.patch.yml 在技术上可行,但那一行对 Plugins 页不可见。包一层 bundle 之后,才能在 Installed plugins 里看到 dsh-rea,并在调查结束后点关,避免长期背负 REA 的工具定义开销。

README 在 rea-agents@6.5.0、1M token 窗口下做过对比(具体数字会随 REA 版本变化,打开时不会为零):

状态 下发工具数 工具定义上下文(约)
dsh-rea 关 ~40 内置 ~2K–8K tokens
dsh-rea 开 ~40 + ~207 ~200K tokens

schema 序列化约 790 KB,Harness 计价约 207K tokens,约占 1M 窗口的 20%。

核心能力

  1. 挂载命名空间:开启后启动 MCP 桥接,列出 REA 工具,并以 mcp__rea__* 注册。
  2. 插件页开关:关闭后撤回该行、结束子进程,后续请求不再携带约 200K tokens 级别的工具 schema;开关是 profile 级设置,对已打开的会话同样生效;关闭时若仍有 REA 调用会被取消。
  3. 按需拉取引擎:安装时不下载 REA 服务本身;桥接执行 npx -y rea-agents@latest mcp,首次在开关打开后做 tool sync 时由 npm 拉取最新 release(之后走缓存)。
  4. 可覆盖配置:默认见包内 cordis.patch.yml;可在 profile patch 里覆盖 rea-mcp 行以固定版本、加长超时或让启动失败更显式(patch 会整体替换该行的 config,需重写要保留的键)。

安装与启用

从 GitHub 安装(命令来自项目 README):

dsh plugin add github:PandaBoby/dsh-rea

本地开发该包时可用绝对路径:

dsh plugin add /absolute/path/to/dsh-rea

安装会选中该 bundle,rea 工具会立即可用;不用时应在 Plugins 页关掉开关。若希望模型遵循 REA 自带流程,需另行从 rea-agents 或 REA 仓库获取对应 skill;本包不重复打包那份指引。

启用路径:Plugins 页 → Installed plugins → dsh-rea,拨动开关。默认开启 HMR 的 Desktop/Web profile 无需重启;未开 HMR 时变更在下次启动生效。

配置示例

需要固定 REA 版本、为慢速反编译提高单次调用超时,或调整启动失败行为时,可在 profile patch 中覆盖 rea-mcp:

- id: rea-mcp
  config:
    serverName: rea
    transport: stdio
    command: npx
    args: ["-y", "rea-agents@6.5.0", "mcp"]
    toolCallTimeoutMs: 600000
    failOnStartupError: false

常用键(默认值以 README 表格为准):

Key 默认 含义
serverName rea 工具命名空间(mcp__rea__<tool>),最长 32 字符
command / args npx + -y rea-agents@latest mcp 启动的 stdio MCP 服务
toolCallTimeoutMs 60000 单次调用超时;长分析可调大
failOnStartupError false true 时启动失败会使插件失败,而非静默无工具
reconnect 内置策略 子进程断开时的重试/退避

包要求 Node >=20(见 package.json 的 engines)。

如何确认上下文开销

Composer 上方的上下文计量会把 system prompt、tool definitions、messages 分开显示。开关 bundle 前后对比 tool definitions 行的差值,即本插件打开时的主要成本。也可在 ~/.dsh/sessions/ 下查看最新会话日志里的 request/header,统计 mcp__rea__* 条目数量。

卸载

Plugins 页 → dsh-rea → Remove。移除 bundle 会注销配置行;npx 缓存不在 profile 内,需由 npm/npx 自行清理。

适用场景与注意

适合已经在 DSH 里做二进制/固件等逆向任务、希望用 REA MCP 工具链、又需要在「调查期开 / 平时关」之间快速切换的开发者。

插件以当前 DSH 进程权限运行;桥接会通过 npx 执行 rea-agents。安装前请自行查看 GitHub 仓库 源码与 MIT 许可证;REA/rea-agents 为独立项目,许可证与本包无关。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,仅为社区收录。

结尾

dsh-rea 的价值在于:用最小 bundle 把 REA MCP 变成 Plugins 页上可管理的开关,避免长期占用约 200K tokens 级别的工具定义,同时不在安装包里捆绑分析引擎。需要时打开、做完关掉即可。

  • 目录页:https://www.skillhub.cn/plugins/PandaBoby/dsh-rea
  • GitHub:https://github.com/PandaBoby/dsh-rea
羽毛球分组比赛记分
小程序二维码

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

Xiaoye