Skip to content

Latest commit

 

History

History
855 lines (570 loc) · 69.2 KB

File metadata and controls

855 lines (570 loc) · 69.2 KB

📕 Memory Books (расширение для SillyTavern)

Расширение нового поколения для SillyTavern, предназначенное для автоматического, структурированного и надежного создания памяти. Отмечайте сцены в чате, генерируйте JSON-сводки с помощью ИИ и сохраняйте их как записи в ваших лорбуках. Поддерживает групповые чаты, расширенное управление профилями, Side Prompts/трекеры и многоуровневую консолидацию памяти.

❓ Словарь

  • Scene (сцена) → Memory (воспоминание)
  • One saved fact (один сохранённый факт) → Clip
  • Ongoing tracker (постоянный трекер) → Side Prompt
  • Many Memories (много воспоминаний) → Summary / Consolidation (сводка / консолидация)
  • One long entry (одна длинная запись) → Compaction (сжатие)

Clips vs Side Prompts

Clips vs Side Prompts
Clips Side Prompts
Сохраняют выделенный текст из чата в запись Memory Book. Просят ИИ просмотреть чат и обновить запись-трекер.
Лучше подходят для одного ясного факта, реплики, обещания, предпочтения, предмета или заметки. Лучше подходят для информации, которая меняется со временем.
Проще говоря: «закрепить эту заметку». Проще говоря: «поддерживать этот раздел в актуальном состоянии».

Более подробное объяснение см. в Руководстве пользователя.

Compaction vs Consolidation

Compaction vs Consolidation
Compaction / Сжатие Consolidation / Консолидация
Сокращает одну существующую запись, которой управляет STMB. Объединяет несколько воспоминаний или сводок в обзор более высокого уровня.
Используйте, когда запись Clip, Side Prompt или Memory полезна, но стала слишком длинной. Используйте, когда несколько воспоминаний готовы стать Arc, Chapter, Book или другой крупной сводкой.
Проще говоря: «обрезать эту одну запись». Проще говоря: «свернуть эти воспоминания в обзор».

Более подробное объяснение см. в Руководстве пользователя.

❗ Прочтите в первую очередь!

Начните отсюда:

Другие ссылки:

Примечание: поддерживаются разные языки. Список см. в папке /locales. Локализованные Readme и руководства пользователя находятся в папке /userguides.
Конвертер лорбуков и библиотека шаблонов Side Prompt находятся в папке /resources.

📑 Содержание


📋 Предварительные требования

  • SillyTavern: 1.14.0+ (рекомендуется последняя версия).
  • Опциональная очередь задач: STMB работает и без очереди задач. Чтобы использовать очередь, установите и включите Chat Top Bar / Chat Top Info Bar — официальное расширение SillyTavern, которое добавляет верхнюю панель в окно чата. STMB использует эту панель для кнопки и боковой панели Задачи Книг Памяти.
  • Поддержка Chat Completion: полная поддержка OpenAI, Claude, Anthropic, OpenRouter или другого Chat Completion API.
  • Поддержка Text Completion: Text Completion API (Kobold, TextGen и т. п.) поддерживаются, если они подключены через Chat Completion API endpoint, совместимый с OpenAI. Рекомендуется настроить подключение Chat Completion API согласно советам для KoboldCpp ниже (при необходимости адаптируйте для Ollama или другого ПО). После этого настройте профиль STMB и используйте Custom (рекомендуется) или полностью ручную конфигурацию (только если Custom не работает или у вас больше одного custom-подключения).

ПРИМЕЧАНИЕ: если вы используете Text Completion, у вас обязательно должен быть Chat Completion Preset.

Советы по использованию 📕 ST Memory Books с KoboldCpp

Настройте это в ST. Вы сможете переключиться обратно на Text Completion после того, как убедитесь, что STMB работает.

  • Chat Completion API
  • Custom chat completion source
  • endpoint http://localhost:5001/v1 (также можно использовать 127.0.0.1:5000/v1)
  • введите что угодно в custom API key (значение не важно, но ST требует ключ)
  • Model ID должен быть в формате koboldcpp/modelname (не добавляйте .gguf в имя модели)
  • скачайте и импортируйте любой Chat Completion Preset, чтобы он у вас был. Это предотвращает ошибки not supported.
  • установите max response length в Chat Completion Preset минимум на 2048; рекомендуется 4096. При меньшем значении ответ может обрезаться.

Советы по использованию 📕 ST Memory Books с Llama.cpp

Как и с Kobold, настройте это как Chat Completion API в ST. После проверки работы STMB можно переключиться обратно.

  • Создайте новый connection profile для Chat Completion API.
  • Completion Source: Custom (Open-AI Compatible).
  • Endpoint URL: http://host.docker.internal:8080/v1, если ST запущен в Docker; иначе http://localhost:8080/v1.
  • Custom API key: введите что угодно (ST требует ключ).
  • Model ID: llama2-7b-chat.gguf или имя вашей модели; если в llama.cpp запущена только одна модель, это не критично.
  • Prompt post-processing: none.

