جستجو در راهنما...

برای جستجوی مستندات تایپ کنید

راهنمای گفتگو

ماکروها (CBS)

اسکریپت آکولادی داخل هر متن پرامپت.

ماکروها توکن‌های دوآکولاده‌اند که موقع درخواست گسترش می‌یابند. در فیلدهای شخصیت، مدخل‌های لوربوک، پریست‌ها، خوش‌آمدها و متن گفتگو کار می‌کنند و تودرتو می‌شوند.

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

آرگومان‌ها با دونقطه دوتایی جدا می‌شوند. ماکروی ناشناخته به‌جای خطا به هیچ‌چیز گسترش می‌یابد؛ پس غلط تایپی هرگز درخواست را نمی‌شکند.

آکولاد تک ماکرو نیست. یک جفت به‌صورت متن عینی به مدل می‌رسد و در پاسخ‌ها دیده می‌شود — علت معمول آکولادهای سرگردان. با SillyTavern، RisuAI و JanitorAI مطابق است؛ پس کارت‌هایشان بدون تغییر کار می‌کنند.

text
{{user}}   expands to your persona name
{user}     stays literal text

ماکروگسترش می‌یابد به
{{char}}نام شخصیت فعلی (گفتگوی گروهی: گوینده فعلی).
{{user}}نام پرسونای شما.
{{persona}}توصیف پرسونای شما.
{{description}}فیلد توصیف شخصیت فعلی.
{{lastmessage}}متن آخرین پیام.
{{time}} / {{date}}زمان/تاریخ فعلی در زبان و منطقه زمانی شما.

‏random هر بار گسترش، آرگومانی تازه انتخاب می‌کند. pick انتخابی می‌کند که برای کل گفتگو پایدار می‌ماند. roll با نگاشت d تاس می‌اندازد.

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

‏roll و random به ازای هر نوبت بذر می‌شوند: بازتولید همان مقادیر را دوباره استفاده می‌کند؛ پس سوایپ، تاس را دوباره نمی‌اندازد.

متغیرهای گفتگو به ازای هر انشعاب می‌مانند. متغیرهای سراسری میان همه گفتگوها پابرجاست. در هر متنی که ماکرو می‌پذیرد یا از اسکریپت‌های تریگر تنظیمشان کنید.

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}}