rea setup 一条命令跑通 REA 逆向环境:变更先预览、配置自动备份
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
第一次跑npx rea-agents setup时,多数人心里都有一根刺:这个引导式向导会去改我哪些 AI Agent 的配置文件?改坏了怎么办?REA(Reverse Engineer Anything,让 AI Agent 从应用行为一路逆向到原生二进制)的rea setup命令正是为这层顾虑设计的——它把「发现环境 → 生成变更计划 → 批准后应用」拆成幂等三步(见 src/application/Setup.ts 的runSetupWorkflow,第 86–113 行),每一步都留了退路。
一条命令背后:rea setup 动了哪些文件
先给个结论:rea setup只碰三类东西——
- 各 Agent 的 MCP 配置文件(JSON / TOML 等原生格式),只增改 REA 自己的注册项
- REA 工作流技能(skill)文件的目标目录
- 可选的分析提供商:Hopper(macOS 下校验官方 DMG 后直接安装,不经过 Homebrew、不需要管理员权限;Linux 下校验官方
.deb/.rpm等包再调原生包管理器)
它从不擅自升级你的 Node.js、npm 或 Homebrew,运行环境要求 Node 22.19+ / 24.11+ / 26+。
⚠️ 需要分清两个"批准":npm 问你"是否下载并运行 rea-agents"只是包层面的确认;REA 随后会生成自己的变更清单,再次征求同意才会动手。
怎么选 Agent:已注册的预选,新发现的不勾
交互式流程由 src/cli/interactiveSetup.ts(第 34–68 行)实现,分两步走。
第一步:多选界面勾选目标
启动后列出本机支持的全部 Agent(Claude Code、Codex、Cursor、Gemini CLI 等)。规则很简单:
- 已有 REA 注册信息的 Agent 默认勾选
- 新检测到的 Agent 只是"可用",默认不勾选——检测到不等于获得写入许可
不想交互,直接--client codex --client cursor显式指定,或--all-detected一步到位。
第二步:审计划,不点头就收手
选定后 REA 打印一份精确的清单:Hopper/Ghidra 的现有状态或安装建议、每个目标配置文件的完整路径、skill 的落盘位置、涉及的外部来源与包管理器命令。确认语是 "Apply these N changes?",选 "No, cancel" 或按 Ctrl-C 都是取消。
⚠️ 取消即零改动,磁盘上一个字节都不会变;若现有配置格式损坏或不安全,整个事务会在写入任何文件、安装 Hopper 之前被整体拦下。
写入前自动备份:备份、原子替换、读回三连
批准之后,每个 Agent 配置都要过 src/application/SetupClientConfiguration.ts 中persistClientConfiguration(第 149–220 行)这道工序:
| 环节 | 动作 | 出问题时 |
|---|---|---|
| 备份 | 原文件原样复制为<配置文件>.rea.backup | 备份失败则放弃写入 |
| 原子替换 | 先写临时文件再原子重命名 | 中途失败不留半截文件 |
| 读回校验 | 重新解析写入结果并语义比对 | 不达标自动回滚为原内容 |
两个细节值得注意:备份只在文件原本存在时生成,且已存在的.rea.backup不会被二次覆盖——你手里那份是最早的原件,出问题可以手工还原;另外写入只更新 REA 自己的注册项,你在配置里维护的其他 MCP 服务原样保留。
常用开关与收尾自查:Hopper 单独批准,doctor 随时复查
| 开关 | 作用 | 适合什么时候用 |
|---|---|---|
--dry-run | 只打印解析后的计划(状态planned),不落盘 | 第一次跑之前先摸底 |
--client <名称> | 指定目标 Agent,可重复 | 脚本化、范围明确 |
--all-detected | 覆盖全部检测到的支持 Agent | 想一次配齐 |
--skill=false | 不装捆绑的工作流技能 | 只要 MCP 注册 |
--yes | 跳过交互直接应用 | 自动化流水线 |
--install-hopper | 随--yes一并批准装 Hopper | 需要原生深度分析 |
--json | 计划与就绪状态以 JSON 输出 | 供上层程序消费 |
--accessible | 顺序式纵向提示 | 屏幕阅读器 |
典型的只读摸底写法:
rea setup --client codex --skill=false --dry-run--yes有一条刻意画出的安全边界:不带任何范围参数时,它只作用于 REA 已有的注册项,绝不会顺手把检测到的所有 Agent 都选了(选项定义见 src/cli/setupCommands.ts 第 44–97 行)。
Hopper 拥有独立的批准项,不与配置写入捆绑:检测到已装就直接复用,卸载 REA 时也原样保留。装完 Hopper 之后,让 Agent 通过 REA 驱动它做反汇编、反编译、函数级分析,就是 安装文档 后半段的戏份。
收尾部分可以记成三句话:
- setup 结束时会报告哪些 Agent、工具与技能文件通过了最终检查,并提示重启改过的 Agent 以加载 REA
rea doctor --json严格只读,随时可复查平台、注册状态与提供商就绪情况rea update只更新当前 CLI 所在的 npm 安装;rea uninstall仅移除 REA 自己拥有的注册项和技能文件,你的 Hopper 和原有配置不受影响
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考