Skip to contentПерейти к содержанию

How an entry activatesКак активируется запись


See what actually firedЧто сработало на самом деле

ACE ENTRY TRACK is my SillyTavern extension for seeing World Info activations as they happen. One filterable panel brings together confirmed active entries, matched keys, scan sources, token budget, timed states and recent activation history.ACE ENTRY TRACK — моё расширение для SillyTavern, которое показывает срабатывания Информации о мире в реальном времени. В одной панели собраны подтверждённые активные записи, совпавшие ключи, источники сканирования, бюджет токенов, тайминги и недавняя история активаций.

Before every reply, the platform searches a set number of recent messages for each entry's keywords, also called keys. The scan-depth setting determines how many messages are included. Matching entries are inserted into the prompt for that turn. Entries without a match are not sent to the model and use no context.Перед каждым ответом платформа ищет ключевые слова каждой записи (кейворды, или просто ключи) в заданном количестве последних сообщений. Это количество определяет настройка глубины сканирования. Совпавшие записи вставляются в промпт на текущий ход. Записи без совпадений не отправляются модели и не расходуют контекст.

How many messages are searchedСколько сообщений попадает в поиск

The scan does not reread the whole conversation. For each entry, SillyTavern checks only the newest messages inside its active Scan Depth. The value under Global World Info/Lorebook activation settings is the default, but an entry can choose its own. Once a message leaves that window, its keywords no longer count for that entry.При поиске ключей SillyTavern не перечитывает весь разговор. Для каждой записи проверяются только последние сообщения в пределах текущей Глубины сканирования. Значение из раздела Глобальные настройки активации лорбука / Информации о мире используется по умолчанию, но у отдельной записи можно задать своё. Как только сообщение выходит за это окно, найденные в нём ключи больше не учитываются.

Scan Depth counts messages from both sides of the conversation: user messages and character replies. A key can therefore come from either speaker. If the character uses a key in its previous reply and that reply is still inside the scan window, the entry may fire again on the next turn. Once every mention leaves the window, keyword matching stops activating it unless sticky or another mechanism keeps it active.Глубина сканирования учитывает обе стороны диалога: сообщения юзера и ответы персонажа. Поэтому ключ может появиться у любого из собеседников. Если персонаж употребил ключ в предыдущем ответе и этот ответ ещё входит в окно сканирования, на следующем ходу запись может сработать снова. Когда все упоминания ключа выйдут из окна, активация по ключам прекратится, если только её не удерживает sticky или другой механизм.

Case and whole-word matchingРегистр и полное совпадение

Two settings control plain keys. Case-sensitive decides whether letter case matters. Match Whole Words prevents a key from matching inside a longer word. An entry can override either setting. A regex key defines its own boundaries and flags.Для обычных ключей есть две настройки. Учитывать регистр различает строчные и заглавные буквы, а Только полное совпадение не даёт ключу срабатывать внутри более длинного слова. В отдельной записи обе настройки можно переопределить. Регекс-ключ сам задаёт свои границы и флаги.

Global settings affect every lorebookГлобальные настройки действуют на все лорбуки

The World Info tab contains a Global World Info/Lorebook activation settings panel shared by every active lorebook. Scan Depth, Case-sensitive, Match Whole Words and Use Group Scoring are defaults that individual entries can override. Context %, Budget Cap, Min Activations, Max Depth, Max Recursion Steps, Insertion Strategy, Include Names, Recursive Scan and Alert On Overflow remain global. If many entries start behaving strangely at once, check this panel before editing them one by one.На вкладке Информация о мире есть раздел Глобальные настройки активации лорбука / Информации о мире, общий для всех активных лорбуков. Глубина сканирования, Учитывать регистр, Только полное совпадение и Использовать Group Scoring задают значения по умолчанию, которые можно переопределить в отдельных записях. Процент контекста, Лимит бюджета, Мин. число активаций, Макс. глубина, Макс. глубина рекурсии, Как инжектить, Добавлять имена, Рекурсивное сканирование и Оповещение о превышении бюджета остаются глобальными. Если сразу много записей начинает вести себя странно, сначала стоит проверить этот раздел, а не править каждую запись по отдельности.

