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 自動化逆向工程步驟。

相關

  • 專案
  • 專案
  • 專案
  • 專案