Chat & LLM

Chat bubbles

Right-click → Chat drops a bubble you type into. On commit (Enter; Shift+Enter for a newline) it renders and automatically spawns a linked output bubble beneath it, which is answered by the LLM and streamed in token by token.

  • Re-edit a prompt by double-clicking it — the answer regenerates.
  • Each bubble is independently draggable, and pairs are joined by a Bézier connector.

Branching conversations

Every answer has an orange + that spawns a follow-up question beneath it. A turn can have multiple children, so you can explore divergent threads from the same point.

Threaded memory: a turn’s request includes the whole conversation from the root down to that bubble, following the parent chain only — sibling branches are excluded.

A prompt bubble with a streamed answer beneath it and two branched follow-up threads joined by Bézier connectors
A prompt, its streamed answer, and two branched follow-ups.

Connecting a model

Open the hamburger menuAccount tab. For the Chat track you can pick either path (see Accounts & billing for the full picture):

Bring your own key (free)

Chat is model-agnostic: point it at any OpenAI-compatible endpoint — OpenAI, OpenRouter, Ollama, vLLM, LM Studio, or a local llama-server. Choose My own key and set:

FieldNotes
Modele.g. deepseek-v4-pro
Base URLOmit for OpenAI; set it for any other provider
API keyNot needed for local servers

Values are stored locally in your browser and the request runs from your browser, so this is intended for local or trusted use and never touches our servers.

CORS / hosted endpoints: in dev, requests are routed through a same-origin proxy so any provider works without extra configuration. Just enter your provider’s normal base URL.

Hosted (paid from a balance)

Prefer not to manage keys? Switch the track to hosted, pick a model from the curated list, and each request is metered against your dollar balance. Requires a signed-in account with a balance or a Plus subscription.

Either way, responses stream into the output bubble token by token.