如何配合编程智能体使用 REA:第一次调查
安装 REA、连接编程智能体、检查本地 JavaScript 应用,并在重建功能前根据证据核查分析结果。
本页更新内容
- — 发布附来源的社区案例、实用指南,并明确证据的局限。
要将 REA 与编程智能体一起使用,请运行 npx rea-agents@latest setup,批准为所选客户端进行的配置修改,然后重启客户端。接着向智能体提供一个本地软件目标和一个具体的待调查行为;在要求它构建内容之前,先要求它提供相关代码、源码位置和局限说明。
REA 是开源 CLI 和 MCP 服务器。本文是独立社区指南;rea.tools 和 morluto/rea 仓库是官方项目来源。
安装 REA 前需要什么?
REA 需要 Node.js 22.x(从 22.19 起)、Node.js 24.x(从 24.11 起),或 Node.js 26 及以上,以及 npm。Node.js 23、25 和预发布版本不在文档所述的支持范围内。配置新电脑时,请查看官方安装指南。
选择你拥有或获准检查的目标。解压后的 JavaScript 应用或 Electron ASAR 归档适合作为第一个目标,因为 REA 的静态应用分析不需要 Hopper、Ghidra 或 IDA。深度原生二进制分析使用这些引擎之一,另有平台和版本要求。REA README列出了支持的目标类型和前置条件。
| 你想做什么? | 建议起点 | 输入 | 结果 |
|---|---|---|---|
| 请智能体解释某个功能 | REA MCP 配置 | 本地目标路径和具体问题 | 分析结论、证据和后续调查 |
| 不使用智能体检查应用 | REA CLI | 解压后的 JavaScript 应用目录或 ASAR | 结构化应用证据 |
| 手动检查网页布局或暂停 JavaScript | Chrome DevTools | 在 Chrome 中打开的页面 | 直接编辑 DOM/CSS 并控制断点 |
| 自行探索二进制函数和图表 | Ghidra | 支持的可执行文件或库 | 交互式反汇编、反编译和分析项目 |
Chrome DevTools 和 Ghidra 提供强大的直接检查界面。如果你希望智能体协助推进调查,并将选定的发现转化为解释或实现,REA 很有用。参阅我们的 Ghidra 对比和 Chrome DevTools 对比。
如何将 REA 连接到编程智能体?
在终端运行官方配置命令:
npx rea-agents@latest setup
选择目标客户端,检查具体配置和技能路径,并批准方案。配置流程会注册 REA 的本地 MCP 服务器,并安装配套调查指令。重启完成消息中列出的客户端,让运行中的智能体发现连接。官方配置文档介绍了预览、备份和范围控制。
检查 Codex 注册情况时,可使用:
npx -y rea-agents@latest doctor --client codex --json
适当时,将 codex 替换为受支持的客户端 ID。正常的 doctor 结果检查注册文件和前置条件,并不能证明当前智能体会话已经重新连接。如果智能体仍看不到 REA,请重启或重新连接,并查看 MCP 连接错误。仅从 skills.sh 安装技能只会提供指令,不会建立 MCP 连接。官方故障排查解释了这些差异。
第一个提示词应该让 REA 查找什么?
选择一个可观察的行为,而不是要求重建整个应用。对于获准检查的应用,可以使用这样的具体提示词:
使用 REA 检查 /absolute/path/to/my-notes-app。
解释应用如何将笔记导出为 CSV。
展示相关模块、源码位置和证据。
区分已确认的行为与所有无法确定的内容。
将路径替换为真实目标。REA 提供调查结果,由编程智能体解读。接受答案前,检查结果是否指出目标文件、相关代码,以及覆盖不完整的地方。没有具体位置支持的合理解释,仍只是有待进一步调查的假设。
如果 MCP 不可用,也可以直接运行静态 JavaScript 检查:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/my-notes-app --json
该命令接受解压后的应用目录或 ASAR,并返回 Evidence 记录。审计中的原生提供程序失败,并不自动阻止这个独立的 JavaScript 流程。REA 的任务范围就绪检查指南建议核查你实际需要的任务。
重建功能前如何核查结果?
把解释转化为一个小型预测。对 CSV 导出器,可以比较普通笔记和包含逗号、引号或换行符的笔记。询问智能体哪个分支处理这些字符,以及预测输出如何与原始应用实际导出结果对应。将观察到的输出与智能体提出的替代代码分别记录。
官方 Notes 调查通过 CSV 导出教授这一过程。官方恐龙示例则展示另一类目标:REA 读取浏览器游戏已加载的脚本,智能体识别加速规则,再通过小型重建实现可调速度。这些是项目作者编写的演示案例,不是独立用户证言。
发布版本和隐私方面有哪些局限?
仓库 main 分支可能记录比已发布 npm 包更新的功能。@latest 请求当前 npm 发布版;持久化 MCP 注册固定使用执行配置时的具体版本。更新时请重新执行配置并重启智能体。根据已连接服务器实际提供的工具清单和 schema 选择功能,不要假设 main 分支的所有功能都已安装。官方发布边界说明解释了这一区别。
REA 在你的电脑上分析目标。工具结果会发送给编程智能体,而其模型提供商有自己的数据政策。分享前应检查结果包含什么,尤其是源码片段、本地路径、捕获的请求或应用数据。官方 FAQ描述了本地分析与模型提供商之间的边界。
第一次调查后常见的问题有哪些?
没有 Hopper、Ghidra 或 IDA 也能使用 REA 吗?
可以。静态 JavaScript/Electron 和 .NET 检查不需要原生分析引擎,深度原生分析则需要。应根据目标选择前置条件,不要把每个可选提供程序都视为必需。
REA 能恢复原始源码吗?
原生分析返回汇编、伪代码和支持性发现。伪代码是分析表示,不是复现原始源码的承诺。智能体可以根据这些发现编写新实现并测试。
没有 AI 订阅也能运行 REA 吗?
REA CLI 可以直接运行分析流程。使用编程智能体则涉及该客户端的访问要求和模型提供商条款。REA 的 MIT 许可证不提供模型访问权限,也不提供商业分析引擎许可证。
命令失败时该怎么办?
先核对文档中的前置条件并更新 REA。对于全局安装的 CLI,rea update 会更新其所属安装;对于基于 npx 的智能体配置,请重新运行 npx rea-agents@latest setup 并重启客户端。如果仍然失败,请通过官方问题跟踪器报告 REA 版本、操作系统、目标类型、提供程序、操作步骤和错误输出。