聊天指南
宏(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}}