2026-05-31 23:43:11 +08:00
|
|
|
# auto-reverse
|
|
|
|
|
|
2026-05-31 23:50:26 +08:00
|
|
|
Conversational CLI that reverse-engineers a website's API: an LLM drives a headed
|
|
|
|
|
browser while an embedded mitmproxy captures real traffic and documents it into a
|
|
|
|
|
live OpenAPI spec + markdown.
|
2026-05-31 23:43:11 +08:00
|
|
|
|
2026-05-31 23:50:26 +08:00
|
|
|
## Runtime
|
2026-05-31 23:43:11 +08:00
|
|
|
|
2026-05-31 23:50:26 +08:00
|
|
|
Built on **standard CPython 3.14** (managed via `uv`).
|
2026-05-31 23:43:11 +08:00
|
|
|
|
2026-05-31 23:50:26 +08:00
|
|
|
> **Note on free-threading:** an earlier iteration targeted free-threaded 3.14
|
|
|
|
|
> (`3.14t`), but `mitmproxy` cannot run there yet — its `aioquic` and
|
|
|
|
|
> `mitmproxy-rs` dependencies only ship Limited-API (`abi3`) wheels, which the
|
|
|
|
|
> free-threaded build rejects, and source builds fail. Since auto-reverse's
|
|
|
|
|
> concurrency is entirely I/O-bound (an asyncio proxy loop, an agent loop waiting
|
|
|
|
|
> on network/LLM, and Playwright running as a separate Node subprocess),
|
|
|
|
|
> free-threading offered no practical benefit here. The project therefore targets
|
|
|
|
|
> standard CPython 3.14.
|
2026-05-31 23:43:11 +08:00
|
|
|
|
2026-05-31 23:50:26 +08:00
|
|
|
## Setup
|
2026-05-31 23:43:11 +08:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
uv sync
|
2026-05-31 23:50:26 +08:00
|
|
|
uv run playwright install chromium
|
2026-05-31 23:43:11 +08:00
|
|
|
```
|
2026-05-31 23:50:26 +08:00
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
ANTHROPIC_API_KEY=... uv run auto-reverse https://example.com
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
(Full usage, flags, and REPL commands are documented as the CLI lands.)
|