Switch models without losing speed

You hit a cap on one assistant and re-explain everything to the next. Slipstream carries the thread across as a brief, typed straight into the next one's composer.

Version 1.0.0 · 80 KB · Chrome, Edge, Brave, Arc

CLAUDE CHATGPT LIMIT REACHED 12 TURNS
The thread you were in The brief Slipstream writes Where you keep working

The line closes, and you start over

"You are out of free messages until 4:00 PM"

"You've reached the current usage cap for GPT-5"

"You've reached your limit of Grok requests"

Every switch costs the same four messages: the goal, the decisions already made, the constraints you set twenty turns ago, and the thing you actually wanted next.

Three stops, one click

The launcher sits in the corner of every supported chat and keeps the open thread ready to move.

Reads the live thread

A per-platform adapter walks the real message nodes, roles intact and copy buttons stripped, then re-saves the thread as it grows.

Writes the brief

GPT-OSS 120B on Groq compresses the transcript into five labelled parts in well under a second. No key? You still get a trimmed transcript.

Types it into the next one

Pick a line. Slipstream opens that assistant, finds its composer and fills the brief in. You read it, then press send.

What you get out of it

Slipstream reads the conversation you're already in, writes it as a brief, and types that into a different assistant. That changes six things about how you work.

A cap stops the model, not you

When an assistant cuts you off, the work stops too. Slipstream captures the thread instantly and offers the other five lines right there.

No fourth re-explanation

Every switch normally costs the same four messages: the goal, the decisions, the constraints, the next step. The brief carries all four in one paste.

The right model for the step

Draft on one, reason on another, check on a third. You pick the model for the step, not the one holding your history.

You press send, always

The brief is typed into the composer and left there. Read it, edit it, or throw it away: nothing is sent on your behalf.

No server, no account

Threads stay in this browser's local storage. The only request that leaves goes to Groq, carrying the thread you hand off. There is no Slipstream backend.

Free, and optional at that

The Groq key is free and takes a minute. Without one the extension still captures, still spots caps, and still hands off using a trimmed transcript.

What actually gets carried

Not the transcript. A brief built for the assistant receiving it, and the decisions it must not re-litigate.

The thread, cut off
YouRate-limit the upload endpoint. Redis is already in the stack.
ClaudeA sliding window over a sorted set, keyed per API token. 100 requests a minute.
YouWe run three instances behind the load balancer. No new infrastructure.
ClaudeYou are out of free messages until 4:00 PM.
The brief, carried over
Context
Rate limiting an upload endpoint in an existing Express + Redis service.
Established
Sliding window over a Redis sorted set, keyed per API token, 100 req/min.
Constraints
No new infrastructure. Must stay correct across three instances behind the load balancer.
State
Approach agreed; nothing written yet.
Next
Write the middleware, including the Lua script for the atomic trim-and-count.

Six lines, six DOMs

Every chat product marks up its turns differently, so each one gets its own adapter, its own composer strategy, and its own way of phrasing a limit.

ChatGPTOpenAI [data-message-author-role] ProseMirror
ClaudeAnthropic [data-testid="user-message"] ProseMirror
GeminiGoogle <user-query> / <model-response> Quill
CopilotMicrosoft [data-content="ai-message"] textarea
GrokxAI .message-bubble + row alignment textarea
PerplexityPerplexity AI [id^="markdown-content"] textarea

And it sharpens what you type

Pull what's in the composer, rewrite it, send the sharper version back. One undo if you liked your own words better.

What you typed

make my api faster its slow on big payloads

GPT-OSS 120B on Groq · about 0.6s
What gets sent

My REST API slows down on large request payloads. Walk through the likely causes (serialisation, body parsing, and database round-trips) and rank the fixes by impact against effort. Start with a short profiling checklist.

What leaves your browser

One endpoint, one purpose, and only when you ask for it.