Для запуска Llama.cpp удобно поместить что-то подобное в shell-скрипт или bat-файл:

llama-server -m <model-path> -c <context-size> --port 8080

💡 Рекомендуемые глобальные настройки активации World Info/Lorebook

  • Match Whole Words: оставить выключенным (false).
  • Scan Depth: чем выше, тем лучше (у меня стоит 8).
  • Max Recursion Steps: 2 (общая рекомендация, не обязательное требование).
  • Context %: 80% (на основе контекстного окна 100 000 токенов) — предполагается, что у вас нет очень тяжелой истории чата или ботов.
  • Дополнительно: если лорбук памяти — ваш единственный лорбук, убедитесь, что в профиле STMB отключено Delay until recursion, иначе воспоминания не будут срабатывать.

🚀 Начало работы

1. Установка и загрузка

Дождитесь появления этих кнопок

  • Запустите SillyTavern и выберите персонажа или групповой чат.
  • Дождитесь появления кнопок-шевронов (► ◄) на сообщениях чата. Это может занять до 10 секунд.

2. Отметьте сцену

Нажатая кнопка начала

Кнопки в середине сцены

Нажатая кнопка конца

  • Нажмите ► на первом сообщении сцены.
  • Нажмите ◄ на последнем сообщении.

Ниже показаны примеры того, как выглядят кнопки-шевроны после нажатия. Цвета могут отличаться в зависимости от CSS-темы.

3. Создайте воспоминание

  • Откройте меню Extensions (волшебная палочка 🪄) и нажмите Memory Books, либо используйте слэш-команду /creatememory.
  • Если появится запрос, подтвердите настройки: профиль, контекст, API/модель.
  • Дождитесь генерации ИИ и автоматического создания записи в лорбуке.

🧩 Типы памяти: сцены и сводки

📕 Memory Books поддерживает воспоминания о сценах и многоуровневую консолидацию сводок. Они предназначены для разных типов непрерывности.

🎬 Воспоминания о сценах (по умолчанию)

Воспоминания о сценах фиксируют, что произошло в конкретном диапазоне сообщений.

  • Основаны на явном выборе сцены (► ◄).
  • Хорошо подходят для моментального, детального припоминания.
  • Сохраняют диалог, действия и немедленные последствия.
  • Лучше всего работают при частом использовании.

Это стандартный и наиболее часто используемый тип памяти.


🌈 Консолидация сводок

Кнопка консолидации

Консолидация сводок фиксирует, что изменилось со временем в нескольких воспоминаниях или сводках.

Вместо пересказа одной сцены консолидированные сводки фокусируются на:

  • развитии персонажей и сдвигах в отношениях;
  • долгосрочных целях, напряжении и разрешении конфликтов;
  • эмоциональной траектории и направлении повествования;
  • устойчивых изменениях состояния, которые должны оставаться стабильными.

Первый уровень консолидации — Arc, который строится из воспоминаний о сценах. Для более длинных историй поддерживаются более высокие уровни:

  • Arc
  • Chapter
  • Book
  • Legend
  • Series
  • Epic

💡 Думайте о них как о кратких пересказах, а не как о журналах сцен.

Когда использовать консолидированные сводки

  • После крупного сдвига в отношениях.
  • В конце главы или арки истории.
  • Когда меняются мотивации, доверие или динамика власти.
  • Перед началом новой фазы истории.

Как это работает

  • Консолидированные сводки создаются из существующих воспоминаний/сводок STMB, а не напрямую из сырого чата.
  • Инструмент Consolidate Memories позволяет выбрать целевой уровень сводки и исходные записи.
  • STMB может отслеживать выбранные уровни сводок и показывать подтверждение yes/later, когда уровень достигает сохраненного минимального числа подходящих исходных записей.
  • STMB может отключить исходные записи после консолидации, если вы хотите, чтобы сводка более высокого уровня взяла на себя их роль.
  • Неудачные ответы ИИ можно просмотреть и исправить в интерфейсе перед повторной попыткой сохранения.

Это дает:

  • меньшее использование токенов;
  • лучшую непрерывность повествования в длинных чатах.

📝 Генерация памяти

Только JSON на выходе

Все промты и пресеты должны инструктировать ИИ возвращать только валидный JSON, например:

{
  "title": "Короткое название сцены",
  "content": "Подробная сводка сцены...",
  "keywords": ["ключевоеслово1", "ключевоеслово2"]
}

В ответе не должно быть никакого другого текста.

