These tools help you understand and fix your lorebooks. Take your time, there's no rush, and nothing here changes your lorebook on its own. You're always the one who decides what to keep.
First, a quick reminder of the golden rule: the model can only load 1500 tokens of lorebook content per message. When too much triggers at once, the rest gets cut and the bot starts making things up. These tools help you see and control that.
Pinned entries count against this budget too. They load first, so if your pinned entries fill the 1500 tokens, no other entries will be counted at all. Keep pinned entries lean.
Make a complete, reusable copy of a bot: every field and the dropdowns and toggles (visibility, NSFW, content warnings, category, tags, lorebooks). Use it as a backup, to clone a bot, or to move one between accounts.
- Open a bot's create or edit page on DreamJourney and switch to Legacy.
- While you work, the panel quietly keeps a local backup ("Backed up locally ✓"). Nothing is uploaded.
- Export bot shows the full bot as a file. Copy it, or download the
.json. - Import bot on any bot page: paste or pick a file, then Populate bot. Every field, dropdown and toggle is filled in for you.
Everything else here uses the lorebook you load first. You only have to do this once, the toolkit remembers it.
- Click Load Lorebook in Creator Tools.
- Paste your lorebook's JSON into the box and click Load. Or click Save & Load to also keep it in your personal library for next time.
- Saved lorebooks show up at the top. Click Use on any of them to switch instantly, or × to remove one.
This checks a single message and tells you exactly what your lorebook would pull in because of it. Think of it as a dry run; nothing is sent, nothing changes.
- Load a lorebook first (see above).
- Click Message Tester.
- Type a message, or click Use last chat message to grab the most recent bot reply.
- Click Analyze triggers.
What you'll see:
Highlighted words: the trigger words found in the message. Activated entries: every entry that would load, and why (a direct match, a cascade from another entry, or a pinned entry). The token bar: roughly how much of your 1500 budget it used. If you go over, the entries that got cut are shown greyed-out, so you can see what the bot didn't get.
This is the live version. Instead of testing one message, it highlights your lorebook's trigger words right inside the real chat as you read it, so you can see at a glance what's triggering while you actually roleplay.
- Load a lorebook first (the scanner uses the same one).
- Click Active Chat Scanner to turn it on. The button shows On.
- Trigger words in the chat now appear like this: highlighted.
- Click the button again to turn it off.
To keep it focused, the scanner only highlights the last 4 messages (your two most recent and the bot's two most recent), not the whole history.
A live read-out, right inside the panel, of what your lorebook is doing in the chat right now. It looks at the last 4 messages and shows you the running token cost.
- Load a lorebook, then click Active Chat Panel to open the live read-out.
- It shows little tags up top (like 2 direct, 1 cascade), a token bar out of 1500, and the list of activated entries with why each one fired.
- It refreshes on its own whenever a new message is sent.
- Need the complete breakdown? Click Full details to pop out the same rich view the Message Tester gives.
A separate page with tools that actually change or check a lorebook file for you. Each tab has its own step-by-step guide built in. In short:
- Merge: joins two lorebooks into one.
- Wrap All Triggers: stops cascade across the whole lorebook at once.
- Wrap a Snippet: stops cascade in just one entry you paste in.
- Remove Wrapping: the undo button, puts a wrapped lorebook back to normal.
- Format Checker: won't import into DreamJourney? Paste it here to find the exact problem (missing fields, an entry with no triggers, a stray comma).
What counts as a wrapped (ignored) trigger? Using trigger as the example, any of these is skipped — it won't fire a direct match or a cascade:
Underscore is the safest, and what Wrap All Triggers uses: a trigger touching _ on either side is ignored, so it even protects a word inside a phrase — e.g. _Imperium Divinum_ stops both words from triggering. The other three (/…/, -…-, <…>) need the wrap on both sides.
Always paste the result back into DreamJourney yourself, so you stay in control.