← К блогу

Почему приветствия ломаются при переносе между фронтендами

Приветствие (greeting) — это не просто текст в карточке. Разные фронтенды поразному обрабатывают разметку, подстановки и служебные блоки. Один и тот же cha…

Опубликовано
  • greetings
  • portability
  • character-cards
  • frontends
  • roleplay

Проблема в том, что приветствие — первое, что видит пользователь в roleplay. Если оно сломано, впечатление от персонажа уже не спасти. Ниже — практический подход к написанию переносимых opening messages.

Что именно отвечает за переносимость

Карточка персонажа хранит приветствия в разных полях в зависимости от спецификации. Классический формат (V2) использует first_mes и alternate_greetings, а расширенные поля вроде group_only_greetings поддерживаются не везде.

ЭлементРиск при переносе
HTML-теги (<b>, <br>)Часть фронтендов рендерит, часть — экранирует
Markdown (курсив, списки)Обычно работает, но вложенность может ломаться
Подстановки {{char}}, {{user}}Поддерживаются не всеми клиентами
Служебные блоки (system prompt внутри приветствия)Часто игнорируются или попадают в текст
Длинные приветствияМогут обрезаться в мобильных клиентах

Вывод простой: чем меньше зависимостей от конкретного движка, тем выше portability.

Правила написания переносимых приветствий

1. Держитесь «наименьшего общего знаменателя» разметки

  • Используйте обычный текст и пустые строки для абзацев.
  • Курсив (*действие*) — безопасный минимум; полужирный и заголовки применяйте осторожно.
  • Избегайте HTML, если карточка должна открываться в мобильных приложениях и веб-клиентах.

2. Не полагайтесь на подстановки

{{char}} и {{user}} удобны, но не гарантированы. Если персонаж должен представиться, впишите имя прямо в текст, а подстановки оставьте как дополнение, а не как основу.

3. Разделяйте приветствие и инструкции

System-промпт, стилевые указания и описания мира держите вне first_mes. Приветствие — это сцена, а не техническая обвязка. Такой подход корректно работает и в SillyTavern, и в других frontends.

4. Пишите коротко, но с крючком

  • 3–6 абзацев — рабочий диапазон.
  • Первый абзац задаёт место и атмосферу.
  • Последний — оставляет действие за пользователем.

5. Проверяйте alternate greetings отдельно

alternate_greetings — массив. Убедитесь, что каждое приветствие самодостаточно и не ссылается на предыдущее. Порядок отображения в разных клиентах может отличаться.

Чек-лист перед публикацией карточки

  • Откройте карточку минимум в двух клиентах (например, SillyTavern и MiniTavern).
  • Проверьте, что разметка не экранируется и не обрезается.
  • Убедитесь, что подстановки не «протекли» в текст как сырые символы.
  • Прочитайте каждое приветствие вслух — нет ли обрывов на середине сцены.
  • Проверьте alternate greetings по отдельности, а не только первое.

Пример: Captain Elara Voss

Featured card — Captain Elara Voss — хороший образец переносимого приветствия. Открывающая сцена построена на чистом тексте и минимальном курсиве, имя капитана вписано напрямую, а инструкции по тону вынесены за пределы first_mes. Такая карточка одинаково читается в настольном SillyTavern, в мобильном приложении и в веб-клиенте — без правок под каждый frontend.

Итог

Переносимость приветствия — это дисциплина, а не магия формата. Минимум разметки, отказ от обязательных подстановок, отделение сцены от инструкций и проверка в нескольких клиентах дают карточку, которая работает везде. Если вы публикуете персонажей и хотите, чтобы они открывались одинаково на iOS, Android, в веб-клиенте и в расширении для Chrome, попробуйте MiniTavern: приложения, веб-клиент и рынок карточек персонажей — удобная площадка для тестирования и публикации ваших character-cards.

Другие статьи, которые могут вам понравиться

Как устроен рынок карточек в 2026 году

Экосистема SillyTavern давно вышла за пределы личных сборок. Карточка персонажа стала полноценным цифровым продуктом: её покупают, обновляют, переносят меж…

  • card-market
  • monetization
  • character-cards
  • sillytavern
Читать