> For the complete documentation index, see [llms.txt](https://enaennprompt.gitbook.io/enaenn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enaennprompt.gitbook.io/enaenn/guides/gaidy-i-prompty-ot-enaenn/poleznye-shtuki.md).

# Полезные штуки&#x20;

автор промптов: @enaenn

{% hint style="info" icon="cat" %}
*<mark style="background-color:$tint;">Все промпты с этой странички отправляются прямо в чат. Для легкого копирования тапните/кликните по верхнему правому уголку окошка с кодом</mark>*

<sub>*Для корректной работы промптов советую установить значение*</sub><sub>*&#x20;*</sub><sub>***temperature на 0.***</sub><sub>*&#x20;*</sub><sub>*Также можете поиграться с*</sub><sub>*&#x20;*</sub><sub>***Context Size***</sub><sub>*&#x20;*</sub><sub>*(в большую сторону)*</sub>
{% endhint %}

* [**для Janitor**](#otslezhivaem-sobytiya-rolevoi-igry-na-janitor-or-chat-history)
* [**для SillyTavern**](#otslezhivaem-sobytiya-rolevoi-igry-v-sillytavern-or-st-memory-books)
* [**универсальные**](#proverka-chata-na-oshibki-so-storony-ii-universalnoe)

***

### Отслеживаем события ролевой игры на Janitor | Chat History

Контекст для генерации адекватных ответов варьируется в зависимости от модели. Почитать про него [можно тут](/enaenn/guides/gaidy-i-prompty-ot-enaenn/nastroika/nastroiki-generacii-dlya-bolshikh-llm.md#context-size).

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

<sub>***На Janitor это отслеживается в разделе Chat History.***</sub>

<details>

<summary>Генерируем краткую сводку событий (промпт для джани) (обновлен 07.2026)</summary>

{% code title="" overflow="wrap" %}

```
[PAUSE THE ROLEPLAY]

ROLE & GOAL
You are now the Narrative Archivist. Your primary goal is to create a definitive, machine-readable reference document to help the Player and GameMaster track the ongoing story. Prioritize narrative significance, emotional context, and character motivations alongside factual accuracy.

CORE DIRECTIVES
· Extract & Synthesize: Derive all information from the entire chat history, character interactions, and world info. Do not restate information from the original {{char}} description. Avoid redundancy throughout the entire document.
· Agency & Clarity: Always name the character performing an action. Phrase events as character-driven actions (e.g., "{{char}} proposed to {{user}}"). Avoid passive voice that obscures agency.
  · Practical Concession: You may use collective terms like "the group" or "they" only after the involved characters have been clearly established.
· Be Concise but Thorough: The total summary should be between 200-250 words. Prioritize the most critical information with emphasis on emotional impact and character development significance.
· Narrative Context: For pivotal scenes, include character motivations, emotional subtext, and how events affect relationship dynamics and character growth.
· Formatting: Use clear, plain language with Markdown formatting (e.g., ##, -) for easy human and machine parsing.

OUTPUT FORMAT
Structure your document exactly as follows using these headings:

Story Recap
· Provide a chronological bullet-point summary of the entire narrative that captures both events and their emotional/narrative significance.
· If updating an existing summary, seamlessly integrate new events in chronological order.
· Include: Key plot points, character motivations, emotional turning points, relationship dynamics evolution, and how events impact character development.
· Conclude with the total in-game time passed since the story's beginning.

Main Characters
List only major characters who have directly interacted with {{user}} or have clear potential for development or notable mention in the future story. Exclude {{user}}'s own character.
· Name: [Character Name]
  · Relationship Dynamics: [Key shared events. Do not define what that means for relationship, just concisely state what happened between the character and {{user}}. Omit if defined in original bio.]
  · Last Known Status & Location: [Last known location]

Minor Characters
· A simple list of names from the background cast, with their primary function or interaction (e.g., "Elara - The innkeeper who gave the quest").
```

{% endcode %}

</details>

***

### Трекер состояний (для Джани)

Отправляем в чат, чтобы ИИ нам напомнил: во что одеты персонажи, как они выглядят, где находятся и какое время суток сейчас.

<details>

<summary>Напоминаем себе и ИИ детали текущей сцены</summary>

{% code overflow="wrap" %}

```
[Pause the roleplay. Provide a brief summary of the current scene's key physical details.

Output Requirements:
- Format: Use a clear, bulleted list for easy scanning.
- Scope: Derive all information from the chat history.

Summary Instructions:
List the following details based on the most recently established context:
- Characters Present: Name all active characters in the scene.
- Outfits: Describe each character's current clothing and attire (e.g., hair, makeup, state of dress).
- Physical State: Note any notable physical conditions (e.g., injured, tired, clean, dirty).
- Positions: State the location and posture of each character (e.g., standing by the window, sitting at the desk).
- Location: Specify the current setting of the scene.
- Time of Day: Indicate if it is morning, afternoon, evening, or night. If mentioned, state the specific time (e.g., 9:00 PM, 10:00 AM).]
```

{% endcode %}

</details>

### Переносим данные в новый чат (для длинных РП на Джани)

Поскольку на популярных сайтах для ролевых нет функции исключения сообщений из контекста, **при очень длинной переписке (от 900-1000 сообщений) ответы ИИ начинают сильно деградировать.**&#x20;

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

<details>

<summary>Инструкция по переносу чата</summary>

* [ ] Ставим в настройках генерации [**temperature**](/enaenn/guides/gaidy-i-prompty-ot-enaenn/faq-dlya-novichkov.md) **0**
* [ ] **Отправляем** в чат [промпт для резюмирования нашей истории](#otslezhivaem-sobytiya-rolevoi-igry-or-chat-history) вместе с [промптом на отслеживание состояний](#treker-sostoyanii)&#x20;
* [ ] Проверяем глазками на ошибки, если есть — исправляем вручную или рероллим пока не будет то, что надо
* [ ] Следом **отправляем** в чат вот этот промпт:&#x20;

{% code title="Анализ развития бота в течение истории" overflow="wrap" %}

```
[Please, pause the roleplay. Analyze the character development of {{char}} by comparing their original description to their portrayal throughout the story. Focus on changes driven by narrative events.
Output Requirements:
- Format: Use bullet points with Markdown (## for headers, - for list items).
- Scope: Base the analysis solely on the entire chat history and world info. - Do not reference the original {{char}} description.
- Conciseness: The total output must be 200 words or less.
- Parsability: Use clear, plain language for easy machine parsing.

# Analysis Instructions:
Identify Character Arc:
- Determine the key ways {{char}} has changed from their initial story portrayal.
- List the main points of this development.
Link Causes to Effects:
- For each point of development, describe the specific, character-driven event that caused it.
- Always state the character performing the action (e.g., "{{char}} defended {{user}}").
- Use collective terms like "the group" only after establishing the members.
Note Critical Scenes:
- Explicitly identify and describe any intimate or pivotal scenes that were turning points for {{char}}'s development.
Style Mandates:
- Avoid Redundancy: Synthesize information; do not restate similar points.
- Ensure Agency: Phrase events as direct actions, avoiding passive voice.]
```

{% endcode %}

* [ ] Возвращаем значение [**temperature**](/enaenn/guides/gaidy-i-prompty-ot-enaenn/faq-dlya-novichkov.md) к изначальному
* [ ] В отдельном окне начинаем новый чат с нашим ботом, в диалоговое окошко **вставляем:**

{% code overflow="wrap" %}

```
[Hello. I will provide a detailed recap of our story and describe {{char}}'s character development throughout it. Please continue the roleplay from the last point in the provided summary, taking this information into consideration.]
```

{% endcode %}

* [ ] Переходим обратно к старому чатику, **копируем** все, что ИИ нам нагенерировал, и **добавляем** в диалоговое окошко нового чата.
* [ ] Отправляем наше большое сообщение. Далее бот должен продолжить игру ровно с того момента, на котором она остановилась.

</details>

***

### Отслеживаем события ролевой игры в SillyTavern | ST Memory Books

Для SillyTavern есть куча разных расширений по отслеживанию ролки, но после пары месяцев тестирования я остановилась на [**ST MemoryBooks**](https://github.com/aikohanasaki/SillyTavern-MemoryBooks), тк его удобно использовать — есть автоматическая генерация воспоминаний в лорбук, легко настраивается, есть предустановленные промпты (классные!!), ну и плюс разработчица оперативно правит баги.&#x20;

<div align="center" data-full-width="false"><figure><img src="https://2731895255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMU8SIiX4MjFTgp2qnDMI%2Fuploads%2FJWhnLo7u7loxlSiCVEpe%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202026-02-27%20%D0%B2%2018.12.39.png?alt=media&amp;token=932aa415-9d8a-4e16-9834-66d1ad1f4baf" alt="" width="375"><figcaption><p>мои настройки (custom api = профиль, выбранный вами для ролки в настройках ST) </p></figcaption></figure></div>

Я сделала себе химеру из моего промпта и промпта от Aelemar и очень довольна тем, что мне генерит DeepSeek V4 Pro

<details>

<summary>Промпт для расширения ST <a href="https://github.com/aikohanasaki/SillyTavern-MemoryBooks">Memory Books</a> (600-900 токенов/энтри)</summary>

{% code overflow="wrap" %}

```
You are a meticulous archivist tasked with creating a permanent factual record of the scene in JSON format. Your summary must be so precise that if the original chat log were deleted, every important detail—including exact wording of critical messages—would be preserved. 

You must respond with ONLY valid JSON in this exact format: 
{ 
"title": "Concise scene title (3-5 words)", 
"content": "Chronological summary of events beat-by-beat in narrative prose (200-400 words)", 
"keywords": ["keyword1", "keyword2", "keyword3"] 
} 

For the content field: 
Create a beat-by-beat chronological summary in narrative prose. Include exact in-simulation time, date and location. List all participating characters (including NPCs) at the start. 
Format: 
Begin with: “[DATE, TIME — TIME] • LOCATION • Agents: [list]“
CRITICAL: Dialogue Capture Rules 
· Unresponded-to messages: If user sends a meaningful/provoking message that hasn't been replied to by scene's end, quote it verbatim. Example format: "{{user}} sent: 'exact message text here'." 
· Pivotal conversations: When characters discuss something meaningful (confessions, plans, conflicts, emotional revelations, things they might consider important to remember about each other), include parts of direct quotes that capture the essence. Format as: "[Character] said, 'exact piece of quote,' which [stated in the narration impact/reaction]." 
· Explicit content: Any sexually explicit messages, descriptions of physical intimacy, or graphic content must be described with the same specificity as it occurred, including verbatim text if sent as messages. 
· Routine conversation: For mundane chatting, summarize without quotes. Core Requirements: 
· Agent-driven clarity: Always name who performed each action or spoke. Never use passive voice that obscures agency. Use collective terms ("they," "the group") only after all members are clearly established. 
· Factual precision: Capture: who went where with whom, exactly what was done, all plans made and discussed, promises given, suspicions formed, conflicts arising, and emotional states shown.
· Note only the clock time each character fell asleep and woke, if it occurred on-screen. State it as a bare fact (e.g., 'Ena fell asleep at 23:40, woke at 07:15'). Do not explain, justify, or characterize why they slept or how they felt about it.
· Do not default to fatigue, exhaustion, or sleep-deprivation as a stock descriptor for emotional or physical state. If a character is tired, hungry, stressed, etc, state it plainly once, using ordinary vocabulary, and only when it is materially relevant to the scene — not as a recurring emotional shorthand.
· No assessment or interpretation: State only what happened, who did it, and what was said. Do not analyze "what this means for their relationship" or summarize themes. 
· No psychological mechanism labels: Do not name internal mechanisms or certify emotional states ("his mask returned," "something broke in him," "he catalogued it," "not performing," "his jealousy surfaced"). Record only the observable behavior that accompanied the moment — what the body did, what was said, what changed visibly. The behavioral record is sufficient; the AI will derive meaning from the character sheet. 
· Intimate scenes: Describe explicitly—who touched whom where, what was said during, all physical details as they occurred, capture mostly significant or unusual parts.

Write in simple past tense. Prioritize accuracy above brevity, but avoid redundancy. BE PRECISE! ~500-700 WORDS MAX. Phrasing should be clear, simple, and without contradictions to avoid confusing an AI that will retrieve the entries later. 
For the keywords field: Provide 2-3 specific keywords capturing core elements (locations, key actions, emotional tone). Never use {{char}} or {{user}}. 
Return ONLY the JSON, no other text.
```

{% endcode %}

</details>

#### Еще расширения, которыми я пользуюсь регулярно:

[**WorldInfo Info**](https://github.com/LenAnderson/SillyTavern-WorldInfoInfo) — показывает, какие записи из лорбука стриггерились при генерации ответа ИИ

[**Notebook**](https://github.com/SillyTavern/Extension-Notebook) — обычный блокнот для персональных заметок юзера, я храню там всякие штучки по ролке (расписание дня персонажки, запас финансов, планы и даты и тд)

Ну и база — [**WorldInfo Recommender**](https://github.com/bmen25124/SillyTavern-WorldInfo-Recommender) и [**CharacterCreator**](https://github.com/bmen25124/SillyTavern-Character-Creator).&#x20;

Первое генерит записи для вашего лорбука на основе вашего промпта, истории чата и прикрепленных лорбуков, второе генерирует описание персонажа, используя те же источники — полезно, если вам понравился НПС и вы хотите сделать из него полноценного бота.&#x20;

Однако, оба эти расширения криво работают с темой [**MoonlitEchoes**](https://github.com/RivelleDays/SillyTavern-MoonlitEchoesTheme), так что если она у вас установлена, после использования данных расширений придется перезагружать страницу.&#x20;

***

### Проверка чата на ошибки со стороны ИИ (универсальное)

Даже самые совершенные ИИ могут проседать в длительных ролевых играх. Ниже представлены промпты для коррекции сбоев в нарративе.&#x20;

<details>

<summary>Проверяем чат на логичность сюжета, упущение важных деталей в процессе повествования и повторяющиеся паттерны</summary>

{% code overflow="wrap" %}

```
[PAUSE THE ROLEPLAY.
Please conduct a narrative consistency analysis focusing on:

1. Character Motivation & Logic Audit
- Verify all character actions against their established motivations and goals
- Identify any actions that break cause-effect logic in the narrative flow
- Pinpoint where character behavior contradicts their core traits or objectives

2. Plot Continuity Verification
- Analyze if current events logically follow from established plot points
- Check for inconsistencies in character capabilities and power scaling
- Ensure all major developments maintain narrative plausibility

3. Environmental & Temporal Consistency
- Track time flow, character positions, outfits, and environmental details
- Verify persistent objects and ongoing conditions remain consistent

4. Repetition & Pattern Audit
- Flag recurring phrases, descriptions, or metaphors used too frequently across messages
- Identify repeated character actions or reactions that have become formulaic (e.g., always hesitating before speaking, always clenching fists when angry)
- Detect dialogue patterns where a character's responses follow the same structural template
- Note escalation loops — moments of tension, resolution, or revelation that repeat at similar intensity without narrative progression
- Identify reset behavior where a character re-learns or re-reacts to something already processed

5. Narrative Oversight Review
- Identify contradictions in previous messages
- Flag instances where established world rules were bent or broken
- Note any stylistic drift — shifts in writing tone, voice, or complexity that occur without narrative cause, including character voices bleeding into one another

For each issue found, provide:
- The specific narrative break
- Why it undermines consistency
- A coherent resolution that maintains character integrity

Prioritize meaningful narrative logic over minor technical errors.]
```

{% endcode %}

</details>

<details>

<summary>Проверяем, корректно ли отображаются характеры бота и NPC</summary>

<pre data-title="" data-overflow="wrap"><code><strong>[PAUSE THE ROLEPLAY.
</strong><strong>Conduct a thorough character consistency audit for all characters under your control. Additionally mark the results with "✅" and "❌".
</strong><strong>    1. Voice &#x26; Action Check: Scrutinize their recent dialogue, decisions, and reactions. Are they aligned with their established personality, behavioral patterns, background, core traits, and current emotional state?
</strong><strong>    2. Development Consistency: Analyze if their development throughout the story feels logical and earned. Have any changes in their behavior been properly motivated by simulation/roleplay events, or do they feel abrupt and/or unjustified?
</strong><strong>    3. Synthesis &#x26; Correction: For any detected out-of-character moments, identify the specific instance and provide a brief, coherent explanation of how it deviates from their established persona. Acknowledge these findings and ensure future portrayals are adjusted accordingly to maintain narrative integrity.]
</strong></code></pre>

</details>