My high-context starting pointМоя отправная точка для большого контекста

SettingНастройкаMy valueМоё значение
Scan DepthГлубина сканирования2
Context %Процент контекста17
Budget CapЛимит бюджета8192
Min ActivationsМин. число активаций0
Max DepthМакс. глубина3
Max Recursion StepsМакс. глубина рекурсии1
Insertion StrategyКак инжектитьCharacter Lore FirstСначала лор персонажа
Include NamesДобавлять именаOffВыкл.
Recursive ScanРекурсивное сканированиеOnВкл.
Case-sensitiveУчитывать регистрOffВыкл.
Match Whole WordsТолько полное совпадениеOffВыкл.
Use Group ScoringИспользовать Group ScoringOffВыкл.
Alert On OverflowОповещение о превышении бюджетаOffВыкл.
Scale it to the available contextПодстройте под доступный контекст

With a large context window that does not need to be conserved, I use and recommend the settings above as a starting point. Context % and Budget Cap must still fit the available context, while depth and recursion limits should match the lorebook rather than these numbers by habit.При большом контексте, который не приходится экономить, я использую и рекомендую эти настройки как отправную точку. Процент контекста и Лимит бюджета всё равно нужно подбирать под реально доступный контекст, а глубину и лимиты рекурсии — под конкретный лорбук, а не копировать по привычке.

When lore appears from nowhereКогда лор появляется будто из ниоткуда

At the top of the same World Info page, Active World(s) for all chats can hold several lorebooks. The selection is saved for the current SillyTavern profile, so it remains active across chats and restarts rather than only for one session. A forgotten lorebook there can make entries from another setting available to every character.В верхней части той же страницы Информации о мире список Активные миры для всех чатов позволяет подключить несколько лорбуков. Выбор сохраняется для текущего профиля SillyTavern и остаётся активным после смены чата или перезапуска, а не только в одной сессии. Забытый в этом списке лорбук может сделать записи из другого сеттинга доступными для всех персонажей.

The usual source of ghost loreОткуда обычно берётся «призрачный» лор

If unrelated lore starts appearing, check Active World(s) for all chats first, then Character Lore, Persona Lore and Chat Lore. Disabling a lorebook stops new insertions, but text already written into the conversation remains in its history.Если в ответах появляется посторонний лор, сначала проверьте Активные миры для всех чатов, затем лор персонажа, лорбук персоны и лор чата. Отключение лорбука остановит новые вставки, но уже попавший в разговор текст останется в истории.

The usual causeОбычная причина

An entry that never fires often has a keyword or eligibility problem rather than a content problem. The text can be perfect; if none of its keywords appear in the searched messages, it is never sent. Keywords is the chapter for that.Если запись никогда не срабатывает, причина часто кроется в ключах или условиях активации, а не в содержимом. Текст может быть безупречен: если в проверяемых сообщениях нет ни одного ключа записи, её просто не отправят. Этому посвящена глава «Ключи».

Where the text is insertedКуда вставляется текст


A fired entry has to be inserted somewhere in the prompt, and the position changes how strongly it pulls on the reply. Broadly there are two kinds of placement.Сработавшую запись нужно куда-то вставить в промпт, и место вставки влияет на силу её воздействия на ответ. В целом размещение бывает двух типов.

Fixed placements sit at a set point in the prompt: before or after the character description, or around the author's note. Fixed placements remain in the same place regardless of conversation length.Фиксированное размещение привязано к определённой точке промпта: до или после описания персонажа либо по одну из сторон авторской заметки. При фиксированном размещении запись остаётся в одном и том же месте независимо от длины разговора.

Depth placements are measured backwards from the newest message. Smaller depths sit closer to the reply; larger depths sit behind more of the recent conversation.Размещение по глубине отсчитывается назад от самого нового сообщения. Меньшая глубина помещает запись ближе к ответу, а большая ставит её перед более длинным фрагментом недавнего разговора.

