聊天指南
巨集(CBS)
在任意提示詞文字中的花括號腳本。
語法
巨集是雙花括號標記,在請求時展開。它們在角色欄位、世界書條目、預設、開場白和一般聊天文字中都可用,並可巢狀。
text
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}參數以雙冒號分隔。未知巨集會展開為空而非報錯,因此打錯字絕不會破壞一次請求。
核心巨集
| 巨集 | 展開為 |
|---|---|
{{char}} | 當前角色名(群聊中為當前發言者)。 |
{{user}} | 你的人設名。 |
{{persona}} | 你的人設描述。 |
{{description}} | 當前角色的描述欄位。 |
{{lastmessage}} | 最近一則訊息的文字。 |
{{time}} / {{date}} | 按你的地區和時區的當前時間 / 日期。 |
隨機
random 每次展開都重新選取,pick 做出在該對話中保持不變的選擇,roll 以 d 記法擲骰。
text
{{random::a::b::c}} {{pick::a::b::c}} {{roll::d20}}擲骰與隨機按回合播種:重新生成會重用相同的值,因此滑動不會重擲你的骰子。
變數
聊天變數按對話分支保留;全域變數在所有聊天間保留。可在任意支援巨集的文字或觸發腳本中設定它們。
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}}