Stored
Your last 40 threads, in this browser's local extension storage. Never synced. Exportable as JSON, deletable in one click.
Sent
The thread you are carrying, to api.groq.com, and only when you pick a line or press Enhance.
Never sent
Anything to a Slipstream server, because there isn't one. No analytics, no accounts, no telemetry.
Without a key
Everything still works. Handoffs fall back to a trimmed transcript that keeps the opening turns and the current state.

Install it on Windows or macOS

The same unpacked extension runs on both, in any Chromium browser: Chrome, Edge, Brave, Opera, Arc. There's nothing to build or compile.

Windows

Windows 10 and 11 · Chrome, Edge, Brave
  1. Download the ZIP from the top of this page, then right-click it and choose Extract All, say to C:\Users\you\slipstream-1.0.0. Chrome cannot load an extension from inside a ZIP.
  2. Open your browser and go to chrome://extensions (on Edge that address is edge://extensions).
  3. Turn on Developer mode (top-right on Chrome, left sidebar on Edge).
  4. Click Load unpacked and pick the extracted folder itself, the one with manifest.json sitting directly inside it. Do not go a level deeper.
  5. The settings tab opens. Paste a free key from console.groq.com/keys and press Verify, or skip it.
  6. Open ChatGPT, Claude, Gemini, Copilot, Grok or Perplexity. The launcher appears in the bottom-right.
Show or hide the panelCtrl + Shift + K
Capture the current threadCtrl + Shift + S
Rebind either of themchrome://extensions/shortcuts

macOS

macOS 12+ · Chrome, Edge, Brave, Arc
  1. Download the ZIP from the top of this page and double-click it. Finder unpacks it beside the file, usually ~/Downloads/slipstream-1.0.0.
  2. Open chrome://extensions in your browser (on Brave that address is brave://extensions).
  3. Turn on Developer mode, top right.
  4. Click Load unpacked and pick the unpacked folder itself, the one holding manifest.json. In the file dialog, ⌘ ⇧ . reveals hidden files if you need it.
  5. Paste a free Groq key into the settings tab that opens, or skip it, then open any supported chat.
  6. Working from a clone instead? Run npm install && npm run verify at the repo root, then load extension/ rather than the repo folder.
Show or hide the panel⌘ ⇧ K
Capture the current thread⌘ ⇧ S
Rebind either of themchrome://extensions/shortcuts
The ZIP is ready to load. There is nothing to build. It holds the extension itself, so manifest.json is at its top level and there is no package.json in it. Running npm install inside the unpacked folder fails with ENOENT: no such file or directory … package.json, and that is expected: npm belongs to the repo, not to the download. If you already ran it, delete the package-lock.json and node_modules it left behind and load the folder as it came.

Then, day to day

Four moves. Only two of them need you to do anything.

Keep talking

Capture is automatic. The thread is re-saved a few seconds after each new turn. Nothing to press.

Pick a line

Open the panel from the launcher or the shortcut. The destinations sit on one trunk; click the one you want to continue on.

Read what it typed

The target opens with the brief already in its composer. Edit it if you like, then press that assistant's own send button.

Sharpen anything

With a half-written prompt in the composer, press Enhance. It rewrites in place, and Undo returns your wording untouched.

The short version

Unpacked, from source, on Windows or macOS. No build step, no dependencies, no account. The Groq key is optional and free.

  1. Download the ZIP and unpack it, or clone the repo.
  2. Open chrome://extensions (or edge://extensions) and turn on Developer mode.
  3. Choose Load unpacked: the unpacked ZIP folder itself, or extension/ if you cloned.
  4. Paste a free key from console.groq.com/keys into settings, or skip it.
  5. Open any supported chat. The launcher appears in the corner.
Show or hide the panel⌘ ⇧ K · Ctrl ⇧ K
Capture the current thread⌘ ⇧ S · Ctrl ⇧ S
Drag the launcher anywhereit stays there