Docs durchsuchen...

Tippen Sie, um die Dokumentation zu durchsuchen

Chat-Handbuch

Makros (CBS)

Skripting mit geschweiften Klammern in jedem Prompt-Text.

Syntax

Makros sind Tokens in doppelten geschweiften Klammern, die zur Anfragezeit expandieren. Sie funktionieren in Charakterfeldern, Lorebook-Einträgen, Presets, Begrüßungen und normalem Chattext, und sie lassen sich verschachteln.

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

Argumente werden mit doppelten Doppelpunkten getrennt. Unbekannte Makros expandieren zu nichts statt zu einem Fehler, ein Tippfehler bricht also nie eine Anfrage.

Kern-Makros

MakroExpandiert zu
{{char}}Der Name des aktuellen Charakters (Gruppenchats: der aktuelle Sprecher).
{{user}}Der Name deiner Persona.
{{persona}}Die Beschreibung deiner Persona.
{{description}}Das Beschreibungsfeld des aktuellen Charakters.
{{lastmessage}}Der Text der letzten Nachricht.
{{time}} / {{date}}Aktuelle Zeit / Datum in deiner Sprache und Zeitzone.

Zufall

random wählt bei jeder Expansion neu, pick trifft eine Wahl, die für das Gespräch stabil bleibt, und roll würfelt mit d-Notation.

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

Würfe und Zufälle sind pro Runde geseedet: Ein Neugenerieren verwendet dieselben Werte, Swipen würfelt also nicht neu.

Variablen

Chat-Variablen gelten pro Gesprächszweig; globale Variablen gelten über alle Chats hinweg. Setze sie in jedem makrofähigen Text oder aus Trigger-Skripten.

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

Zweig-gebundene Speicherung heißt: Ein Swipe auf einen anderen Zweig stellt dessen Variablenstand wieder her; Geschwister übertragen nie Werte aufeinander.

Blockformen

Blöcke umschließen Inhalt: if rendert seinen Rumpf nur bei wahrer Bedingung, each iteriert mit Slot-Ersetzung über Arrays, und when ergänzt zeilenbasierte else-Zweige.

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

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

pure und escape schützen wörtliche Klammern vor der Expansion; jedes schließende Tag schließt den innersten offenen Block.

Kommentare und Literale

Kommentar-Makros verschwinden, bevor das Modell sie je sieht, ideal für Notizen in Kartenfeldern. Nutze pure-Blöcke, wenn du Makro-Syntax wörtlich zeigen willst.

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