Buscar documentación...

Empieza a escribir para buscar documentación

Guía del chat

Macros (CBS)

Scripting con llaves dentro de cualquier texto de prompt.

Sintaxis

Las macros son fichas entre llaves dobles que se expanden al hacer la petición. Funcionan en campos de personaje, entradas de lorebook, presets, saludos y texto normal del chat, y se pueden anidar.

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

Los argumentos se separan con dobles dos puntos. Las macros desconocidas se expanden a nada en vez de fallar, así que una errata nunca rompe una petición.

Macros básicas

MacroSe expande a
{{char}}El nombre del personaje actual (en grupos, el hablante actual).
{{user}}El nombre de tu persona.
{{persona}}La descripción de tu persona.
{{description}}El campo descripción del personaje actual.
{{lastmessage}}El texto del mensaje más reciente.
{{time}} / {{date}}Hora / fecha actuales en tu idioma y zona horaria.

Aleatoriedad

random elige un argumento nuevo en cada expansión, pick hace una elección estable durante la conversación, y roll lanza dados con notación d.

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

Tiradas y aleatorios llevan semilla por turno: regenerar reutiliza los mismos valores, así que deslizar no vuelve a tirar tus dados.

Variables

Las variables de chat persisten por rama de conversación; las globales persisten en todos los chats. Defínelas en cualquier texto con macros o desde scripts de disparadores.

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

El almacenamiento por rama significa que deslizar a otra rama restaura su estado de variables; las ramas hermanas nunca se filtran valores entre sí.

Bloques

Los bloques envuelven contenido: if solo renderiza su cuerpo si la condición es verdadera, each recorre arrays con sustitución de hueco, y when añade ramas else por línea.

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

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

pure y escape protegen las llaves literales de la expansión; cualquier cierre cierra el bloque abierto más interno.

Comentarios y literales

Las macros de comentario desaparecen antes de que el modelo las vea, ideales para notas dentro de los campos de la tarjeta. Usa bloques pure cuando necesites mostrar sintaxis de macros literalmente.

text
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}
Macros CBS en UnoRouter