
syntaxsmith/rosetta
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Программный доступ к ChatGPT (в том числе Pro) путем перевода между страницей Chrome и API узла. CDP Fetch interception + WebSocket second-leg streaming.
Обзор
Программный доступ к Node, путем перевода между страницей Chrome и чистым API. Как и Rosetta Stone: веб-протокол Pro с одной стороны, обычный API Node с другой. -: runConversation ({модель: "gpt-6-pro", ...}) следует за событием stream handoff, открывает вторую ногу WebSocket и агрегирует live CoT до message stream complete - тот же UX, что и пользовательский интерфейс chatgpt.com, но возвращаемый из узла. - : не-Pro слаги (gpt-5-6 по умолчанию; gpt-5-5 - это полоса . веб-интерфейса) возвращаются в считанные секунды по тому же пути. - : передай разговорId + родительMessageId (или используйте вспомните: "поток" для настойчивости). - : каждый вызов порождает свою собственную вкладку; многие вызовы могут транслироваться параллельно. - : дополнительный onChunk (delta) callback передает CoT по мере его поступления. Длинные мысли (15 минут +) продолжаются до тех пор, пока WS посылает сердцебиение; только истинное молчание убивает призыв. Вам нужен Chrome с открытым портом удаленной отладки. Профиль повторно используется во время выполнения. Входите один раз, профиль сохраняется.
Обзор (машинный перевод)
Программный доступ к ChatGPT (в том числе Pro) от Node, путем перевода между страницей Chrome и чистым API.
Как и Rosetta Stone: веб-протокол Pro с одной стороны, обычный API Node с другой.
Что он делает
** Поддержка Pro**: runConversation({ model: "gpt-6-pro", ... }) следует за событием stream_handoff, открывает вторую ногу WebSocket и агрегирует живой CoT до message_stream_complete — тот же UX, что и пользовательский интерфейс chatgpt.com, но возвращается из Node.
- Мгновенные модели тоже: не-Pro слаги (по умолчанию
gpt-5-6;gpt-5-5- это полоса . веб-интерфейса) возвращаются в считанные секунды по тому же пути. Многоповоротный: передайтеconversationId+parentMessageId(или используйтеrecall: "thread"для настойчивости). Совпадение: каждый вызов порождает свою собственную вкладку; многие вызовы могут передаваться параллельно. - Живые дельты токенов: необязательный
onChunk(delta)обратный вызов потоков CoT по мере его поступления. Сторож бездействия: долго думает (15 минут +) продолжать идти, пока WS посылает сердцебиение; только истинное молчание убивает вызов.
##Установка
Требуется узел ≥ 22.
Настройка: запуск Chrome
Вам нужен Chrome с открытым --remote-debugging-port и ** logged in to chatgpt.com once**.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
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-6-pro", ... })follows thestream_handoffevent, opens the WebSocket second leg, and aggregates the live CoT untilmessage_stream_complete— same UX as the chatgpt.com UI but returnable from Node. - Instant models too: non-Pro slugs (
gpt-5-6default;gpt-5-5is the web UI’s 极速 lane) return in seconds via the same path. - Multi-turn: pass
conversationId+parentMessageId(or userecall: "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
pnpm add @syntaxsmith/rosetta
# or
npm i @syntaxsmith/rosetta
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
chromium \
--remote-debugging-port=9222 \
--user-data-dir=$HOME/.rosetta/profile \
--no-first-run --no-default-browser-check \
https://chatgpt.com/
macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--remote-debugging-port=9222 \
--user-data-dir=$HOME/.rosetta/profile \
--no-first-run --no-default-browser-check \
https://chatgpt.com/
Windows (PowerShell)
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--remote-debugging-port=9222 `
--user-data-dir=$env:USERPROFILE\.rosetta\profile `
--no-first-run --no-default-browser-check `
https://chatgpt.com/
Sign in once; the profile persists. Subsequent runs reuse the cookies.
CLI
# default = Pro (gpt-6-pro, GPT-6)
rosetta run "Explain idempotent matrices in three sentences."
# cheaper tier via explicit slug
rosetta run -m gpt-5-6 "Reply with the single word: pong"
# stream live tokens
rosetta run --stream "Sketch a 3-paragraph plan for X"
# threaded recall — successive calls build on the same conversation
rosetta run --recall research "what's the prior on Y?"
rosetta run --recall research "given that, what would change?"
# inspect / clear persisted threads
rosetta threads
rosetta forget research
# list models the account exposes
rosetta probe
# attach a local file (repeatable) — image, PDF, CSV, code, ...
rosetta run --attach photo.png "What's in this image?"
rosetta run --attach report.pdf "Quote the third paragraph verbatim."
Установка
npx -y -p @syntaxsmith/rosetta rosetta-mcpКонфигурация
{
"mcpServers": {
"rosetta": {
"command": "npx",
"args": ["-y", "-p", "@syntaxsmith/rosetta", "rosetta-mcp"],
"env": {
"ROSETTA_CDP_PORT": "9222"
}
}
}
}