# World Books

> Reusable lore that a character pulls into the conversation when it is relevant.

Source: https://reverie.im/en/docs/writing/world-books
Language: en

A World Book is a reusable collection of **lore entries** about a setting — its locations, factions, NPCs, items, history and rules. Attach a book to a character, a story or a novel, and the AI draws on that lore during generation without you re-explaining the world every time.

Memory is about *you* and one relationship. A World Book is about the *world*, and the same book can power many characters at once.

> There are no keyword lists, insertion depths, priorities or recursion
> settings to configure. You write entries, mark a few as canon, and Reverie
> decides what reaches the model. Naming an entry outright does still pull it
> in — that is one of the retrieval tiers, not something you wire up.

## How entries reach the model \[#how-entries-reach-the-model]

Every entry is one of two kinds.

| Entry type        | When it's in context                                                                                       |
| ----------------- | ---------------------------------------------------------------------------------------------------------- |
| **Core canon**    | Every turn, as established truth — the world's frame: where and when you are, its defining rules and tone. |
| **When relevant** | Only when the moment calls for it, matched by meaning against the recent conversation.                     |

### Core canon \[#core-canon]

Canon is packed book by book, and inside a book in the order your entries appear in the list, until the canon budget is spent. Anything that doesn't fit is **not injected** — Preview lists it under **Over canon budget**. The first entry is always kept even if it alone blows the budget.

That makes **entry order load-bearing for canon**: drag an entry up, or use its row menu's **Move to top** / **Move to bottom**, to decide what survives on a smaller model. The editor's meter reads *Core canon: N tokens injected every turn* and warns you when the set gets heavy.

### When relevant \[#when-relevant]

These are the bulk of most books, and they reach the model three ways:

* **The whole book rides along.** If a book's when-relevant entries fit inside what canon leaves over, every one of them is included, in list order, with no matching step. They go into the cached part of the prompt, so this is the cheap case. Preview says so outright.
* **Named outright.** If an entry's title or one of its aliases appears verbatim in your latest message or the character's last two replies, that entry surfaces regardless of how it would have ranked. Matching is whole-word for Latin-script keys and substring for CJK.
* **Matched by meaning.** Otherwise Reverie embeds the recent conversation and pulls the closest entries. This works across languages: lore written in one language surfaces for a conversation in another.

