Buscar documentação...

Comece a digitar para buscar documentação

Guia do chat

Macros (CBS)

Scripting de chaves dentro de qualquer texto de prompt.

Sintaxe

Macros são tokens de chaves duplas expandidos na hora da requisição. Funcionam em campos de personagem, entradas de lorebook, presets, saudações e texto comum do chat, e podem se aninhar.

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

Argumentos são separados por dois-pontos duplos. Macros desconhecidas expandem para nada em vez de dar erro, então um erro de digitação nunca quebra uma requisição.

Macros básicas

MacroExpande para
{{char}}O nome do personagem atual (grupos: o falante atual).
{{user}}O nome da sua persona.
{{persona}}A descrição da sua persona.
{{description}}O campo de descrição do personagem atual.
{{lastmessage}}O texto da mensagem mais recente.
{{time}} / {{date}}Hora / data atuais no seu idioma e fuso horário.

Aleatoriedade

random escolhe um argumento novo a cada expansão, pick faz uma escolha estável para a conversa, e roll joga dados em notação d.

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

Sorteios e aleatórios têm semente por turno: regenerar reutiliza os mesmos valores, então deslizar não rejoga seus dados.

Variáveis

Variáveis de chat persistem por ramo da conversa; variáveis globais persistem em todos os chats. Defina-as em qualquer texto com macros ou em scripts de gatilho.

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

Armazenamento por ramo significa que deslizar para outro ramo restaura o estado de variáveis dele; ramos irmãos nunca vazam valores entre si.

Blocos

Blocos envolvem conteúdo: if só renderiza o corpo com condição verdadeira, each percorre arrays com substituição de slot, e when adiciona ramos else por linha.

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

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

pure e escape protegem chaves literais da expansão; qualquer fechamento fecha o bloco aberto mais interno.

Comentários e literais

Macros de comentário somem antes de o modelo vê-las, ideais para anotações nos campos do cartão. Use blocos pure quando precisar mostrar sintaxe de macro literalmente.

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