Your Ten Minutes Start Now
You found the time. The kids are occupied, the house is quiet enough, and you have exactly the length of one reheated coffee to disappear into something that’s yours. This is the screen where that happens.
The chat interface is the living center of Inkstone. Everything else in the app exists to serve this moment: you, a character, and a conversation that goes wherever you want it to go. Streaming responses, message branching, inline editing, per-chat customization. It’s a full engine, but it’s designed to feel like a conversation, because that’s what it is.
The Shape of a Conversation
Simple on purpose.
Messages arrange themselves the way you’d expect from any chat app: yours on the right, theirs on the left, newest at the bottom. Your messages get a lighter background. Character messages sit against a darker one with the character’s avatar beside them. System messages float in the center, quiet and muted, like stage directions.
This part is simple on purpose. You’ve used a chat app. You know how this works. The interesting stuff is what you can do with those messages once they exist.
The Things You Can Do to Words
Edit, regenerate, continue, fork.
Any message can be edited. Tap the edit button, change the text, done. But what happens next depends on whose words you’re changing.
Edit
Edit a character message and it updates in place. Clean, simple, surgical. You saw a typo, or the AI used a word that broke the scene, or you just want to adjust a detail. Fixed.
Edit your own message and something more dramatic happens. The conversation forks from that point. Everything after your edited message vanishes, and the AI generates a fresh response based on your new text. It’s a “what if I’d said this instead?” machine.
Regenerate
Throws out the last character response and asks for a completely new one, but keeps the original as an alternative you can swipe back to. Different roll, same setup.
Continue
Tells the AI to keep writing, appending more text to what’s already there. For when the response stopped short and you need more. The story wasn’t done; it just ran out of breath.
Fork Conversation
Creates an entirely new chat branching from that moment. Everything before stays intact, everything after is gone, and you’re free to steer the story somewhere new. Think of it as saving your game before a boss fight, except the boss fight is an emotionally charged dinner scene and the stakes are fictional but somehow still real.
Swiping Through the Multiverse
Every regeneration is a parallel universe you can visit.
When you regenerate a response, you don’t lose what was there before. A swipe indicator appears, something like “2/5” with arrows, and you can browse through every version the AI has offered. Each alternative keeps its own content and token count. Swipe left, swipe right, pick the one that hits.
Once you’ve accumulated seven or more alternatives on a single message, the indicator gets smart about it: it shows the first, last, current, and neighboring positions with ellipsis between them, so you’re not staring at a constellation of dots.
Regenerating is free in terms of conversation flow. Use it liberally when a response doesn’t land. The AI doesn’t remember the alternatives you didn’t choose, so each regeneration is a clean shot.
Watching Words Arrive
Streaming, and the theater of anticipation.
When Streaming is enabled (which it is by default), you see the AI’s response materialize word by word in real time. A cursor blinks at the end of the text as it comes in, and something about watching a sentence build itself, not knowing where it’s going, the anticipation of each next word... well. Let’s just say some responses are worth savoring slowly.
While the AI is generating, a Stop button replaces Send. Tap it to cancel mid-generation if the response is going sideways, or if you’ve seen enough to know where it’s headed.
Turn streaming off and the response arrives fully formed, all at once. Faster in some ways, but you lose the theater of it.
| Theme | Cursor Style |
|---|---|
| Standard | A simple blinking bar |
| Neon Circuit | A cyan block cursor |
| Hanami | A pulsing pink glow |
| Ember Sanctum | Flickers like a flame |
| Astral Grimoire | Pulses like a mystic orb |
| Crystal Veil | Shimmers like light through a prism |
| Abyssal Tide | Glows bioluminescent, like something alive in deep water |
Before the first word of a streaming response appears, you’ll see an animated typing indicator. These also vary by theme: bouncing dots, scanning cursors, sakura petals, flames, orbiting dots, prism pulses, bioluminescent pulses. It’s a small thing, but it makes the wait feel intentional rather than empty.
When the AI Thinks Out Loud
Behind the curtain, if you want to look.
Some models (Claude, notably) share their internal reasoning before they answer. When Show Thinking is enabled in settings, you get a window into the process. During streaming, “Thinking...” appears, and you can tap it to expand and watch the model work through the scene. After generation, the thinking section collapses, but stays available if you want to peek behind the curtain.
If the model burns through all its tokens on thinking and has nothing left for the actual response, Inkstone will warn you and suggest increasing max tokens. This is the AI equivalent of spending so long planning what to order that the restaurant closes.
The Input Bar
Where your words begin.
The bottom of the chat screen is where your words begin. A multi-line text field auto-expands up to five lines as you type. The Send button glows gold and activates only when there’s text and the AI isn’t already generating. During generation, it becomes Stop. If you’ve enabled Ghostwriting in settings, that button appears here too.
On desktop: Enter sends. Shift+Enter adds a new line. Muscle memory from every messaging app you’ve ever used.
Starting a Conversation
Two paths in, both short.
Pick your entry point
From the Gallery, tap a character and hit “Start Chat.” From the Chats tab, tap the + button and pick a character from the dialog.
The first message lands
The character’s First Message becomes the opening line. Alternate Greetings appear as swipeable alternatives, so you can pick the opening that sets the right tone.
Context loads automatically
Any lorebooks linked to the character connect automatically. Your default persona loads in (unless you override it), and the chat title defaults to the character’s name.
You're in
All of this is instant. You go from “I want to talk to this character” to being inside the conversation in about one second. Your time is precious. Inkstone knows that.
Customizing the Conversation
Every chat can have its own atmosphere.
Tap the three-dot menu in the top bar of any chat and you’ll find a set of options that let you tune this specific conversation without touching your global settings.
Appearance
Override the theme, colors, fonts, bubble shapes, and backgrounds for this chat alone. Maybe your cozy slice-of-life deserves Hanami’s soft pinks, and your dark fantasy needs Ember Sanctum.
Persona
Controls which identity you’re wearing in this conversation. Switch personas mid-story if you want. The character won’t mind; the coherency might.
System Prompt
Swap between prompt types: EveningTruth, Marinara, or your own Custom prompt. Different engines for different kinds of stories.
Lorebooks
Connect or disconnect world-building knowledge bases. Add lore for a new location your story just reached, or disconnect one that’s no longer relevant.
Chat Summary
Shows the auto-generated conversation summary, and lets you edit it if the AI missed something important.
Export & Delete
Export Chat downloads the conversation as a JSONL file. Delete Chat removes it permanently (with a confirmation dialog, because some conversations are irreplaceable).
Keeping Your Conversations Organized
Folders are rooms. Tags are sticky notes.
The Chats tab shows every conversation you’ve had, each entry displaying the character’s avatar, the chat title, a preview of the last message (first 80 characters), a timestamp, and any folder or tag indicators.
Folders give you a place to group chats by storyline, genre, mood, or whatever taxonomy makes sense to your brain. Create them from the filter bar. Each chat lives in one folder, or stays unfiled if you prefer the chaos.
Export & Import
Your conversations are portable.
Export any chat as a .jsonl (JSON Lines) file. The export captures everything: all messages and their alternatives, thinking content, summary data, character and user name metadata. Nothing is lost in translation. The filename follows the pattern {character_name}_{date}.jsonl.
Markdown and the Art of Formatted Roleplay
Structure your fiction.
Both sides of the conversation support full Markdown formatting. Bold and italic for emphasis. Inline code and fenced code blocks for the technically inclined. Blockquotes (rendered with a gold left border, because details matter). Headings at three levels. Bullet and numbered lists. Horizontal rules. Clickable links.
If you know Markdown, it works the way you’d expect. If you don’t, the AI will use it naturally and the formatting just appears, making its responses more readable without you having to think about syntax.
When your theme has syntax colors configured, Inkstone offers an alternative to standard Markdown rendering, one designed specifically for the texture of roleplay text. Actions written in asterisks (*walks slowly*) render in the action color, italicized. Dialogue in quotes ("Hello there") picks up the dialogue color. Bold emphasis (**important**) gets its own color too. It’s like syntax highlighting for fiction, and once you’ve seen it, plain monochrome text feels flat.
The Token Counter
Knowledge is power, even when the knowledge is 'we're running out of room.'
Enable this in Settings (Display, Show Token Count) and a bar appears at the bottom of the chat showing how many tokens you’ve used, your configured context budget, and a visual progress bar. Individual messages also display their token count in the footer.
This matters because every AI conversation has a memory limit. The token counter lets you see when you’re approaching that boundary, so you can decide whether to start a new chat, enable summaries, or just keep going and see what happens.
The token counter is a visibility tool, not a restriction. It doesn’t stop you from doing anything. It just makes sure you know where you stand so you can make informed decisions about pacing and context management.
When Things Go Wrong
They will, occasionally. The internet is involved.
When generation fails, Inkstone tells you what happened in plain language. A retry button appears if the last generation failed, so you can try again without retyping anything. One tap, second chance. Your ten minutes are not going to be wasted on error recovery if Inkstone can help it.
| Error | What It Means | What To Do |
|---|---|---|
| Auth Failed | Your API key was rejected | Check your key in Settings |
| Too Many Requests | Rate limited by the provider | Wait a moment and retry |
| Too Long | Context limit exceeded | Start a new chat, increase context limit, or enable summaries |
| No Connection | Network issue | Check internet or local provider |
| Server Error | Provider-side issue | Usually temporary, try again |
| Timeout | Request took too long | Check your connection |
Use ← → to navigate between pages