The principle worth keepingПринцип, который стоит запомнить

Text nearer the end of the prompt influences the reply more strongly. So background information — what a place is, who runs the city — can sit far back, while anything meant to change behaviour right now belongs close to the reply. That is the whole principle; the exact numbers matter far less than the ordering.Текст ближе к концу промпта сильнее влияет на ответ. Поэтому фоновая информация — что за место, кто управляет городом — может стоять далеко, а всё, что должно поменять поведение прямо сейчас, должно быть рядом с ответом. В этом весь принцип; точные числа значат куда меньше, чем порядок.

The context budget and what gets droppedБюджет контекста и что из него выпадает


Every model has a context window: a hard ceiling on how much text it can hold for a single turn. The system setup, the character card, every entry that fired, the retained chat history and the space reserved for the reply all share that one ceiling.У каждой модели есть контекстное окно — жёсткий предел объёма текста, который она может вместить за один ход. Системные инструкции, карточка персонажа, все сработавшие записи, сохранённая часть истории чата и место под ответ делят этот общий лимит.

One context window, one turnОдно контекстное окно, один ход

  • Setup — fixedНастройка — фиксирована
  • Card — every turnКарточка — каждый ход
  • Entries — only what firedЗаписи — только сработавшие
  • Chat history — grows every turnИстория — растёт каждый ход
  • Reply — reservedОтвет — зарезервировано

The proportions above are schematic. Actual proportions shift with the model, the setup and the length of the conversation. The core problem stays the same. Only one block grows on its own: the chat history.Пропорции выше показаны схематически: фактические пропорции меняются в зависимости от модели, настроек и длины разговора. Суть остаётся прежней: сам по себе растёт только один блок — история чата.

What happens when it overflowsЧто происходит при переполнении

Lorebook entries usually get their own slice of the window rather than unlimited room. When more entries fire than the slice can hold, some are dropped before the prompt is sent. The entry with the lower priority goes first. Most editors expose this as a per-entry number, so entries that must survive should outrank flavour.Записям лорбука обычно отводится отдельная доля окна, а не неограниченное место. Когда срабатывает больше записей, чем она вмещает, часть отбрасывается до отправки промпта, причём первыми уходят записи с более низким приоритетом. В большинстве редакторов приоритет задаётся числом для каждой записи, поэтому обязательные записи должны иметь преимущество перед атмосферными деталями.

For each entry type, I use a separate Order range: for example, one for NPCs and another for locations. This keeps the list organised and priorities predictable.Для каждого типа записей я использую отдельный диапазон поля Порядок: например, один для NPC, другой для локаций. Так список остаётся организованным, и приоритеты остаются предсказуемыми.

When the window as a whole runs out, the oldest chat history is what gets cut. This is why a long conversation quietly starts forgetting its own beginning, and why entries that fire when they should not are expensive twice over: they take room now, and they take it from the record of what already happened.Когда переполняется всё окно, обрезается самая старая часть истории чата. Поэтому долгий разговор незаметно начинает забывать собственное начало, а записи, срабатывающие не вовремя, обходятся вдвойне дорого: они занимают место сейчас и вытесняют сведения о том, что уже произошло.

Why size and accuracy are the same problemПочему размер и точность — одна и та же задача

A short entry that fires exactly when it is needed is worth more than a long one that fires when it is not needed. The longer entry consumes more budget whenever it fires; the precise short entry uses that budget only when needed.Короткая запись, срабатывающая именно тогда, когда нужна, ценнее длинной, которая срабатывает некстати. Длинная запись при каждом срабатывании расходует больше бюджета; короткая и точная использует этот бюджет только тогда, когда он действительно нужен.

Recursive scanningРекурсивное сканирование


In SillyTavern, Recursive Scan adds newly activated entry content to the existing search text and runs another keyword pass. New matches join the prompt, and their eligible content is added to the next pass. Scanning stops when no new matches or delayed recursion levels remain, Max Recursion Steps is reached, or the lorebook budget fills.В SillyTavern Рекурсивное сканирование добавляет содержимое новых активированных записей к уже проверяемому тексту и снова ищет ключи. Новые совпадения попадают в промпт, а их содержимое, допущенное к рекурсивному сканированию, участвует в следующем проходе. Проверка останавливается, когда не остаётся новых совпадений или отложенных уровней рекурсии, достигается Макс. глубина рекурсии либо заполняется бюджет лорбука.

