Поиск по документации...

Начните вводить, чтобы искать по документации

Руководство по чату

Макросы (CBS)

Скриптинг в фигурных скобках в любом тексте промпта.

Синтаксис

Макросы — токены в двойных фигурных скобках, разворачиваемые в момент запроса. Они работают в полях персонажей, записях лорбуков, пресетах, приветствиях и обычном тексте чата, и вкладываются друг в друга.

text
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}

Аргументы разделяются двойным двоеточием. Неизвестные макросы разворачиваются в ничто, а не в ошибку, так что опечатка никогда не ломает запрос.

Базовые макросы

МакросРазворачивается в
{{char}}Имя текущего персонажа (в группах — текущего говорящего).
{{user}}Имя вашей персоны.
{{persona}}Описание вашей персоны.
{{description}}Поле описания текущего персонажа.
{{lastmessage}}Текст последнего сообщения.
{{time}} / {{date}}Текущее время / дата в вашем языке и часовом поясе.

Случайность

random выбирает аргумент заново при каждом развороте, pick делает выбор, стабильный для разговора, а roll бросает кости в d-нотации.

text
{{random::a::b::c}}   {{pick::a::b::c}}   {{roll::d20}}

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

Переменные

Чатовые переменные живут в пределах ветки разговора; глобальные — во всех чатах. Задавайте их в любом тексте с макросами или из триггер-скриптов.

text
{{setvar::mood::happy}}
{{getvar::mood}}
{{setglobalvar::visits::1}}

Хранение по веткам означает: свайп на другую ветку возвращает её состояние переменных; сёстры никогда не протекают значениями друг в друга.

Блочные формы

Блоки оборачивают содержимое: if отрисовывает тело только при истинном условии, each итерирует по массивам с подстановкой слота, а when добавляет построчные else-ветки.

text
{{#if {{equal::{{getvar::mood}}::happy}}}}
{{char}} is in a great mood.
{{/if}}

{{#each {{array::red::green::blue}} item}}
Color: {{slot::item}}
{{/each}}

pure и escape защищают буквальные скобки от разворота; любой закрывающий тег закрывает самый внутренний открытый блок.

Комментарии и литералы

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

text
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}
Макросы CBS в UnoRouter