Loom Summary¶
As conversations grow long, older messages fall out of the AI's context window. The Loom Summary system solves this by generating structured summaries of your chat history, preserving key story beats, character developments, and unresolved threads in a compact form the AI can reference.
How It Works¶
The summarizer analyzes recent messages and produces a structured summary organized into categories. This summary is stored in the chat's metadata and available via the {{loomSummary}} macro. Include that macro in your preset, and the AI always has access to the story so far — even after the raw messages have scrolled out of context.
Modes¶
Open the Summary Editor panel to configure summarization:
| Mode | Behavior |
|---|---|
| Disabled | No summarization |
| Automatic | A new summary is generated every N messages |
| Manual | You click "Generate" to create a summary on demand |
Automatic Mode Settings¶
| Setting | Description |
|---|---|
| Interval | How many new messages before auto-generating (e.g., every 10 messages) |
| Auto Context | How many recent messages to include in each summarization pass |
Manual Mode Settings¶
| Setting | Description |
|---|---|
| Manual Context | How many recent messages to include when you click Generate |
Summary Structure¶
The generated summary is organized into seven categories, each with item limits to keep it compact:
| Category | Max Items | What It Captures |
|---|---|---|
| Completed Objectives | 7 | Resolved story arcs, achieved milestones, concluded conflicts |
| Focused Objectives | 5 | Active story threads — what's happening right now |
| Foreshadowing Beats | 5 | Hints seeded for future events, promises, warnings |
| Character Developments | 7 | Meaningful changes in personality, beliefs, skills, emotional state |
| Memorable Actions | 7 | Significant physical events — combat, gestures, locations visited |
| Memorable Dialogues | 5 | Impactful words — confessions, promises, threats, revelations |
| Relationships | 5 | Evolving dynamics — trust, tension, affection, rivalry |
When a category reaches its limit, the summarizer consolidates related items or retires the least relevant ones. Active conflicts and unresolved threads are never silently dropped.
API Source¶
Choose which AI model generates summaries:
| Option | Description |
|---|---|
| Active Connection | Uses whatever connection is currently selected |
| Dedicated Connection | Uses a specific connection, consistent across all summaries |
A dedicated connection is useful if you want summaries generated by a cheaper/faster model while your main connection handles the conversation.
Message Limits¶
You can also limit how many raw messages are included in the prompt context:
- Enable Limit messages in context
- Set a message count (e.g., keep the last 20 messages)
- Older messages are trimmed from the context
- Use
{{loomSummary}}in your preset to retain knowledge from the trimmed messages
This lets you maintain a tight context window while preserving long-term story continuity through the summary.
Scene Break Splitting¶
When enabled, the summarizer respects intentional scene boundaries (---, ***, ===) in your chat. Messages between scene breaks are treated as narrative units, keeping the summary coherent across chapters and time jumps.
Using the Summary Editor¶
The Summary Editor panel shows your current summary with these controls:
- Generate — Create a new summary from recent messages
- Refresh — Reload the summary from chat metadata
- Clear — Delete the summary for this chat
- Save — Save manual edits you've made to the summary text
You can manually edit the summary at any time — useful for correcting mistakes, adding context the AI missed, or steering the narrative record.
Tips¶
Include {{loomSummary}} in your preset
The summary does nothing unless your preset references it. Add {{loomSummary}} in a block (typically before the chat history) so the AI can read the accumulated story context.
Manual mode for important moments
Even in automatic mode, you can manually generate a summary at any time. Do this after major plot events to make sure they're captured before the next auto-interval.
Pair with message limits
The most effective setup: limit raw messages to ~20-30, enable auto-summarization every 10 messages, and include {{loomSummary}} in your preset. This keeps your context lean while preserving the entire story.