dsh-rea-pro
REA 的逆向工具集接入 DeepSeek Harness(下称 DSH)的插件,并在输入框工具条上提供一个开关。不需要 REA 时点一下关掉,REA 的 MCP 子进程随之退出,工具也不再占用上下文。
English: mounts REA's MCP server in DeepSeek Harness and adds a composer chip to switch it off when a session does not need it.
安装
dsh plugin --profile web add dsh-rea-pro
包还没发到 npm 之前,也可以直接从 GitHub 装:
dsh plugin --profile web add github:AcuteSZW/dsh-rea-pro
两种装法等价:装完重启 Harness 一次,工具条上会出现 ● REA 开。也可以在产品界面里装:插件 → 安装,来源填包名或仓库地址。
它能做什么
- 把 REA 的 stdio MCP 服务注册给 DSH,工具随插件生命周期出现和消失。
- 在输入框工具条(
完全权限 / 专家 / PUA那一排)加一个REA 开 / REA 关chip,点击即切换。 - 开关状态保存在
~/.dsh/rea-mcp-state.json,重启后保持。
依赖
- DSH
>= 0.2.1,且 profile 里挂了@deepseek-ai/dsh-web-app(mcp-manager由它提供)。 - rea-agents
^6.8.0:第三方 npm 包,作为本插件的依赖自动安装,不需要单独部署 REA 仓库。会话里那些工具就是它提供的(npm 发行版6.8.0的目录是 229 个工具),插件只负责把它挂进 DSH。
插件不安装或升级 Node、npm、分析引擎;REA 自己的 provider(Ghidra / IDA / JADX / Kuna 等)按 REA 文档配置,插件不代劳。
开关
chip 显示三态:REA 开、REA 关、REA …(切换进行中)。关闭时 Host 侧注销服务器注册,MCP 子进程退出;开启时重新注册并拉起子进程,通常几秒内可用。
REA 的子进程收尾较慢,插件给了 20 秒的关闭预算(closeTimeoutMs)。预算太短时 DSH 会把该服务器记成"cleanup 未完成",之后所有重新挂载都会被拒绝——所以这个值不要调小。
状态文件不存在时按"开"处理:装完第一次启动就会把 REA 的工具挂进会话,不需要先点开关。想要装上就先不挂,可以在第一次启动前手动写 ~/.dsh/rea-mcp-state.json 为 {"enabled": false},或者装完立刻点一下 chip。
状态接口(仅本机已认证的 Harness 页面可用):
GET /dsh-rea/status→{ ok, enabled, mounted, serverName, script, server?, error? },server是 DSH 侧该服务器的实时状态(state为connected时带toolCount)POST /dsh-rea/toggle,body{ "enabled": true|false },要求Content-Type: application/json
两条路由的准入交给 DSH 的 Connection 服务(connection.requestRejection):先过 Host/Origin 围栏,再要求请求带上本会话认证过的浏览器 Cookie。这样即使有站点把自己的域名解析到 127.0.0.1(DNS 重绑定),它既拿不到围栏放行,也拿不到 Cookie。
和别的 REA 插件共存
市场上还有其它接入 REA 的插件(例如 czcdr/dsh-plugin-rea 注册的服务器名是 rea,工具名形如 mcp__rea__*)。两个插件同装、且服务器名都取默认 rea 时,后装的会跟前一个抢同一个名字。本插件的服务器名可配,在 cordis.patch.yml 里改 serverName 即可:
- name: dsh-rea-pro
config:
serverName: rea-pro # 工具名随之变成 mcp__rea-pro__*
发版
改完插件后怎么升版本、发 npm、装回 profile、更新市场条目:见 RELEASING.md。
排错
- chip 显示
REA ?:读不到状态。先确认插件已加载(插件 → 已安装里有dsh-rea-pro),再看 Harness 启动日志。 - chip 能点但工具没出现:多半是
rea-agents没装进 profile,或 REA 自身启动失败;用 REA 的doctor检查(npx rea-agents doctor)。 pnpm install以ERR_PNPM_IGNORED_BUILDS退出、提示Ignored build scripts: frida:这是 pnpm 拦下了 REA 依赖里 frida 的安装脚本,包本身已经装好、插件可用。要让 frida 相关能力也完整,在 profile 目录跑pnpm approve-builds选中 frida(或在pnpm-workspace.yaml的allowBuilds里加frida: true)后重装、重启。- 工具数量和期望不一致:npm 版
rea-agents的目录是 229 个工具(doctor里的mcp_tools);用自己仓库完整构建出来的副本可能更多。插件只负责挂载,工具集由 REA 决定。 - Windows 上 REA 报缺少原生模块:
rea-agents的发行包已带 Windows 原生件;若被裁剪,按 REA 文档重建native/windows。
卸载
dsh plugin --profile web remove dsh-rea-pro
许可
MIT
No comments yet. Be the first to write one.