When a book is too large to fit, the close matches are injected in full and the rest become a **world index** — one line per entry, its title plus a one-line gist, so the model at least knows the topic exists. On a [tool-capable model](https://reverie.im/en/docs/reference/models) it can then pull any indexed entry's full text on demand; on a model without tool support it only sees that the topic exists.

| Budget                         | Value                                                               |
| ------------------------------ | ------------------------------------------------------------------- |
| Core canon                     | 10% of the model's input window, capped at 4,000 tokens             |
| Per-turn lore for a large book | the smaller of 2,000 tokens and whatever canon left of its budget   |
| Entries injected in full       | up to 5, each trimmed to 800 tokens                                 |
| World index                    | up to 12 topics, plus up to 6 more linked from the injected entries |
| Verbatim hits                  | up to 8, of which at most 4 from the character's replies            |
| Conversation matched against   | the last 6 messages                                                 |

### Active and Off \[#active-and-off]

Each entry also has an **Active** / **Off** switch, independent of canon. Turning an entry off shelves it: it stays in the book and stays editable, but it never reaches the AI through any path — not canon, not matching, not the index, not on-demand lookup. Turn it back on and it returns immediately.

This is the one setting that can silently make a book stop working, so check it first when lore you expect isn't showing up. Multi-select entries and use **Turn off** / **Turn on** to shelve or restore a batch, and the **Turned off** filter to see what's currently shelved.

> After you create or edit an entry there's a short indexing step before it
> can be matched by meaning; the row shows **Indexing for smart retrieval**
> until it clears. Until a book is mostly indexed, a turn that finds no
> match falls back to verbatim hits plus plain list order — so a freshly
> imported book goes by order, not meaning, until indexing catches up.

## Locked entries \[#locked-entries]

Some lore is only for players who have earned it. In the entry editor, **Reveal through bonds** holds an entry back until a player's [bond](https://reverie.im/en/docs/chatting/bonds) with the character reaches the stage you pick, from **First meeting** to **Bonded**. New entries start at **Everyone (no lock)**, and a locked row shows a lock badge with its stage.

A locked entry opens only in a player's own web chats with one of your own characters that has bonds on, once that player's bond with that character reaches the stage. Other creators can attach your book to their characters, but a bond with one of theirs never opens your locked entries. Until then the character does not have it through any path — not canon, not matching, not the index, not on-demand lookup. That includes you: in your own chats your locked entries open at the pace of your own bond, so use **Preview as** to check them. In a group chat, a book opens by the deepest bond the player has among your characters present that carry it.

When an entry opens, it reaches the model marked as told in confidence: something the character keeps from most people and has come to trust this player with. The character lets it out when the moment invites it, a little at a time, rather than reciting it as common knowledge.

| Where                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Locked entries                      |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| A player's own web chats with one of your characters that has bonds on — replies and regenerations, [dual comparison](https://reverie.im/en/docs/chatting/dual-comparison) answers, generated first messages, on-demand lookup, [AI-generated panels](https://reverie.im/en/docs/plugins/using-plugins#ai-generated-panels), the opening of **Start New Session with Memory**, and [proactive messages](https://reverie.im/en/docs/chatting/proactive-messages) | Open up to that player's bond stage |
| Chats with a character that has bonds off                                                                                                                                                                                                                                                                                                                                                                                                                       | Stay hidden                         |
| Other creators' characters that use your book                                                                                                                                                                                                                                                                                                                                                                                                                   | Stay hidden                         |
| A live [bounty](https://reverie.im/en/docs/creators/bounties) attempt                                                                                                                                                                                                                                                                                                                                                                                           | Stay hidden                         |
| Stories and novels                                                                                                                                                                                                                                                                                                                                                                                                                                              | Stay hidden                         |
| The Discord and Telegram bots                                                                                                                                                                                                                                                                                                                                                                                                                                   | Stay hidden                         |
| The [Open API](https://reverie.im/en/docs/integrations/open-api)                                                                                                                                                                                                                                                                                                                                                                                                | Stay hidden                         |
| The character editor's [test drive](https://reverie.im/en/docs/characters/test-drive)                                                                                                                                                                                                                                                                                                                                                                           | Stay hidden                         |
| Plugin **Debug**                                                                                                                                                                                                                                                                                                                                                                                                                                                | Stay hidden                         |

Multi-select entries and use **Reveal through bonds…** to lock a batch to a stage, or **Remove lock** to clear it, and the **Locked** filter to see every locked entry. A player who resets their bond loses the entries it had opened until the new bond reaches their stage again.

A shared chat never carries the text of an entry the character looked up, only what the character said in its replies, so sharing or importing a conversation doesn't publish your locked lore.

## Attaching a book \[#attaching-a-book]

World Books attach to the thing that owns the world, not to a single chat.

* **Character** — character editor → **Advanced Settings** → **Attach world book**. Every chat with that character inherits the book.
* **Story** — story editor → **Characters** tab, below the cast.
* **Novel** — the create wizard's **Story Setup** step, or **Novel Settings** later.

At generation time a story's or novel's own books merge with the ones its cast brings. A book attached twice — once to the story, once to a character in it — is injected once. In a group chat each entry is labelled with the character whose book it came from, so one character's canon isn't read as another's.

You can attach your own books and any book that isn't private: **Browse library** lists public books, and an unlisted book can be attached if you have its link. Only the owner can edit a book's entries.

When a book has locked entries, the attach panel says what becomes of them there: on a character with bonds on they open as bonds deepen, and on a character with bonds off, in a story or in a novel they stay hidden.

## Writing a book \[#writing-a-book]

An entry has a **title** (a short noun phrase, not a sentence), its **lore**, optional **aliases**, the canon toggle and the Active switch. Keep each entry to one topic — the editor flags long entries, because a sprawling entry retrieves less precisely than several tight ones.

Faster ways in:

* **Generate with AI** — describe a world and get a drafted book back, entries and all, with a few marked canon.
* **Split text into entries** — paste your setting notes and have them broken into self-contained entries.
* **Import** — a SillyTavern world-info export, a lorebook JSON file, or a character card PNG. Activation keys become aliases, not triggers.
* **Preview** — type a sample message and see exactly which entries would be included, which would only be indexed, and which canon is over budget. It runs the same selection the live chat does. When the book has locked entries, **Preview as** picks whose view to run: **The whole book**, **A player with no bond yet**, or a bond stage, which leaves out entries locked beyond it.

The editor also reports where your lore actually lands: each row shows how many times it has been used in chats, a **Never used** filter and a **Most used** sort surface dead lore, and the book nudges you when when-relevant entries have never surfaced — usually a sign the title is too vague or the content too thin.

## Sharing, copying and export \[#sharing-copying-and-export]

A book is **Private** by default. **Unlisted** shares it by link; **Public** lists it in the community library and needs at least **10 entries**. Every non-private book is auto-translated for display in other languages, but retrieval always runs against your original text.

From any book you can see, **Copy to my library** makes your own editable duplicate, and **Export** downloads it as a SillyTavern-compatible lorebook.

Locked entries stay yours. Anyone else sees the book without them — on its page, on its public library page, in entry search, and in what **Copy to my library** and **Export** give them — and the page says instead how many more entries are revealed through bonds with characters that use the book. A copy of your own book keeps its locked entries, locks and all. An export of your own book includes them too, but a lorebook file has no place for a lock, so they come out as ordinary entries.

| Limit                       | Value                                      |
| --------------------------- | ------------------------------------------ |
| Book title / description    | 120 / 2,000 characters                     |
| Tags                        | 20, each ≤50 characters                    |
| Entries per book            | 2,000                                      |
| Entry title / lore          | 2–100 / 20–20,000 characters               |
| Aliases per entry           | 50, each ≤120 characters                   |
| Entries required to publish | 10                                         |
| Import batch                | 500 entries                                |
| Split text input            | 40,000 characters                          |
| Generate with AI            | prompt ≤4,000 characters, 4–16 entries out |
| Preview message             | 2,000 characters                           |
| Bulk action                 | 500 entries at a time                      |
| Books per user              | no limit                                   |

## Living world \[#living-world]

Turn on **Living world** (book editor → **Settings**) and the AI can write to the book while you play: a durable change it establishes in the roleplay becomes a real entry.

| Rule             | Value                                                                     |
| ---------------- | ------------------------------------------------------------------------- |
| Available on     | **Private** books you own — making a book unlisted or public turns it off |
| Writes come from | your own chats, on a tool-capable model                                   |
| New lore         | a new **When relevant** entry; the AI never marks anything canon          |
| Existing lore    | appended after what's there, never rewritten or deleted                   |
| Budget           | 30 writes per book per 24 hours                                           |
| Size             | new entry ≤4,000 characters, each append ≤2,000, a grown entry ≤20,000    |
| Review           | every write is listed under **AI updates** with **Undo**                  |

Undo works newest-first per entry, and only while the text is unchanged since the write. Regenerating a reply that wrote lore rolls that lore back for you, so a rejected reply leaves no trace in the world.

Because writes only come from the owner's own chats, **someone else playing with your living book never changes it** — and since living world requires a private book, nobody else can attach one anyway.

## World Book, memory or scenario \[#world-book-memory-or-scenario]

|                                                               | What it holds                                                   | Scope                                          |
| ------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------- |
| **World Book**                                                | Lore about the setting — places, factions, NPCs, history, rules | Reusable across characters, stories and novels |
| **[Memory](https://reverie.im/en/docs/chatting/memory)**      | Facts about you and your relationship with one character        | Per character, per persona, per branch         |
| **[Scenario](https://reverie.im/en/docs/chatting/scenarios)** | The opening situation for one chat                              | One chat, chosen when you start it             |

Plot beats and relationship facts belong in memory. A chat's starting setup belongs in a scenario. A World Book is for what stays true regardless of who is chatting or what has happened between you.

## Tips \[#tips]

* **Keep canon to a handful of entries.** Canon spends context on every single turn, and the entries that don't fit are simply dropped.
* **Write entries the way someone would ask about them.** Matching is on meaning, so an entry that reads like a clear answer surfaces better than a bare list of names.
* **Add aliases for short, name-like topics.** Proper nouns, item names and codes are where meaning-matching is weakest and a verbatim hit covers the gap. Skip common words.
* **Run Preview before you rely on a book**, with the kind of message you would actually send.

## Related \[#related]

* [Writing a story](https://reverie.im/en/docs/writing/writing-interactive-stories) — attaching books to a story's cast
* [Novel mode](https://reverie.im/en/docs/writing/novel-mode) — books on a novel
* [Memory](https://reverie.im/en/docs/chatting/memory) and [Scenarios](https://reverie.im/en/docs/chatting/scenarios) — the other two context layers
* [Import characters](https://reverie.im/en/docs/characters/import-characters) — bringing a character card's lorebook in
* [Why world books aren't lorebooks](https://reverie.im/en/blog/world-books-not-a-lorebook) — design notes
