Visbyr Chat — live at chat.visbyr.com
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.
Encrypted keys · resumable streams · your data stays yours
Claude 4.5 Sonnet — it is stronger on large refactors. Want me to scan the repo and propose a plan for the diff?
Ask anything…
Works with OpenAI · Anthropic · Google · xAI · any OpenAI-compatible endpoint
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_KEY
Switch 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 sync
Streams 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 · Redis
Tools that actually do things
Web search, URL fetch, document write and edit, writing suggestions, and Python execution with Pyodide. All behind one model catalog.
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.
Reasoning control
Pick effort per message — none, minimal, low, medium, high, max — and see it reflected in the model badge.
Real rich-text editing
Documents use ProseMirror, not a textarea. Code artifacts use CodeMirror with Shiki highlighting.
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.
Export and extras
Export chats to markdown, slash commands, custom themes, private chats, file attachments, and image paste.
Stack
Next.js 16 · React 19 · AI SDK 7
Auth
Clerk · private by default
Data
Postgres · Drizzle ORM
Cache
Redis · rate limit + resume
Artifacts
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 Tools
The model can search, fetch, calculate, and write files
Tools are not demos. Web search and URL fetch for grounding, Python for real compute, and document tools that target edits with find-and-replace.
Three steps.
No sales call.
chat.visbyr.com — auth required
Sign in and add a provider
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; 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 run 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.