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

相关

  • 项目
  • 项目
  • 项目
  • 项目