Pro esports player
Baoer
A Chengdu AG pro who is focused in matches and softer in private, ideal for users who want a cool, attentive companion with a competitive spark.
World memory guide
Build useful JanitorAI lorebook entries, choose precise keywords, test activation, handle imports carefully and fix world memory without bloating context.
13 min read
Quick answer
Start with five short entries, give each two or three distinctive keys, attach the book or script to one test character, trigger each key explicitly, and verify the current JanitorAI editor before assuming another platform’s JSON will import.
Featured companions
Preview a few popular companions, watch the promo video, then jump straight into chat.
Pro esports player
A Chengdu AG pro who is focused in matches and softer in private, ideal for users who want a cool, attentive companion with a competitive spark.
Osaka underground DJ
A Techno DJ from Shinsaibashi with direct energy and a strong sense of rhythm, suited to music, nightlife, and lively chat.
Ginza club queen
An elegant Tokyo Ginza club character with warm, ritual-rich replies for users who want refined emotional companionship.

Lorebook creation, import and fixes
A lorebook is conditional world knowledge, not unlimited long-term memory. Good entries inject one relevant fact when a precise key appears; bad entries fire constantly or never fire.
Start with five short entries, give each two or three distinctive keys, attach the book or script to one test character, trigger each key explicitly, and verify the current JanitorAI editor before assuming another platform’s JSON will import.
A lorebook is a set of conditional world facts: locations, factions, relationships, rules, objects and past events. A key in the conversation activates a matching entry so the model sees that fact when it matters.
It is not a perfect diary of everything that happened. Chat history, character definition, persona, scenario, summaries and lore entries occupy different layers. A lorebook is best for authored canon, not automatically learned memories.
Use entries for details that matter sometimes but not in every reply: a city law, the history of a scar, a family relationship or the effect of an artifact. Put permanent behavioral rules in the character definition and the immediate starting situation in Scenario.
If a fact must shape every response, hiding it behind a keyword is risky. If a fact only matters once in fifty turns, keeping it permanently in the character card wastes context.
Give each entry a descriptive title, two or three precise keys, and a compact body written as facts. Example keys might be “Veyra Gate, western gate”; the body can state who controls it, what is forbidden and what the character personally knows.
Avoid dialogue instructions inside pure world entries. Separate facts from performance so a later change to tone does not require rewriting the world. Keep one subject per entry to make failures easy to diagnose.
Prefer proper nouns, aliases and distinctive phrases. Add the spelling a user will naturally type, but avoid giant synonym lists. Broad keys such as “city”, “friend”, “the” or a character’s pronoun can inject lore almost every turn and crowd out the current scene.
Test exact case, word-boundary and scan settings in the editor you actually have. JanitorAI’s scripting and lore interfaces have changed over time, so a community screenshot may not match the current labels.
Build five entries rather than fifty: one place, one relationship, one rule, one object and one past event. Attach the lorebook or script to a single private test character, save, then reopen the editor to confirm the association persisted.
Use the official JanitorAI help center and current editor as the authority for today’s buttons. Publicly accessible official help does not provide a stable cross-version JSON contract for every lorebook workflow, so interface verification is part of the process.
“JSON” describes the container, not the schema. SillyTavern World Info, Character Cards V2 extension data and JanitorAI scripts can use different field names, activation rules and nesting. Back up both sides, inspect the structure and import one entry before a full book.
If the current JanitorAI editor offers import, use its own export or documented example as the template. Never rename a file or paste untrusted script merely to make an import button accept it.
Start a clean chat and type one exact key in a natural sentence. Ask a factual follow-up whose answer exists only in that entry. Repeat with a near miss that should not activate. Then test two entries together to see whether the prompt becomes confused.
Do not judge by one eloquent answer; a model can guess. Use a unique invented fact, such as a private gate password, so a correct response is strong evidence that the entry entered context.
Check in this order: the book is attached to the intended character; the entry is enabled; the key matches; activation probability and conditions allow it; scan depth can see the key; token budget has room; the model receives the resulting prompt. Change one setting and retest.
If lore fires constantly, narrow the key and remove recursive chains. If it fires but the model ignores it, shorten the entry, remove contradictions with the card and put the critical fact first. If several entries conflict, merge or rank the canonical version.
LumiChat’s creator accepts a separate World Book JSON, but that does not promise direct compatibility with every JanitorAI script. Use a clean export, compare entry fields, remove executable or platform-specific code, then test a private draft.
For a portable library, keep a neutral source document with title, keys, content and notes, then generate platform-specific JSON copies. That makes migrations auditable and prevents one editor’s hidden defaults from becoming your only copy.
These links are primary documentation or the official product help center. Limits and editor labels can change, so verify the current screen before paying or migrating data.
Use a small, non-sensitive test character first. Compare the imported fields and one controlled conversation before moving a full library.
Open LumiChat Character Creator · Browse LumiChat characters · Read the privacy policy
No. It is authored conditional context triggered by keys; it does not automatically remember every chat event.
Five focused entries are enough to validate the workflow before scaling.
Check attachment, enabled state, exact key, conditions, probability, scan depth and token budget in that order.
The keyword is probably too broad or recursive activation is pulling related entries.
Do not assume so. JSON schemas and activation rules differ; use the current JanitorAI importer and test one entry.
LumiChat accepts World Book JSON, but JanitorAI scripts may need conversion. Remove platform-specific code and test privately.
LumiChat AI Team
Editorial Team
LumiChat AI 产品与编辑团队,负责核验产品功能、官方资料与实际操作路径。
Continue the conversation naturally
Grok usage guide
Grok no longer fits a simple “messages per day” table. Paid usage is moving to one shared weekly pool, while free Chat and Voice limits reset separately.
Character card import guide
LumiChat accepts SillyTavern JSON cards and real PNG cards that contain chara or ccv3 metadata. A normal portrait renamed to .png is not a character card.
Hands-on AI companion comparison
Two author-friendly roleplay platforms differ in model administration, Lorebooks, context tiers, hosted convenience, and the maintenance needed after 20 turns.
AI character platform alternatives
Five Janitor AI alternatives ranked by setup effort, character control, free access, memory, and portability.