Chatting & roleplay
The chat screen is the heart of Pyre — a streaming roleplay against any OpenAI-compatible provider, with the tools to steer, re-roll, and branch a scene without ever losing your place.
Live streaming and stopping
Replies stream in token-by-token, so you watch the character write in real time instead of waiting for a wall of text. Because the reply arrives as it's written, you can stop a generation early and redirect — useful when a reply is heading somewhere you don't want.
Tip
If a model emits "thinking" output (DeepSeek-R1 and other reasoning models), Pyre recognizes it under several field names (reasoning_content, reasoning), wraps it in <think> tags, and hides it by default. You get clean roleplay text without the model's scratchpad. Want to peek at the reasoning? Toggle it on in Chat Settings.
Variants and re-rolls
Every assistant reply can hold multiple alternate generations. Swipe < / > to move between them and keep the one you like — you're never stuck with one bad roll.
- Regenerate re-rolls the last (or any) assistant message as a fresh variant — a quick do-over.
- Continue streams more text into the same message instead of making a new variant — for when a reply was cut short or you simply want it to keep going. Continue works on assistant replies and, impersonate-style, on your own messages too.
Branching that keeps your history
Rewriting (branching) one of your own messages does not destroy the conversation that followed the old version. Each variant of a user message keeps its own downstream timeline, and that timeline is restored when you swipe back to it. Nested branches are supported, and the chat tree lets you navigate the branches.
Note
This is what "non-destructive" means in Pyre: exploring an alternate story path is free. The original path is still there, intact, behind the variant you came from.
Writing tools
- Impersonate me — the model writes your next turn in your persona's voice, using the chat so far as a style guide. Handy when you're not sure what to say, or to match a particular writing style.
- Slash commands — stage-direct the scene without leaving the input box:
/oocfor out-of-character asides,/scenefor scene-change narration,/sysfor a one-off system insert, and more. See the full list in the Slash commands reference.
Editing the transcript
Long-press a message (or use the hover toolbar on desktop) to reveal its actions: Edit, Copy, Continue, Regenerate, and Delete — on any message, yours or the character's.
Delete behavior is configurable: remove only this message, or this and everything after it.
Alternate greetings
A character that ships with multiple opening messages (the chara_card alternate_greetings field) exposes them as swipeable variants of the first message — so you can replay a character from a different starting beat. You can also generate a fresh, scenario-contextualized opener.
Group chat
Put multiple characters in one conversation. A responder chip row lets you pick who speaks next. Each member contributes its own bound lorebooks regardless of who's currently responding, so every character's world facts stay in play.
Info
In groups, each message is attributed using a frozen snapshot of the character who wrote it. Who said what stays correct even if you later edit or remove that character. (More on snapshots in Characters & personas.)
Chat backdrop
Set soft art behind the bubbles, sourced from the character avatar, the persona avatar, a custom uploaded image, or none. Bubble opacity and backdrop opacity are both adjustable, so you can tune the mood per chat.
Resilient generation
Pyre is built to tell you what went wrong, not just that something did.
- Typed errors. Offline vs. timeout vs. server error each surface as a human-readable message with a Retry button — no raw
SocketExceptionconsole text. - Stall detection. A "Generating…" bubble can't hang forever; Pyre watches for a stalled stream and surfaces it. Dropped or garbled stream frames are counted and reported too.
Android keep-alive
On Android, a foreground service ("Pyre — generating response") keeps an in-flight generation alive if you minimize the app mid-stream, so the system doesn't kill the process and drop the reply. (Android only.)
Staying put
A jump-to-bottom pill gets you back to the latest message after you scroll up. The chat auto-saves continuously — debounced while you work, and flushed when the app goes to the background — so an in-progress conversation is never lost.
See also
- Slash commands — the full command list and what each message kind does.
- Characters & personas — who you are, and per-chat character snapshots.
- Lorebooks (World Info) — the bound world facts each character and persona brings to a chat.