Встроенные пресеты

  1. Summary: подробные пошаговые (beat-by-beat) сводки.
  2. Summarize: Markdown-заголовки для timeline, beats, interactions и outcome.
  3. Synopsis: подробный, структурированный markdown.
  4. Sum Up: краткая beat-сводка с timeline.
  5. Minimal: сводка в 1–2 предложения.
  6. Northgate: литературный стиль сводки для creative writing.
  7. Aelemar: фокус на сюжетных точках и воспоминаниях персонажей.
  8. Comprehensive: сводка в стиле synopsis с улучшенным извлечением ключевых слов.

Пользовательские промты

  • Можно создавать собственные промты, но они должны возвращать валидный JSON, как показано выше.

📚 Интеграция с лорбуком

  • Автоматическое создание записей: новые воспоминания сохраняются как записи со всеми метаданными.
  • Распознавание по флагу: только записи с флагом stmemorybooks распознаются как воспоминания.
  • Автонумерация: последовательная нумерация с ведущими нулями, поддерживаются разные форматы ([000], (000), {000}, #000).
  • Ручной/автоматический порядок: настройки порядка вставки для каждого профиля.
  • Обновление редактора: опционально автоматически обновляет редактор лорбука после добавления воспоминания.

Существующие воспоминания нужно конвертировать!
Используйте Lorebook Converter, чтобы добавить флаг stmemorybooks и обязательные поля.


✂️ Clip to Memory Book

Клип текста

Clip to Memory Book нужен для быстрых заметок «запомни это». Выделите важный текст в чате, нажмите плавающую кнопку с ножницами и сохраните выбранный текст как пункт в Memory Book без предварительного открытия редактора lorebook.

Если вам нужен постоянный трекер, который обновляется со временем, используйте Side Prompt. Короткое правило: Clip = один сохранённый факт; Side Prompt = постоянный трекер.

Как это работает

  • Выделите точный текст, который нужно запомнить.
  • Нажмите плавающую кнопку с ножницами. Эту кнопку можно включить или выключить в окне Memory Books.
  • Выберите существующую запись Clip или создайте новую.
  • Перед сохранением проверьте текущую запись и обновлённый предпросмотр.
  • При необходимости переименуйте запись/раздел.

Записи Clip — это обычные записи lorebook с пометкой [STMB Clip] в конце названия записи. Например:

Seraphina Healed Me [STMB Clip]

Видимый раздел внутри записи использует название без [STMB Clip]:

=== Seraphina Healed Me ===

- Seraphina healed my wounds with magic.
- Seraphina, guardian of this forest

=== END Seraphina Healed Me ===

Советы

  • Одна запись Clip содержит один раздел. Используйте сфокусированные названия вроде Things {{user}} Likes, Pet Names или Food Preferences, чтобы ключевые слова оставались точными.
  • Новые записи Clip могут быть всегда активными или активироваться по ключевым словам. Всегда активный режим проще; ключевые слова лучше, если запись должна появляться только иногда.
  • Существующие записи можно превратить в записи Clip, добавив [STMB Clip] в конец названия.
  • Для длинных записей Clip может появиться напоминание проверить или сжать запись. Сжатие помогает сделать записи Clip, Side Prompt и Memory более экономными по токенам перед заменой оригинала.
  • Записи Clip не добавляют атрибуцию источника. Они сохраняют только тот текст, который вы выбрали.

🔎 Тематический фрагмент

Тематический фрагмент создаёт или обновляет сфокусированную запись памяти в стиле Clip об одной теме.

Используйте его, когда у вас уже есть сохранённые STMB-воспоминания, но нужна одна аккуратная запись «об этой теме», которая собирает связанные детали из этих воспоминаний. Например:

  • О Seraphina
  • О магии {{user}}
  • Об отношениях Alex и Mira
  • О расследовании Black Harbor

Тематический фрагмент отличается от обычного Clip to Memory Book. Обычный Clip напрямую сохраняет выделенный текст из чата. Тематический фрагмент читает существующие записи памяти STMB, просит ИИ извлечь детали по одной теме, а затем показывает редактируемый черновик перед сохранением.

Как это работает

  1. Откройте Memory Books.
  2. Нажмите 🔎 Тематический фрагмент.
  3. Выберите Исходную Книгу Памяти.
  4. Введите Тему.
  5. Введите Ключевые слова активации или оставьте поле пустым, чтобы использовать тему.
  6. Выберите, создать новый тематический фрагмент или обновить существующую запись [STMB Clip].
  7. Выберите Профиль генерации.
  8. Нажмите Сгенерировать черновик.
  9. Проверьте и отредактируйте черновик.
  10. Нажимайте Сохранить тематический фрагмент только когда результат вас устраивает.

Тематический фрагмент сохраняет записи как обычные Clip-записи с пометкой [STMB Clip]. Новые записи используют заголовок вроде:

О Seraphina [STMB Clip]

Обновление существующих тематических фрагментов

Когда вы обновляете существующий тематический фрагмент, STMB запоминает, какие исходные воспоминания использовались во время последнего успешного запуска. Следующее обновление обычно использует только новые или изменённые исходные воспоминания.

Если вы хотите пересобрать всю запись из всех подходящих воспоминаний, включите Пересобрать из всех исходных воспоминаний перед генерацией черновика.

Примечания

  • Тематический фрагмент использует в качестве источника только подтверждённые записи памяти STMB.
  • Clip-записи и записи Side Prompt не используются как исходные воспоминания.
  • Целями обновления являются существующие записи [STMB Clip].
  • Черновик ИИ всегда можно проверить и отредактировать перед сохранением.
  • STMB не сохраняет сгенерированный черновик, пока вы не нажмёте Сохранить тематический фрагмент.
  • Если запрос большой, STMB может показать предупреждение о токенах перед запуском.

🆕 Слэш-команды

  • /creatememory — создать воспоминание из отмеченной сцены.
  • /scenememory X-Y — установить диапазон сцены и создать воспоминание, например /scenememory 10-15.
  • /nextmemory — создать воспоминание от конца последнего воспоминания до текущего сообщения.
  • /stmb-catchup interval=x start=y end=y — создать догоняющие воспоминания для существующего длинного чата, обрабатывая выбранный диапазон сообщений блоками указанного размера.
  • /sideprompt "Name" {{macro}}="value" [X-Y] — запустить Side Prompt ({{macro}} необязательны).
  • /sideprompt-set "Set Name" [X-Y] — запустить сохраненный Side Prompt Set.
  • /sideprompt-macroset "Set Name" {{macro}}="value" [X-Y] — запустить Side Prompt Set и передать переиспользуемые значения макросов.
  • /sideprompt-on "Name" | all — включить Side Prompt по имени или включить все.
  • /sideprompt-off "Name" | all — выключить Side Prompt по имени или выключить все.
  • /stmb-highest — вернуть самый высокий message id среди обработанных воспоминаний в этом чате.
  • /stmb-set-highest <N|none> — вручную установить самый высокий обработанный message id для этого чата.
  • /stmb-stop — остановить всю активную генерацию STMB везде. Это аварийная остановка.

/stmb-catchup

Используйте /stmb-catchup, когда нужно преобразовать существующий длинный чат в воспоминания STMB.

Синтаксис: /stmb-catchup interval=x start=y end=y

Пример: /stmb-catchup interval=30 start=0 end=300


👥 Поддержка групповых чатов

STMB работает в групповых чатах с теми же ручными, автоматическими инструментами и слэш-командами для создания воспоминаний, что и в чатах один на один. Отдельный режим группового чата включать не нужно: выберите группу и используйте STMB как обычно.

Воспоминания с учётом участников

  • STMB считывает говорящего, указанного для каждого сообщения группового чата, и сохраняет ясную атрибуцию персонажей в созданной сводке.
  • Когда STMB может определить участвовавших членов группы, сохранённое воспоминание получает включающий фильтр персонажей SillyTavern для этих участников. Благодаря этому групповое воспоминание остаётся связано с персонажами, которые действительно участвовали в сцене.
  • Маркеры сцены, наибольший обработанный ID сообщения, выбор лорбуков в ручном режиме и другие данные конкретного чата сохраняются вместе с активным групповым чатом. При переключении чата эти настройки не переносятся в другой чат.

Автоматический режим и режим авто-создания: один Memory Book

Автоматический режим использует лорбук, привязанный к групповому чату. Режим авто-создания может создать и привязать лорбук, если у группы его ещё нет. В обоих режимах воспоминания сохраняются в групповой Memory Book, а фильтры участников добавляются автоматически, если говорящих можно определить.

Это самая простая настройка, и её достаточно для большинства групповых чатов.

Ручной режим: групповой и персонажные Memory Books

Ручной режим лорбука может поддерживать основной групповой Memory Book и отдельный назначенный Memory Book для каждого участника группы. Для назначения индивидуальных лорбуков персонажам необходимо установить и включить SillyTavern-LorebookOrdering (STLO).

  1. Откройте групповой чат и включите Ручной режим лорбука.
  2. Выберите основной ручной лорбук. Он станет каноническим групповым Memory Book.
  3. В разделе Лорбуки персонажей группы выберите лорбук для каждого участника. Один и тот же лорбук можно назначить нескольким персонажам.
  4. Создайте воспоминание обычным способом.
  5. Подтвердите, какие персонажи участвовали. STMB заранее выбирает участников, обнаруженных в сообщениях. Если никого не выбрать, воспоминание применяется ко всем участникам группы.

STMB сохраняет каноническое воспоминание в групповом Memory Book и копирует его в назначенные Memory Books выбранных участников. Связанные записи внутренне связываются, чтобы консолидации группы и персонажей могли сохранять согласованные хронологии. Если необходимый лорбук персонажа отсутствует или удалён, STMB останавливается, а не оставляет неполный набор воспоминаний.

В подтверждении участников есть опция В дальнейшем автоматически принимать обнаруженных участников. Включите её, если доверяете определению говорящих и не хотите подтверждать список при каждом создании воспоминания.

Отдельные промты для группы и персонажей (необязательно)

Чтобы создавать разные версии одного воспоминания:

  1. Откройте Менеджер профилей и отредактируйте профиль, используемый для создания воспоминаний.
  2. Включите Использовать отдельные групповые и персонажные промты в групповых чатах.
  3. Выберите Промт групповой сводки и Промт сводки персонажа.

Групповой промт записывает общую версию в основной групповой Memory Book. В ручном режиме со STLO персонажный промт может создать версию, сосредоточенную на конкретном персонаже, в индивидуально назначенном ему Memory Book. Для этого требуются дополнительные запросы генерации, но общая память сможет описывать всю сцену, а индивидуальная копия — сосредоточиться на том, что было важно для этого персонажа. Если несколько участников используют один назначенный Memory Book, STMB сохраняет там только одну общую копию.

💡 Рекомендуется: Начните с одного группового Memory Book. Добавляйте Memory Books для отдельных персонажей только тогда, когда им действительно нужны разные знания, непрерывность или контекст.


🧭 Режимы работы

Автоматический режим (по умолчанию)

Пример привязки лорбука к чату

  • Как это работает: автоматически использует лорбук, привязанный к текущему чату.
  • Лучше всего для: простоты и скорости. Большинству пользователей стоит начинать отсюда.
  • Как использовать: убедитесь, что лорбук выбран в выпадающем меню Chat Lorebooks для вашего персонажа или группового чата.

Режим авто-создания лорбука

  • Как это работает: автоматически создает и привязывает новый лорбук, если лорбука нет, используя ваш шаблон имени.
  • Лучше всего для: новых пользователей и быстрой настройки. Подходит для создания лорбука в один клик.
  • Как использовать:
    1. Включите Auto-create lorebook if none exists в настройках расширения.
    2. Настройте шаблон имени (по умолчанию: LTM - {{char}} - {{chat}}).
    3. Если вы создаете воспоминание без привязанного лорбука, новый лорбук будет создан и привязан автоматически.
  • Плейсхолдеры шаблона: {{char}} (имя персонажа), {{user}} (ваше имя), {{chat}} (ID чата).
  • Умная нумерация: автоматически добавляет числа (2, 3, 4...), если уже существуют дубликаты имени.
  • Примечание: нельзя использовать одновременно с Manual Lorebook Mode.

Ручной режим лорбука

  • Как это работает: позволяет выбирать другой лорбук для воспоминаний отдельно для каждого чата, игнорируя основной лорбук, привязанный к чату.
  • Лучше всего для: опытных пользователей, которые хотят направлять воспоминания в конкретный отдельный лорбук.
  • Как использовать:
    1. Включите Enable Manual Lorebook Mode в настройках расширения.
    2. При первом создании воспоминания в чате появится запрос на выбор лорбука.
    3. Этот выбор сохраняется для конкретного чата, пока вы его не очистите или не вернетесь в Automatic Mode.
  • Примечание: нельзя использовать одновременно с Auto-Create Lorebook Mode.

🎡 Трекеры и Side Prompts

Где найти трекеры и Side Prompts

📘 Для Side Prompts есть отдельное руководство: Side Prompts Guide. Используйте его для Sets, макросов, примеров и устранения неполадок. 🎡 Нужен точный путь по интерфейсу? См. Scribe-инструкцию по включению Side Prompts.

Side Prompts — это отдельные запуски промтов STMB для поддержания текущего состояния чата. Используйте их для трекеров и вспомогательных заметок, которые не должны раздувать обычный ответ персонажа, например:

  • 💰 Инвентарь и ресурсы («Какие предметы есть у пользователя?»)
  • ❤️ Статус отношений («Что X чувствует к Y?»)
  • 📊 Характеристики персонажа («Текущее здоровье, навыки, репутация»)
  • 🎯 Прогресс квеста («Какие цели активны?»)
  • 🌍 Состояние мира («Что изменилось в сеттинге?»)

Доступ: в настройках Memory Books нажмите 🎡 Trackers & Side Prompts.

Функции:

  • Просмотр, создание, дублирование, редактирование, удаление, экспорт и импорт Side Prompts.
  • Запуск Side Prompts вручную, после создания воспоминания или как части Side Prompt Set.
  • Использование стандартных макросов SillyTavern, например {{user}} и {{char}}.
  • Использование runtime-макросов вроде {{npc name}}, когда промту нужно значение, передаваемое во время запуска.
  • Сохранение вывода Side Prompt как отдельных side-prompt записей в лорбуке памяти.

Советы по использованию:

  • При создании нового промта копируйте встроенные варианты.
  • Side Prompts не обязаны возвращать JSON. Обычный текст или Markdown подходят.
  • Side Prompts обычно обновляются/перезаписываются; воспоминания сохраняются последовательно.
  • Ручной синтаксис: /sideprompt "Name" {{macro}}="value" [X-Y].
  • Используйте Side Prompt Sets, когда чату нужен упорядоченный набор трекеров.
  • Выбранный after-memory Side Prompt Set заменяет для этого чата отдельно включенные after-memory Side Prompts.
  • Дополнительная библиотека шаблонов Side Prompt: JSON-файл. Просто импортируйте его для использования.

🧹 Сжатие

Нажмите здесь, чтобы открыть меню сжатия

Сжатие — это процесс проверки, который помогает сделать записи лорбука, которыми управляет STMB, более эффективными по токенам. STMB просит ИИ переписать одну существующую запись, а затем показывает исходный текст и сжатый черновик до замены.

Открыть его можно из основного окна Memory Books кнопкой 📝 Сжатие. Длинные записи-фрагменты также могут предлагать кнопку Сжать запись прямо в процессе работы с фрагментами.

Подходящие записи

Сжатие показывает подходящие записи из выбранной Книги Памяти:

  • записи-фрагменты с пометкой [STMB Clip]
  • записи Side Prompt
  • записи памяти STMB, отмеченные Memory Books

Обычные записи лорбука, которыми STMB не управляет, не показываются.

Как это работает

  1. Откройте Memory Books и нажмите 📝 Сжатие.
  2. Выберите Книгу Памяти. Если у текущего чата уже есть действительная Книга Памяти, STMB выберет её заранее; иначе выберите нужную в поисковом выпадающем списке.
  3. Выберите Профиль сжатия. Он определяет, какое подключение/модель ИИ будет использоваться для запроса сжатия.
  4. При необходимости нажмите Редактировать промпт сжатия, если хотите изменить инструкции, отправляемые ИИ.
  5. Нажмите Сжать запись рядом с записью, которую хотите переписать.
  6. Сравните Исходное содержимое и Сжатый черновик. STMB показывает примерную оценку токенов для обоих вариантов.
  7. При необходимости отредактируйте черновик, затем выберите Заменить сжатой версией, Копировать сжатый черновик или Отмена.

STMB не заменяет оригинал автоматически. Запись лорбука меняется только после нажатия Заменить сжатой версией.

Промпт сжатия

Промпт сжатия можно редактировать. Встроенный промпт просит ИИ сохранять важные факты, имена, местоимения, макросы, служебные заголовки и конечные маркеры, одновременно убирая повторы и малополезные формулировки.

Поддерживаемые плейсхолдеры промпта:

  • {{ENTRY_CONTENT}} — текущее содержимое записи лорбука. Этот плейсхолдер обязателен.
  • {{ENTRY_KIND}} — тип записи, например Clip, SidePrompt или Memory.
  • {{ENTRY_TITLE}} — название записи лорбука.

Используйте Сбросить к значению по умолчанию в редакторе промпта, если хотите вернуть встроенный Промпт сжатия.

Лучше всего подходит для

  • длинных записей-фрагментов
  • записей-трекеров Side Prompt, где накопились повторяющиеся заметки
  • полезных, но слишком многословных записей памяти STMB
  • всегда активных записей, которые начинают зря расходовать контекст

Не предназначено для

  • добавления новых фактов
  • суммаризации сырого чата
  • создания новых воспоминаний
  • переписывания обычных записей лорбука, которыми STMB не управляет

🧠 Интеграция Regex для продвинутой настройки

Настройка regex

  • Полный контроль над обработкой текста: Memory Books интегрируется с расширением SillyTavern Regex, позволяя применять текстовые преобразования на двух ключевых этапах:
    1. Генерация промта: автоматически изменять промты, отправляемые ИИ, создавая regex-скрипты с размещением User Input.
    2. Парсинг ответа: очищать, переформатировать или стандартизировать сырой ответ ИИ перед сохранением, используя размещение AI Output.
  • Поддержка множественного выбора: можно выбрать несколько скриптов для исходящей и входящей обработки.
  • Как это работает: включите Use regex (advanced) в STMB, нажмите 📐 Configure regex… и выберите, какие скрипты STMB должен запускать перед отправкой ИИ и перед парсингом/сохранением ответа.
  • Важно: выбором Regex управляет STMB. Скрипты, выбранные там, будут запускаться даже если они сейчас отключены в самом расширении Regex.

👤 Управление профилями

Управление профилями

  • Профили: каждый профиль включает API, модель, temperature, промт/пресет, формат заголовка и настройки лорбука.
  • Import/Export: профилями можно делиться в JSON.
  • Создание профиля: используйте всплывающее окно advanced options для сохранения новых профилей.
  • Переопределения для профиля: можно временно переключить API/модель/temperature для создания воспоминания, затем восстановить исходные настройки.
  • Встроенный provider/profile: STMB включает обязательную опцию Current SillyTavern Settings, которая напрямую использует активное подключение/настройки SillyTavern.

⚙️ Настройки и конфигурация

Основная панель настроек 1 Основная панель настроек 2 Основная панель настроек 3

Глобальные настройки

Короткий видеообзор на YouTube

  • Manual Lorebook Mode: включить выбор лорбуков отдельно для каждого чата.
  • Auto-create lorebook if none exists: автоматически создавать и привязывать лорбуки с вашим шаблоном имени.
  • Lorebook Name Template: настраивает имена автоматически создаваемых лорбуков с плейсхолдерами {{char}}, {{user}}, {{chat}}.
  • Allow Scene Overlap: разрешить или запретить перекрывающиеся диапазоны воспоминаний.
  • Always Use Default Profile: пропускать окна подтверждения.
  • Show memory previews: включить preview popup для просмотра и редактирования воспоминаний перед добавлением в лорбук.
  • Show Notifications: переключить toast-уведомления.
  • Refresh Editor: автоматически обновлять редактор лорбука после создания воспоминания.
  • Max Response Tokens: задать максимальную длину генерации для сводок памяти.
  • Token Warning Threshold: задать порог предупреждения для больших сцен.
  • Default Previous Memories: число предыдущих воспоминаний для включения в контекст (0–7).
  • Auto-create memory summaries: включить автоматическое создание воспоминаний через интервалы.
  • Auto-Summary Interval: количество сообщений, после которого автоматически создается сводка памяти.
  • Auto-Summary Buffer: задержка автосводки на настраиваемое число сообщений.
  • Prompt for consolidation when a tier is ready: показывает подтверждение yes/later, когда выбранный уровень сводки набирает достаточно подходящих исходных записей.
  • Auto-Consolidation Tiers: выбрать один или несколько уровней сводки, которые должны вызывать подтверждение при готовности. Сейчас поддерживаются Arc through Series.
  • Unhide hidden messages before memory generation: может выполнить /unhide X-Y перед созданием воспоминания.
  • Auto-hide messages after adding memory: опционально скрывает все обработанные сообщения или только последний диапазон памяти.
  • Use regex (advanced): включает STMB popup выбора Regex для исходящей/входящей обработки.
  • Memory Title Format: выбрать или настроить формат заголовка (см. ниже).

Поля профиля

Конфигурация профиля

  • Name: отображаемое имя.
  • API/Provider: Current SillyTavern Settings, openai, claude, custom, full manual и другие поддерживаемые провайдеры.
  • Model: имя модели, например gpt-4 или claude-3-opus.
  • Temperature: 0.0–2.0.
  • Prompt or Preset: пользовательский или встроенный.
  • Title Format: шаблон для конкретного профиля.
  • Activation Mode: Vectorized, Constant, Normal.
  • Position: ↑Char, ↓Char, ↑EM, ↓EM, ↑AN, ↓AN, Outlet (и имя поля).
  • Order Mode: auto/manual.
  • Recursion: prevent/delay until recursion.

🏷️ Форматирование заголовков

Формат заголовка Форматы заголовков

Настраивайте заголовки записей лорбука с помощью мощной системы шаблонов.

  • Плейсхолдеры:
    • {{title}} — заголовок, сгенерированный ИИ, например «Судьбоносная встреча».
    • {{scene}} — диапазон сообщений, например Scene 15-23.
    • {{char}} — имя персонажа.
    • {{user}} — ваше имя пользователя.
    • {{messages}} — количество сообщений в сцене.
    • {{profile}} — имя профиля, использованного для генерации.
    • плейсхолдеры текущей даты/времени в разных форматах, например August 13, 2025 для даты и 11:08 PM для времени.
  • Автонумерация: используйте [0], [00], (0), {0}, #0, а также обернутые формы вроде #[000], ([000]), {[000]} для последовательной нумерации с ведущими нулями.
  • Пользовательские форматы: можно создавать собственные форматы. Начиная с v4.5.1, в заголовках разрешены все печатные Unicode-символы, включая emoji, CJK, буквы с диакритикой, символы и т. п. Блокируются только управляющие Unicode-символы.

🧵 Контекстные воспоминания

Генерация памяти с контекстом

  • Можно включить до 7 предыдущих воспоминаний как контекст для лучшей непрерывности.
  • Оценка токенов включает контекстные воспоминания для большей точности.
  • Advanced options позволяют временно переопределить prompt/profile behavior для одного запуска создания воспоминания.

🧾 Опциональная очередь задач (требуется Chat Top Bar)

Очередь задач ST Memory Books

Очередь задач необязательна, но это мощная функция. Она не нужна для обычного использования Memory Books.

Если установить и включить Chat Top Bar / Chat Top Info Bar, STMB добавит кнопку Задачи Книг Памяти на верхнюю панель чата. Она открывает боковую панель очереди, где можно видеть активные, завершённые, неудачные, отменённые задачи Memory Books, а также задачи, требующие проверки.

Это особенно полезно, когда вы:

  • создаёте воспоминания из длинных сцен
  • запускаете консолидацию
  • запускаете Side Prompts после создания воспоминаний
  • работаете в длинных чатах и хотите яснее видеть прогресс и обработку проверок

Очередь может показывать статус задач, отменять активные задачи, повторять неудачные и скрывать завершённые. Если задаче в очереди нужна проверка пользователя, STMB может пометить её как Требует проверки вместо того, чтобы незаметно перезаписать что-то небезопасное.

Если Chat Top Bar не установлен или не включён, STMB продолжит работать обычным образом. Просто интерфейс очереди задач будет недоступен.

Установка Chat Top Bar

Как установить Chat Top Bar


🎨 Визуальная обратная связь и доступность

Полный выбор сцены со всеми визуальными состояниями

  • Состояния кнопок: inactive, active, valid selection, in-scene, processing.

  • Доступность: навигация с клавиатуры, индикаторы фокуса, ARIA-атрибуты, reduced motion, адаптация для мобильных устройств.


FAQ

Должен ли я создавать отдельный лорбук для воспоминаний или можно использовать тот же лорбук, что и для других вещей?

Я рекомендую делать лорбук памяти отдельной книгой. Так проще организовывать воспоминания отдельно от других записей. Например, его проще добавить в групповой чат, использовать в другом чате или назначить отдельный бюджет лорбука через STLO.

Нужны ли мне Vectors?

Можно использовать, но это не обязательно. Если вы не используете расширение vectors (я не использую), Memory Books работает через ключевые слова. Это автоматизировано, поэтому вам не нужно думать о том, какие ключевые слова использовать.

Стоит ли использовать Delay until recursion, если Memory Books — единственный лорбук?

Нет. Если нет других World Info или лорбуков, Delay until recursion может помешать первому циклу сработать, и ничего не активируется. Если Memory Books — единственный лорбук, отключите Delay until recursion или добавьте хотя бы один дополнительный World Info/лорбук.

Почему ИИ не видит мои записи?

Сначала проверьте, что записи действительно отправляются. Для этого удобно использовать WorldInfo-Info.

Если записи срабатывают и отправляются ИИ, вероятно, придется резко напомнить ИИ об этом в OOC. Например: [OOC: WHY are you not using the information you were given? Specifically: (whatever it was)]


Troubleshooting

Предупреждение о пересечении сцен Включить пересечение сцен

  • Я не могу найти Memory Books в меню Extensions!
    Настройки находятся в меню Extensions (волшебная палочка 🪄 слева от поля ввода). Ищите Memory Books.

Расположение настроек STMB

  • Лорбук недоступен или не выбран:

    • В Manual Mode выберите лорбук при запросе.
    • В Automatic Mode привяжите лорбук к вашему чату.
    • Либо включите Auto-create lorebook if none exists для автоматического создания.
  • Lorebook Validation Error:

    • Вероятно, вы удалили ранее привязанный лорбук. Просто привяжите новый лорбук; он может быть пустым.
  • Сцена не выбрана:

    • Отметьте и начало (►), и конец (◄).
  • Сцена перекрывается с существующим воспоминанием:

    • Выберите другой диапазон или включите Allow scene overlap в настройках.
  • ИИ не смог создать валидное воспоминание:

    • Используйте модель, которая поддерживает JSON output.
    • Проверьте промт и настройки модели.
  • Превышен порог предупреждения о токенах:

    • Используйте меньшую сцену или увеличьте порог.
  • Нет кнопок-шевронов:

    • Дождитесь загрузки расширения или обновите страницу.
  • Данные персонажа недоступны:

    • Дождитесь полной загрузки чата/группы.

📚 Усиление с помощью Lorebook Ordering (STLO)

Для более продвинутой организации памяти и более глубокой интеграции в историю используйте STMB вместе с SillyTavern-LorebookOrdering (STLO). В руководстве есть лучшие практики, инструкции по настройке и советы.


📝 Политика символов (v4.5.1+)

  • Разрешено в заголовках: все печатные Unicode-символы, включая буквы с диакритикой, emoji, CJK и символы.
  • Блокируется: только управляющие Unicode-символы (U+0000–U+001F, U+007F–U+009F); они удаляются автоматически.

См. Character Policy Details для примеров и заметок по миграции.


👨‍💻 Для разработчиков

Сборка расширения

Это расширение использует Bun для сборки. Процесс сборки минифицирует и упаковывает исходные файлы.

# Сборка расширения
bun run build

Git hooks

Проект включает pre-commit hook, который автоматически собирает расширение и добавляет build artifacts в коммиты. Это помогает держать собранные файлы синхронизированными с исходниками.

Чтобы установить git hook:

bun run install-hooks

Hook выполняет следующее:

  • запускает bun run build перед каждым коммитом;
  • добавляет build artifacts в коммит;
  • отменяет коммит, если сборка не удалась.

Разработано с любовью, используя VS Code/Cline, обширное тестирование и отзывы сообщества. 🤖💕