• UnoRouterUNOROUTER
Documentation
  • Guide du chat
Premiers pas
  • Premiers pas
Personnages & monde
  • Personnages
  • Personas
  • Lorebooks
  • Cartes
Prompting
  • Presets
  • Modèle de prompt
  • Chats de groupe
Scripting
  • Macros (CBS)
  • Scripts regex
  • Déclencheurs & Lua
Contexte & médias
  • Mémoire & contexte
  • Images
  • Fournisseurs personnalisés
Vos données
  • Vos données
Naviguer
  • Modèles
  • Classements
  • Inspecteur
  • Tarifs
  • Chat
  • Statut

Rechercher dans la doc...

Commencez à taper pour rechercher dans la documentation

PlateformeIntégrationsChat
Guide du chat

Macros (CBS)

Du scripting à accolades dans n'importe quel texte de prompt.

Les macros sont des jetons à doubles accolades développés au moment de la requête. Elles fonctionnent dans les champs de personnage, les entrées de lorebook, les presets, les salutations et le texte de chat ordinaire, et elles s'imbriquent.

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

Les arguments sont séparés par des doubles deux-points. Une macro inconnue se développe en rien plutôt qu'en erreur : une faute de frappe ne casse jamais une requête.

MacroSe développe en
{{char}}Le nom du personnage courant (chats de groupe : le locuteur courant).
{{user}}Le nom de votre persona.
{{persona}}La description de votre persona.
{{description}}Le champ description du personnage courant.
{{lastmessage}}Le texte du message le plus récent.
{{time}} / {{date}}Heure / date actuelles dans votre langue et fuseau horaire.

random choisit un argument à chaque développement, pick fait un choix stable pour la conversation, et roll lance des dés en notation d.

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

Tirages et aléas sont seedés par tour : une régénération réutilise les mêmes valeurs, balayer ne relance donc pas vos dés.

Les variables de chat persistent par branche de conversation ; les variables globales persistent à travers tous les chats. Définissez-les dans tout texte acceptant les macros ou depuis les scripts déclencheurs.

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

Le stockage par branche signifie que balayer vers une autre branche restaure l'état de ses variables ; les branches sœurs ne se contaminent jamais.

Les blocs enveloppent du contenu : if ne rend son corps que si la condition est vraie, each boucle sur des tableaux avec substitution de slot, et when ajoute des branches else par ligne.

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

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

pure et escape protègent les accolades littérales du développement ; toute balise fermante ferme le bloc ouvert le plus interne.

Les macros de commentaire disparaissent avant que le modèle ne les voie, parfaites pour des notes dans les champs de carte. Utilisez les blocs pure pour afficher la syntaxe des macros littéralement.

text
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}
Chats de groupeScripts regex

Sur cette page

Syntaxe
Macros de base
Aléatoire
Variables
Formes de bloc
Commentaires et littéraux