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