browser app · vue spa
Character cards, streaming replies, no account. Pair it with Amallo once and it talks to the model on your own computer, from a phone on mobile data, with nothing stored on a server because there is no server.
Do you remember what was on the seventh shelf?
I remember the dust more than the books. Give me a moment: the ledger for that row is water-damaged, but the hand is still legible.
streaming from your machine
Import, edit and keep a cast. Personas, greetings and example turns travel with the card: SillyTavern V1, V2 and V3 PNGs and JSON all import.
Chats, messages and characters live in your browser's IndexedDB. No account, no sync, nothing uploaded. Characters and personas export to JSON one at a time; there is no whole-library backup yet.
Tokens arrive as your model produces them, over the same encrypted tunnel.
Settings → Remote access, scan Amallo's code from your phone. No base URL to type, no CORS to configure, no key to paste.
Save more than one Relay pairing, name them, and switch between them: the desktop at home and the workstation at the office are two taps apart.
The theme is chosen before first paint from what you picked last time, so a dark-mode reader never gets a white flash on load.
Switch models per chat from whatever you have pulled. No per-message bill, because it is your hardware.
The app is on GitHub under AGPL-3.0, like the rest of the family. Host your own copy, or check for yourself that nothing phones home.
A static build, served from opencharui.41tunnels.com. Your chats never reach it, because there is nothing on the other side to reach. It serves files and then gets out of the way.
Open OpenCharUIEvery release publishes a container image to GHCR, and the repo builds to a folder of static files you can put behind any web server.
# your own copy, on your own boxdocker run -d -p 8080:8080 \ ghcr.io/41tunnels/opencharui:latestEither way, pair with Amallo to reach your own models from outside your network, or point it at localhost:11434 and stay on the machine Ollama is already running on.
install Amallo first · then scan once · source on GitHub