kalil0321/reverse-api-engineer
The agent that turns websites into APIs!
Reverse API Engineer – 將網站轉變為現成的 API 客戶端
功能說明
- 您將工具指向一個網頁並告訴它您的需求(例如 抓取所有 Apple 的職缺)。
- 它會開啟瀏覽器,您可以手動控制,或由 AI 驅動的「代理」進行導航。
- 當頁面載入時,它會將所有網路請求記錄到 HAR (HTTP Archive) 檔案中。
- 語言模型(Claude、OpenCode、Ollama、Copilot 等)會讀取這些流量,並以您選擇的語言(Python、JavaScript/TypeScript、Go、Java、C#、PHP、Ruby 或 C)編寫型別化的客戶端程式庫。
- 產生的客戶端會儲存在資料夾中,並附帶一個小型 README 和範例腳本,可直接匯入您的程式碼中使用。
為什麼這很重要
- 避免繁瑣的「開啟開發者工具 → 複製 cURL → 手動製作請求」循環。
- 適用於公開未記錄 JSON 端點的網站,讓您可以像使用正式 API 一樣處理它們。
- 支援互動式擷取(您點擊瀏覽)以及透過 AI 代理進行的全自動擷取(可登入、點擊、捲動等)。
安裝
# 使用 uv (推薦) 或 pip
uv tool install reverse-api-engineer # 或 pip install reverse-api-engineer
- 代理模式 (預設) 僅需核心套件。
- 手動模式 需要額外的
[manual]選項以及 Playwright Chromium 安裝:
uv tool install "reverse-api-engineer[manual]"
playwright install chromium
快速開始
reverse-api-engineer
> fetch all apple jobs from their careers page
# 瀏覽器視窗開啟 – 導航、互動,然後關閉
# 產生的程式碼出現在 ./scripts/apple_jobs_api/
您可以隨時透過 Shift+Tab 切換模式。
模式
| 模式 | 運作方式 |
|---|---|
manual |
您操作瀏覽器;AI 僅在擷取後產生客戶端。 |
agent |
AI 代理自動操作瀏覽器 (Playwright MCP, Chrome-MCP, 或 Vercel 的 agent-browser)。 |
engineer |
對先前儲存的 HAR 擷取檔案重新執行產生。 |
collector |
代理同時透過網頁搜尋 + 擷取來提取結構化資料 (JSON/CSV)。 |
設定
- 設定位於
~/.reverse-api/config.json,可透過 CLI 內的/settings指令編輯。 - 您可以選擇 LLM 提供者 (
claude,opencode,cursor,copilot) 和模型 (例如claude-sonnet-4-6)。 - 輸出語言可選 (
python,javascript,typescript,go,java,csharp,php,ruby,c)。 - 工具可自動啟動本地 Ollama 或 OpenCode 伺服器,或連接到現有的伺服器。
CLI 基礎
/settings– 編輯模型、SDK、代理提供者、輸出語言等。/history– 列出過去的執行紀錄,包含時間戳記、Token 使用量與成本。/messages <run_id>– 查看該次執行與模型的完整對話。/help– 顯示所有指令。- 非互動式/可腳本化使用:透過
--json和--no-interactive旗標,並提供 JSON 輸出結構以便輕鬆傳遞給jq。
輸出
- 永久執行資料:
~/.reverse-api/runs/scripts/<run_id>/ - 專案中的友善副本:
./scripts/<descriptive_name>/ - 收集器結果:
./collected/<folder>/包含items.json,items.csv以及一個 README。
注意事項
- 產生的程式碼由語言模型產生;執行前請務必檢查。
- 強力阻擋機器人的網站可能需要手動互動或其他變通方法。
開發
git clone https://github.com/kalil0321/reverse-api-engineer.git
cd reverse-api-engineer
uv sync
uv run reverse-api-engineer
- 建置腳本:
./scripts/clean_build.sh。 - 需要 Python 3.11+、所選 LLM 的 API 金鑰,以及(手動模式下)Playwright Chromium。
授權 – MIT。
總結:Reverse API Engineer 是一個基於 Python 的 CLI,它擷取網站的網路流量,將其輸入大型語言模型,並輸出多種熱門程式語言的現成型別化 API 客戶端。它彌補了網頁爬蟲與正式 API 使用之間的差距,利用現代 LLM 自動化逆向工程步驟。
相關
- 專案
- 專案
- 專案
- 專案