dsh-mcp-rea:在 DeepSeek Harness 裏按需接入 REA 逆向網關

前言

在 DeepSeek Harness(DSH)裏直接掛載 rea 的 MCP 服務時,每一輪對話都要把兩百多個工具的完整定義發給模型。README 實測 rea 6.5.0 約 207 個工具的 name + description + inputSchema 合計約 780 KB,按常見分詞估算約 20 萬 token;6.8.0 已是 229 個工具。即便任務與逆向無關,也會承擔這份上下文成本。直接掛 MCP 還往往缺少方便的開關,卸載也不順手。

下面介紹社區插件 dsh-mcp-rea(維護者 kkk-yoyo,GitHub 倉庫 kkk-yoyo/dsh-mcp-rea,當前版本 1.2.0,MIT 許可證)。它把 rea 做成可開關的 Harness bundle:默認只向模型暴露 2 個網關工具,按需代理全部 REA 能力,並把工具定義壓到約 1.4 KB(README 標註約 400 token 量級)。

這是什麼

dsh-mcp-rea 是 DeepSeek Harness 的 bundle 插件(@local/dsh-mcp-rea),分類上屬於模型推理相關能力。一句話定位:讓 rea 逆向分析 MCP 在 Harness 裏可開關,並用 rea_list / rea_call 網關代替全量工具註冊。

插件不負責替代 Ghidra、IDA、JEB 等外部引擎;它解決的是 Harness 側的接入成本、路徑解析和缺失 rea 時的私有安裝。

核心功能

網關模式與 token 成本

狀態 工具數 每步請求的工具定義(README 表述)
直接掛載 rea MCP 200+(另加 Harness 自帶) 約 780 KB / 20 萬 token
本插件網關模式 2 約 1–2 KB / 幾百 token
關掉本插件 0 0

默認註冊的兩個工具:

  • rea_list:按名字或描述搜索 REA 工具,或對單個工具取完整 input schema。
  • rea_call:用原始工具名和參數調用對應 REA 工具。

全量能力仍在 rea 進程裏;token 主要花在真正調用時返回的結果上,而不是每一步攜帶兩百多份 schema。

零路徑與開箱安裝

入口由 lib/rea.js 按順序解析:環境變量 REA_ENTRY、Windows / POSIX 下常見全局 npm 安裝位置、最後兜底到 $DSH_HOME/cache/dsh-mcp-rea/rea 的私有安裝。全局已裝的 rea 優先於插件緩存。

本機沒有 rea 時,可在第一次調用時用 DSH 運行時自帶的 pnpm 裝到私有目錄(README 稱不需要 npm、也不依賴 PATH 裏的 node);首次安裝實測約 8–13 秒。默認安裝 spec 爲 rea-agents@latest(README 寫明當前 6.8.0);Node 要求與 rea-agents 一致:^22.19.0 || ^24.11.0 || >=26.0.0。

技能與開關

插件會向 $DSH_HOME/skills(默認 ~/.dsh/skills)安裝 reverse-engineer-anything(rea 自帶技能,鏈接或複製)和 rea-gateway(說明如何通過網關調用)。目標位置已有同名用戶技能時不會覆蓋,只報告 occupied。

側邊欄「插件」頁有 「rea MCP 服務器」 開關:關閉後工具歸零;打開後僅多上述 2 個網關工具。README 註明 Web 端「設置」裏的插件列表爲只讀,開關在側邊欄「插件」頁操作。

開箱邊界(README 表格摘要)

  • 插件裝載、入口解析、技能安裝、網關列出 229/229 工具:支持。
  • 依賴 Ghidra / IDA / JEB / apktool / frida / adb 的深層能力:需按 rea 文檔自備外部工具。
  • 從 npm / 插件市場一鍵安裝:本包 private: true + @local scope,適合本地 link 安裝。
  • README 標註 tested on Windows only。

安裝與啓用

先做安裝,再重啓 DSH,最後在側邊欄打開開關。

1. 安裝

在 Harness 側邊欄「插件」頁選擇本目錄的絕對路徑安裝,或執行(將 <profile> 與路徑換成你的實際值):

dsh plugin --profile <profile> add "link:<本目錄絕對路徑>"

dsh plugin add 會把聲明瞭 dsh.bundle 的包寫入 <profile>/package.json 的 dsh.profile.bundles。若曾用 pnpm add link: 手工安裝導致 bundle 未進列表,可重跑上述命令。

社區目錄頁:https://www.skillhub.cn/plugins/kkk-yoyo/dsh-mcp-rea(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。

2. 重啓 DSH

dsh.profile.bundles 在啓動時讀取,修改後需重啓 Harness。

3. 打開開關

側邊欄 「插件」 → 「rea MCP 服務器」 → 撥動開關。

典型用法

模型不必一次加載全部 schema。README 給出的典型流程如下:

1. rea_list({ query: "artifact" })
   → 返回名字/描述匹配的工具,例如 inspect_artifact、extract_artifact

2. rea_list({ tool: "inspect_artifact" })
   → 返回 inspect_artifact 的完整 input schema

3. rea_call({ tool: "inspect_artifact", arguments: { path: "C:\\target.exe" } })
   → 返回該工具的結果(Evidence 文本)

參數要點:

  • rea_list:query(搜索)、tool(精確名取 schema)、limit(默認 15,最大 50)。
  • rea_call:tool(必填)、arguments(對象)、timeoutMs(可選,默認 120000,最大 600000)。
  • 單次返回超過 gatewayMaxOutputBytes(默認 200000)會截斷;可優先用工具自帶的 detail: "summary" 或分頁參數。

網關通過 stdio 啓動 rea mcp,每次調用爲短命子進程,不在 Harness 進程內保留分析狀態;跨調用狀態可用 REA 的 evidence_export / evidence_import。

配置(可選)

在 profile 的 cordis.patch.yml 中覆蓋 bundle 條目 rea-preflight,例如:

- id: rea-preflight
  config:
    installSkill: true
    autoInstall: true
    gateway: true
    gatewayTimeoutMs: 120000
    gatewayMaxOutputBytes: 200000
    # installDir: 'D:\rea-cache'
    # packageSpec: rea-agents@6.5.0

常用字段:gateway(是否註冊網關)、autoInstall(入口缺失時私有安裝)、entry(顯式路徑,嚴格使用不回退)、installSkill、verbose 等。若確需模型直接看到全部 mcp__rea__* 工具,可設 gateway: false 並手工插入 @deepseek-ai/dsh-mcp-client;README 明確這會恢復每步約 20 萬 token 的成本。

適用場景與注意

適合誰:在 DSH 裏偶爾或經常做二進制 / 移動應用逆向,希望用 rea 能力,又不想每輪對話揹負全量 MCP 工具定義的團隊或個人。

運行與安全:插件以當前 DSH 進程權限運行;網關會啓動子進程並可能自動下載安裝 rea-agents。安裝前應閱讀倉庫源碼與 MIT 許可證,確認網絡與磁盤路徑可接受。

故障提示(README 摘要):若能看到開關但沒有 rea_list / rea_call,檢查 dsh.profile.bundles 並重啓後撥開關;若 REA entry not found,可開啓 autoInstall、運行 node scripts/install-rea.mjs,或設置 REA_ENTRY。

結尾

dsh-mcp-rea 把 rea 從「常駐兩百多工具、每步約 20 萬 token」收成「可開關的 2 個網關工具 + 按需調用」,並處理入口解析與缺失時的私有安裝。需要細節、自檢命令與全量 MCP 切換方式時,以倉庫 README 爲準。

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

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

小夜