One chat.
Every model.
Visbyr Chat is a multi-provider AI chat that does not lock you in. Bring your own keys from OpenAI, Anthropic, Google, xAI, or any OpenAI-compatible endpoint, pick the best model for the job, and switch mid-conversation without losing context.
Switched to Claude 4.5 Sonnet — it is stronger on large refactors. Want me to scan the repo and propose an artifact for the diff?
Chat without the lock-in
Most chat apps pick a provider for you. Visbyr Chat lets you bring your own. Keys are encrypted, models are discovered from the catalog at models.dev, and capabilities like vision, tools, and reasoning are shown before you send.
Keys stay encrypted
Add any provider with an encrypted API key. No proxy, no markup. Your key decrypts only when your request runs.
AES-GCM · ENCRYPTION_KEYSwitch models mid-chat
Start on a fast model, switch to a reasoning model when it gets hard. The model selector follows your conversation, not the other way around.
model catalog · live syncStreams that survive reloads
Close the tab, lose Wi-Fi, come back. The stream resumes through Redis so you do not lose a long answer halfway through.
resumable-stream · Redisconstruction Tools that actually do things
Web search, URL fetch, weather, document write and edit, writing suggestions, and Python execution with Pyodide. All behind one model catalog.
article Artifacts on the side
Code, text, sheets, and images live in a panel next to the chat. Edit with versioning, not by pasting back and forth.
psychology Reasoning control
Pick effort per message — none, minimal, low, medium, high, xhigh, max — and see it reflected in the model badge.
edit_note ProseMirror editing
Documents use a real rich-text editor, not a textarea. Code artifacts use CodeMirror with Shiki highlighting.
smartphone Mobile that keeps up
Custom keyboard handling, swipe actions, and a sidebar that becomes a sheet. It feels like an app, not a shrunken desktop.
download Export and extras
Export chats to markdown, slash commands, custom themes, private chats, file attachments, and image paste.
Code and writing live next to the chat, not inside it
When the model writes something worth keeping, it opens in a panel on the right. You read and edit there while the conversation stays readable on the left. Every change versions, so you can step back.
writeDocument({ kind: "code", title: "parse-csv.ts" })
// streams into the panel
// you edit, it versions The model can search, fetch, calculate, and write files
Tools are not demos. Web search and URL fetch for grounding, weather for context, Python for real compute, and document tools that target edits with find-and-replace.
How it
works
Three steps. No sales call.
Sign in and add a provider
Chat needs an account. After sign-in, open Settings and add a provider. Paste an API key from OpenAI, Anthropic, Google, or xAI — or point a custom provider at any OpenAI-compatible base URL. Keys are encrypted with your ENCRYPTION_KEY.
Pick a model, set how hard it should think
The catalog shows what each model can do — tools, vision, reasoning — and how much thinking it supports. Choose per message. Reasoning effort goes from none to max, and the badge in the composer tells you what is active.
Chat, build, export
Chat with streaming markdown, reasoning blocks, and code blocks with copy. When the model builds an artifact, refine it in place. When you are done, export the thread to markdown — or try DEMO_MODE=1 locally if you just want to look around.
Researchers
Keep one place for every provider. Switch to the cheapest model for skimming, the strongest for synthesis.
Developers
Artifacts keep code out of the scroll. Python runs in the browser. No context blown on pasted files.
Teams that own their keys
Self-host with Docker Compose, Postgres, and Redis. Or run the demo with no external services at all.
Start chatting at chat.visbyr.com
Sign in, add a provider, pick a model. For a quick look without keys, run locally with DEMO_MODE=1 pnpm dev:demo.
Apache 2.0 · Postgres · Redis optional · Hosted auth