如何配合程式設計代理使用 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 版本、作業系統、目標型別、提供者、操作步驟和錯誤輸出。