Help: Quick Start · Stories · Characters · Lore Books · Multiplayer · Discover · Advanced · Templates · FAQ
A story is the main container for a roleplay session. It holds the scenario, the cast of characters, the full message history, and all generation settings. Stories are private to their owner unless shared via a multiplayer invite link or published to Discover as a scenario.
Go to Stories → Create Story. The form is divided into a main section and several collapsible accordion panels.
| Field | Description |
|---|---|
| Name | The story's title, shown in your story list and (if published) in Discover. |
| Short Description | A private note for your own reference; never sent to the AI. |
| Scenario | The current situation or setting injected into every prompt. Keep it focused on what is true right now in the story rather than deep backstory (use lore books for that). |
| Background Image | Click any image in the grid to set the background displayed on the play screen. |
| Template | Pick one of your own generation presets to pre-fill all the accordion fields below in one click. Manage your presets under Config → Presets, or clone one from Discover Presets. |
Above the accordions, pick the models this story uses: the Completion model (main text generation), an optional Image Generation model (for AI-generated scene images), an optional Embedding model (for lore vector search — see Lore Books), and an optional Mood/State model. The Mood/State model falls back to the Completion model when left unset.
Five independent prompt fields, each a full Mustache template rendered on its own. Fields marked with a preview button (available once the story exists) let you see the exact assembled prompt that would be sent.
| Field | When it is used |
|---|---|
| System Prompt | The default prompt for a character's turn. This is the one you build out with template variables — character descriptions, lore, and message history are not injected at fixed positions; you place them yourself using {{#presentChars}}, {{#hasLore}}, {{#messages}}, and the other variables described in Templates. |
| Narrator Prompt | Used instead of the System Prompt when you trigger a Narrate generation (see below) — a separate template so character-less narration can have its own tone, rules, and layout. |
| Narrator Name | The display name shown as the author of narrator-generated messages (defaults to "Narrator" — rename it to whatever fits your story, e.g. "The Dungeon Master"). |
| Mood System Prompt | Used instead of the System Prompt whenever the AI re-evaluates a present character's Mood (see Characters), right before that character's turn. Leave blank to disable AI mood updates for this story. |
| State System Prompt | Same as above, for a character's State field. Leave blank to disable AI state updates for this story. |
| Setting | Description |
|---|---|
| Context Length | Total token budget for the prompt (including all injected text and message history). |
| Lore Context Length | Tokens reserved for lore book entries. If entries are being cut off, increase this value. |
| Recent Message Tokens | How many tokens of raw recent messages to keep alongside any summaries. |
| Enable Mood/State Evaluation | Turns on automatic AI mood/state updates (see Characters). Off by default, since it adds an extra round of LLM calls before every character turn. |
| Mood/State Context Length | Token budget for mood/state evaluation calls, independent of the main Context Length. Only shown when Mood/State Evaluation is enabled. |
| Mood/State Max Tokens | Maximum tokens the model may generate per mood/state evaluation — these are meant to be a sentence or two, so this is kept small. Only shown when Mood/State Evaluation is enabled. |
| Setting | Description |
|---|---|
| Max New Tokens | Maximum number of tokens the AI may generate per response. |
| Temperature | Controls randomness. Lower (0.5–0.8) = more consistent; higher (1.2–1.5) = more creative. |
| Top P | Nucleus sampling cutoff. Lower values narrow the pool of candidate tokens. |
| Presence Penalty | Discourages the model from reusing any token that has already appeared in the prompt or response. |
| Frequency Penalty | Scales with how many times a token has been used; more repeated tokens are penalized more heavily. |
| Seed | Set to -1 for a random seed each generation. A fixed positive integer makes output deterministic — useful for testing. |
| Thinking Budget | For models that support extended reasoning (chain-of-thought); sets the token budget for internal reasoning before the response. |
| Prefix messages with character names | When enabled, each message is prefixed with the character's name before being sent to the model (e.g. Aria: Hello.). Useful for chat-format fine-tuned models that expect speaker labels. |
| Stop Tokens | Tokens that end generation early when the model outputs them. Useful for chat-format models that tend to continue past the intended response boundary. |
See the Advanced page for a full explanation of summarization settings. In brief: enable summarization here and configure how aggressively old messages are compressed to free up context window space.
Click Play on any story to open the play screen. The layout is:
On mobile, the top bar is slimmed down to a home icon (to return to the story list) and the panel toggle icon. The full navbar is hidden on the play screen on mobile to maximize reading space.
The Continue button appears next to the message input. Clicking it asks the AI to generate a response without you posting a message first. Use it to nudge the story forward when you want the AI to take the next turn without writing anything yourself.
The Narrate button (open-book icon, between the story settings panel and the character list panel) triggers an AI generation that isn't attributed to any character. The resulting message is a system message authored by the story's Narrator Name (default "Narrator") with no character avatar, and uses the story's Narrator Prompt instead of the main System Prompt. Use it for scene-setting, environmental description, or any narration that shouldn't come from a specific character's point of view.
You can insert images directly into the story feed in two ways:
Use the image attachment button next to the message input to upload an image file from your device. The image is inserted as an IMAGE message in the story feed, visible to all participants. Image messages are not sent to the AI as text — they act as a visual scene break in the narrative.
If an image generation model is configured for the story (set in the Model tab of the config panel), you can trigger the AI to generate an image. Generated images appear as IMAGE messages and can be regenerated using the standard regenerate action on the message.
Image messages pause story continuation — the Continue button is disabled while the last message in the feed is an image, to prevent the AI from generating text over a scene boundary you just set.
Hover over any message to reveal its action buttons.
| Action | Description |
|---|---|
| Regenerate | Discards the message and asks the AI to produce a new one from the same point. For image messages, requests a new generated image. |
| Edit | Opens the message content for inline editing. Save when done to update it in place. |
| Delete | Permanently removes the message from the history. |
| Swipes | AI messages may have multiple generated alternatives (swipes). Use the arrow buttons on the message to cycle through them. Navigating to a different swipe replaces the current message content without deleting the alternatives. |
| Tab | Purpose |
|---|---|
| Participants | See who is in the session; copy the invite link; kick guests (owner only). |
| Story | Edit the scenario, prompt templates, and generation settings without leaving the play screen. |
| Lore | Attach or detach lore books; create new lore books directly from within the play session. |
| Characters | Toggle each character's Presence and Voice (incarnation) for this session. |
| Model | Switch the AI model used for text generation mid-session, and configure the image generation model for AI-generated scene images. |
Type a slash command in the message input to perform special actions. Commands produce a message visible to all participants.
| Command | Example | Result |
|---|---|---|
/roll XdY | /roll 2d6 | Rolls two six-sided dice. Result formatted as 🎲 2d6: [3, 5] = **8**, attributed to your incarnated character. |
From the story list, open the menu on any story and choose Export. This produces a .scenario.zip archive containing:
This archive is a complete snapshot of the story setup — it does not include the message history. The story's model selections (Completion, Image, Embedding, Mood/State) are carried along as portable hints and re-matched by name on import; if no model with a matching name exists on the importing install, that slot falls back to the install's default.
Go to Stories → Import Story and upload a .scenario.zip file. Dream Scrolls will recreate the story, its characters, and its lore books in your account. Existing items with the same name are not overwritten; new copies are created.