For example, a person entry may mention the bar where they work, which then activates the bar entry. This can connect related world facts without requiring every name to appear in the chat.Например, запись о человеке может упомянуть бар, где он работает, и тогда сработает запись о баре. Так связанные факты о мире можно подтянуть, даже если в чате названы не все из них.

SillyTavern provides three entry-level controls. Non-recursable normally keeps an entry out of recursive passes. Prevent further recursion lets it activate but keeps its content out of the recursive search text. Delay until recursion reserves it for recursive passes and can stage it by recursion level. An entry already held by Sticky can remain active despite the first and third restrictions.В SillyTavern для отдельной записи есть три настройки. Не рекурсивная обычно исключает запись из рекурсивных проходов. Пресечь дальнейшую рекурсию разрешает ей сработать, но не добавляет её содержимое в текст для дальнейшего рекурсивного поиска. Рекурсивная оставляет запись только для рекурсивных проходов и позволяет назначить ей уровень рекурсии. Запись, которую уже удерживает Липучка, может оставаться активной несмотря на первое и третье ограничения.

Watch the budgetСледите за бюджетом

Recursive Scan is the first setting to check when the lorebook budget fills unexpectedly: one match can activate far more entries than the scene needs. Limit Max Recursion Steps or turn Recursive Scan off.При неожиданном переполнении бюджета первой проверьте настройку Рекурсивное сканирование: одно совпадение может активировать гораздо больше записей, чем нужно сцене. Ограничьте Макс. глубину рекурсии или отключите Рекурсивное сканирование.

TimingТайминги


Timing controls determine when, how often and how long an entry remains active. Availability and names vary by platform.Настройки таймингов определяют момент и частоту срабатывания, а также длительность активности записи. Набор и названия зависят от платформы.

ControlНастройкаWhat it doesЧто делаетWhat it is forЗачем
StickyЛипучкаKeeps an entry injected for a few turns after its keywords stop appearing.Оставляет запись в промпте ещё на несколько ходов после того, как её ключи перестают появляться.A mood or a state that should outlast the sentence that caused it.Настроение или состояние, которое должно сохраняться дольше вызвавшей его фразы.
CooldownКулдаунBlocks an entry from firing again for a stretch after it deactivates.Запрещает записи срабатывать снова какое-то время после отключения.A beat that gets repetitive if it lands every time its topic comes up.Сюжетный штрих, который приедается, если появляется при каждом упоминании темы.
DelayЗадержкаMakes an entry ineligible until the conversation is a certain length.Не допускает запись к срабатыванию, пока разговор не достигнет определённой длины.Anything that would be wrong to reveal in the opening exchange.Всё, что не следует раскрывать в первых репликах.
ProbabilityВероятностьFires a matched entry only some of the time, rerolled each turn.Активирует совпавшую запись лишь с некоторой вероятностью, заново определяемой на каждом ходу.Deliberate variety. Rarely worth it on anything load-bearing.Намеренное разнообразие. Для критически важных записей почти никогда не оправдано.

Useful values depend on how long the conversations actually run, so the reasoning matters more than any number. Delay should keep hidden material out of the opening exchange. Cooldown should prevent the same beat from repeating within one scene. Sticky should last about as long as the state it represents.Подходящие значения зависят от реальной длины разговоров, поэтому логика важнее конкретных чисел. Задержка должна удерживать скрытый материал за пределами первых реплик. Кулдаун должен исключать повторение одного и того же момента в пределах сцены. Липучка должна длиться примерно столько же, сколько представленное ею состояние.

TipСовет

