本文介绍如何在 Windows 上安装 REA(Reverse Engineer Anything),并把它的 MCP 服务接入 OpenCode 这个终端 AI Agent。每一步都会解释命令和配置的含义。
上一篇《CentOS Stream 9 安装与使用 REA》讲了 REA 的原理和基本用法,本文侧重 Windows 安装与 OpenCode 对接。核对日期:2026 年 10 月 14 日,npm 包
rea-agents当时约 6.4.0,具体以 npm 页面 为准。
一、Windows 上的支持情况
REA 官方支持 Windows,但分场景:
- JavaScript/Electron 与 .NET 静态分析:Windows 上开箱即用,不需要反汇编引擎。
- 原生二进制分析:可用 Ghidra(官方标注为实验性支持)或 IDA(带可选的本地 MCP 桥接)。Hopper 在 Windows 上不可用,setup 不会在 Windows 上安装它。
- Android APK:需要 headless JADX + 完整 JDK,支持 Windows x64。
二、准备工作
2.1 安装 Node.js
REA 要求 Node.js 22.x(≥22.19)、24.x(≥24.11)或 26+,并自带 npm。注意 23、25 以及预发布版不受支持。
node -v
npm -v
没装的话到 nodejs.org 下载 Windows 安装包装 LTS 版本,或用 nvm-windows 管理多个版本。装完重新打开 PowerShell,确认版本在支持范围内。
2.2 安装 OpenCode
OpenCode 是一个终端里的 AI 编程 Agent。用 npm 装最省事:
npm install -g opencode-ai
opencode --version
npm install -g 全局安装,opencode --version 确认可执行。也可以走官方脚本(以 opencode.ai 当前页面为准):
irm https://opencode.ai/install.ps1 | iex
三、安装 REA
3.1 推荐:交互式安装向导
npx rea-agents@latest setup
npx rea-agents@latest setup 用 npx 拉取最新版并进入向导。向导会列出检测到的受支持 Agent,让你勾选;在列表里选中 OpenCode 即可。它会在写文件前先展示要改动的路径和内容,确认后才真正写入,并自动备份现有配置。装完按提示重启 OpenCode。
3.2 非交互地只配 OpenCode
想跳过选择界面,直接用 --client 指定:
npx rea-agents@latest setup --client opencode
OpenCode 在 REA 里的客户端 ID 是 opencode。先只读演练看计划、不真正改动:
npx rea-agents@latest setup --client opencode --dry-run
--dry-run 返回一份 planned 状态的可读计划、退出码 0,不会写任何文件,适合在自动化和 CI 里先确认。
3.3 全局命令行工具(可选)
想在 PowerShell 里直接敲 rea 命令:
npm install -g rea-agents
rea --help
rea --help 能输出命令列表说明全局安装成功。
3.4 验证安装
rea doctor --json
rea doctor 是只读健康检查,会审计 Node 运行时、OpenCode 注册、skill 和分析引擎。只查 OpenCode 注册用 rea doctor --client opencode --json。
四、把 REA 接入 OpenCode
4.1 setup 自动写入了什么
setup 为 OpenCode 写的是 V1 的 mcp.rea 条目(OpenCode V1、V2 都能加载);如果你的配置已经用了 OpenCode V2 原生的 mcp.servers 表,setup 会改写到那里并替换旧的 REA 条目。它还会处理 Windows 上的启动命令包装(用 cmd.exe /d /c 包住 npx)。
OpenCode 的配置文件位置:全局配置通常在 ~/.config/opencode/opencode.json(Windows 上即 %USERPROFILE%\.config\opencode\opencode.json),支持 JSONC;REA 还尊重 OPENCODE_CONFIG_DIR 和 OPENCODE_CONFIG 两个环境变量,JSON 和 JSONC 同时存在时取后加载的那个。所以交给 setup 自动定位最稳妥,不必手算路径。
4.2 手动注册参考
如果不想用向导,也可以手动在 OpenCode 配置里加一个 local 类型的 MCP 服务。V2 形式的示意:
{
"mcp": {
"servers": {
"rea": {
"type": "local",
"command": ["npx", "-y", "rea-agents@6.4.0", "mcp"],
"enabled": true
}
}
}
}
V1 形式(老版本兼容)则直接放在 mcp 下:
{
"mcp": {
"rea": {
"type": "local",
"command": ["npx", "-y", "rea-agents@6.4.0", "mcp"],
"enabled": true
}
}
}
command 数组就是启动命令:npx -y rea-agents@6.4.0 mcp 表示以 stdio 方式启动 REA 的 MCP 服务,-y 自动确认 npx 下载。如果 Windows 下 npx 直接启动失败,把 command 改成 ["cmd", "/d", "/c", "npx", "-y", "rea-agents@6.4.0", "mcp"]——这正是 setup 在 Windows 上做的事。建议固定具体版本号而不是 @latest,保证行为可复现。
以上 JSON 是参考形态,字段以你安装的 OpenCode 版本和
rea setup实际生成的为准。
4.3 重启并验证
改完配置后,完全退出并重新打开 OpenCode,让新的 MCP 注册生效。然后在 OpenCode 的终端里确认工具已加载(不同版本界面不同,通常在 MCP 列表或对话中可见 rea 工具),并在 PowerShell 里跑:
rea doctor --client opencode --json
doctor 检查的是配置文件和前置条件,不检查”正在运行的 OpenCode 会话”;如果工具没出现,先重启/重连 OpenCode,再看 doctor 结果。
五、配置原生分析引擎(可选)
只做 JavaScript/.NET 静态分析可跳过本节。要分析原生二进制,Windows 上推荐 Ghidra 12.1.x + JDK 21。
先确认 Java:
java -version
javac -version
没有就装一个 64 位 JDK 21(如 Temurin)。然后在 PowerShell 里告诉 REA 它们的位置:
$env:GHIDRA_INSTALL_DIR = "C:\tools\ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:\Program Files\Java\jdk-21"
rea doctor --json
rea providers --json
GHIDRA_INSTALL_DIR 指向解压后的 Ghidra 目录,JAVA_HOME 指向 JDK 21(如果 java/javac 已在 PATH 可省略)。rea doctor --json 验证引擎是否就绪,rea providers --json 列出可用分析引擎。Windows 上的 Ghidra 支持是实验性的,官方细节见 windows-ghidra-p0 文档;IDA 另有 ida-provider 文档。
注意:这些
$env:只在当前 PowerShell 会话生效。要让 OpenCode 启动的 MCP 进程也拿到它们,应通过 setup 把环境写进注册配置,而不是只改一个无关终端的变量。
六、使用
6.1 在 OpenCode 里用自然语言
重启 OpenCode 后直接提问:
理解一下目标应用里的搜索功能是怎么实现的,给出证据,并帮我的项目实现一个类似的。
把”目标应用”换成你要分析的程序。OpenCode 会通过 REA 打开目标、静态分析或反汇编、追踪相关代码,返回带证据和局限性的结论,你再继续追问或让它实现。
6.2 命令行使用
rea analyze-javascript-application "D:\apps\example" --json
analyze-javascript-application 对解包后的 JavaScript/Electron 应用目录做静态分析,--json 输出结构化结果。用 npx 一次性执行则写成 npx -y rea-agents@latest analyze-javascript-application "D:\apps\example" --json。
七、更新与卸载
全局 CLI 更新:
rea update
通过 npx 集成的 OpenCode 重新跑向导刷新注册:
npx rea-agents@latest setup --client opencode
按提示确认后重启 OpenCode。
卸载:
rea uninstall
rea uninstall --purge-data
rea uninstall 移除 REA 拥有的 Agent 注册和 skill 文件;--purge-data 额外清掉 ~/.rea 下的缓存和状态。Hopper、Node.js、分析结果等会保留。
八、常见问题
报 Node.js 版本不支持
REA 只支持 Node.js 22.x(≥22.19)、24.x(≥24.11)、26+,23、25 及预发布版不支持。node -v 确认后换到支持的大版本。
OpenCode 里看不到 REA 的工具
通常是配置没生效或没重启。先 rea doctor --client opencode --json 看注册是否健康,再完全退出重开 OpenCode;工具加载不出来时检查注册里的启动命令在 Windows 下能否单独跑通。
Windows 上启动 REA 失败、提示找不到 npx
把 MCP 的 command 用 cmd /d /c 包装(见 4.2),或确认 Node/npm 已加入系统 PATH,并重开终端。
Ghidra 分析原生二进制报 provider_unavailable
确认 GHIDRA_INSTALL_DIR 指向 Ghidra 12.1.x、JDK 是 64 位且 javac 可用,并确保这些环境变量被写进了 OpenCode 启动的 REA 进程环境(用 setup 配置,而不是只改临时终端)。Windows 的 Ghidra 支持是实验性的,先读 windows-ghidra-p0 文档。
想固定某个 REA 版本
注册里写死版本号(如 rea-agents@6.4.0),别用 @latest;之后要升级时重新跑 setup --client opencode 并确认改动。
官方资源
- 项目仓库 morluto/rea
- 官网 rea.tools
- npm 包 rea-agents
- 安装与配置文档
- 客户端配置(OpenCode 等)
- Windows Ghidra 支持
- OpenCode 官网
内容依据 morluto/rea 官方文档整理,核对日期:2026 年 10 月 14 日。REA 迭代较快,客户端 ID、配置字段和版本可能变化,请以上述官方文档为准。