{"repo":"SyntaxSmith/rosetta","free":true,"listed":false,"github":"https://github.com/SyntaxSmith/rosetta","clone":"git clone https://github.com/SyntaxSmith/rosetta.git","description":"Programmatic access to ChatGPT (incl. Pro) by translating between an auth-holder Chrome page and a Node API. CDP Fetch interception + WebSocket second-leg streaming. Ships an MCP server for Claude Code / Codex / Cline.","language":"TypeScript","stars":28,"topics":[],"license":"MIT","category":"mcp-servers","readme_excerpt":"rosetta Programmatic access to ChatGPT (incl. Pro) from Node, by translating between an auth-holder Chrome page and a clean API. Like the Rosetta Stone: the Pro web protocol on one side, a regular Node API on the other. What it does - Pro support : runConversation({ model: \"gpt-5-6-pro\", ... }) follows the stream handoff event, opens the WebSocket second leg, and aggregates the live CoT until message stream complete — same UX as the chatgpt.com UI but returnable from Node. - Instant models too : non-Pro slugs ( gpt-5-6 default; gpt-5-5 is the web UI's 极速 lane) return in seconds via the same path. - Multi-turn : pass conversationId + parentMessageId (or use recall: \"thread\" for persistence). - Concurrency : each call spawns its own tab; many calls can stream in parallel. - Live token deltas : optional onChunk(delta) callback streams the CoT as it arrives. - Idle-timeout watchdog : long thinks (15 min+) keep going as long as the WS sends heartbeats; only true silence kills the call. Install Requires Node ≥ 22. Setup: launch Chrome You need a Chrome with --remote-debugging-port open and logged in to chatgpt.com once . Profile is reused across runs. Linux macOS Windows (PowerShell) Sign in once; the profile persists. Subsequent runs reuse the cookies. CLI Common flags: --port (default 9222), --host (default 127.0.0.1), --model . Programmatic API Concurrency The typing phase (Chrome focus) is mutex-serialized; response streaming runs in parallel. Expected parallelism factor agains","default_branch":null,"files":null,"tree":[],"storefront":"/r/SyntaxSmith","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SyntaxSmith/rosetta/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}