Each of these settings makes later troubleshooting harder. An entry may stay silent because of a bad key, cooldown, delay, or a failed probability roll. Enable these settings only when they serve a clear purpose.Каждая из этих настроек усложняет последующую диагностику. Запись может не сработать из-за неверного ключа, кулдауна, задержки или неудачной проверки вероятности. Включать эти настройки стоит только с конкретной целью.

Match sources beyond the chatИсточники совпадений помимо чата


Keyword matching does not have to be limited to messages. Depending on the platform, entries can also be matched against parts of the prompt that are always present: the character description, the personality summary, the scenario, or a persona description.Поиск совпадений по ключам может охватывать не только сообщения. В зависимости от платформы ключи записей можно проверять и по постоянным частям промпта: описанию персонажа, резюме по личности, сценарию или описанию персоны.

The practical use is the opening. A location entry matched against the scenario field fires on the very first message, because the scenario names the place before anyone has said anything. Without Scenario matching, a location entry, such as the bar entry, waits until one of its keys appears in the chat.На практике это полезно в начале чата. Запись о локации, ключи которой проверяются по полю сценария, срабатывает уже на первом сообщении, потому что сценарий называет место ещё до первых реплик. Без проверки поля Сценарий запись о локации, например о баре, будет ждать, пока один из её ключей не появится в чате.

The Scenario still needs a matching keyВ сценарии всё равно нужен подходящий ключ

Scenario matching does not connect a location to an entry automatically. It only searches the Scenario text for that entry’s keys. If the Scenario contains the bar on Pike Street but the entry’s only location key is The Lamplighter, there is no match. Use the same location name or phrase in both places.Проверка поля Сценарий не связывает локацию с записью автоматически. Она лишь ищет в тексте сценария ключи этой записи. Если в поле Сценарий стоит фраза бар на Пайк-стрит, а в записи указан только ключ локации The Lamplighter, совпадения не будет. Используйте одно и то же название или фразу в обоих местах.

The same concepts, different field namesОдни понятия, разные названия полей


This guide uses SillyTavern terminology. JanitorAI's regular Lorebook editor has its own interface, while user-made Advanced Scripts can define custom fields and logic. The right column shows fields from one user-made example, Advanced Lorebook v12.1 (Regex Edition); it is not a general JanitorAI field map or a copy-paste conversion.В этом руководстве используются термины SillyTavern. У обычного редактора Lorebook в JanitorAI свой интерфейс, а пользовательские Advanced Scripts могут задавать собственные поля и логику. В правой колонке показаны поля только одного пользовательского примера — Advanced Lorebook v12.1 (Regex Edition); это не общая карта полей JanitorAI и не готовый перенос копированием.

ConceptПонятиеSillyTavernSillyTavernOne user-made exampleОдин пользовательский пример
KeywordsКлючевые слова (кейворды)keykeywords
Second word requiredНужно второе словоkeysecondary + selectiverequireAny / requireAll / requireNone
Drop order under pressureПорядок отбрасывания при нехватке бюджетаorderpriority
Wait before eligibleОжидание до доступностиdelayminMessages
How far back is scannedГлубина сканированияScan DepthГлубина сканированияWINDOW_DEPTH
Random firingСлучайное срабатываниеprobabilityprobability
Persist after keywords stopДержать после исчезновения ключейstickyno direct equivalentпрямого аналога нет
Block re-firingЗапрет повторного срабатыванияcooldownno direct equivalentпрямого аналога нет

In that example, entries can be linked explicitly through tag and triggers instead of rescanning entry content as SillyTavern does. This describes that script only, not JanitorAI scripts in general.В этом примере записи можно связывать явно через tag и triggers вместо повторного сканирования содержимого, используемого в SillyTavern. Это описание относится только к этому скрипту, а не ко всем скриптам JanitorAI.

Check the destination formatПроверьте формат целевой платформы

Lorebook formats differ between platforms, so moving one may require small edits to field names or structure. Check the result on the destination platform rather than assuming every setting carried over unchanged.Форматы лорбуков различаются между платформами, поэтому при переносе иногда нужно поправить названия полей или структуру. Проверьте результат на целевой платформе, а не полагайтесь на то, что все настройки перенеслись без изменений.