Skip to content

宏系统

宏(Macro)是特殊的占位符,在发送给AI时会被替换为实际值。


📖 基础概念

宏使用双大括号包裹:{{宏名称}}

例如:

  • {{char}} → 当前角色名
  • {{user}} → 当前用户名
  • {{time}} → 当前时间

📋 完整宏列表

时间日期

说明示例输出
{{time}}当前时间14:30
{{date}}当前日期2026年1月19日
{{weekday}}星期星期日
{{isotime}}ISO时间14:30
{{isodate}}ISO日期2026-01-19
{{time_UTC+8}}指定时区14:30
{{idle_duration}}上次消息间隔5分钟前

随机生成

说明示例
{{random:1,3,5}}随机选一个1、3或5中随机一个
{{roll:3d6}}掷骰子3个6面骰的总和

角色信息

说明
{{char}}角色名称
{{user}}用户名称
{{group}}群聊所有角色
{{charIfNotGroup}}非群聊时的角色名
{{persona}}用户人设描述

角色卡字段

说明
{{description}}角色设定
{{personality}}性格特点
{{scenario}}场景
{{mesExamples}}对话示例
{{charVersion}}角色版本
{{creatorNotes}}创建者备注

消息相关

说明
{{lastMessage}}最后一条消息
{{input}}用户当前输入
{{lastUserMessage}}最后用户消息
{{lastCharMessage}}最后角色消息

排版

说明
{{newline}}换行
{{trim}}去除首尾空白
{{noop}}空操作

🔧 变量宏

变量系统让你可以在聊天中存储和使用动态数据。

设置变量

{{setvar::变量名::值}}

支持的值类型:

  • 文字:{{setvar::name::张三}}
  • 数字:{{setvar::hp::100}}
  • 列表:{{setvar::items::["剑","盾"]}}

读取变量

{{getvar::变量名}}

修改变量

说明
{{addvar::name::value}}添加值(追加/相加/拼接)
{{incvar::name}}数值+1
{{decvar::name}}数值-1

📖 使用示例

在角色描述中

{{char}}是一位强大的魔法师。
现在是{{time}},{{weekday}}。
{{char}}正在等待{{user}}的到来。

实际效果:

艾琳是一位强大的魔法师。
现在是14:30,星期日。
艾琳正在等待小明的到来。

实现游戏机制

{{user}}的生命值:{{getvar::hp}}/100
{{user}}的金币:{{getvar::gold}}

掷骰子判定攻击...
攻击点数:{{roll:1d20}}

条件性内容

可以结合世界信息实现条件触发:

# 世界信息条目
关键词: 夜晚, 晚上
内容: 现在是{{time}},月光洒落,周围一片静谧。

🏷️ 旧版兼容

为兼容旧版角色卡,以下格式仍支持:

旧格式新格式
<USER>{{user}}
<CHAR>{{char}}
<BOT>{{char}}

建议新创建的内容使用新格式。


⚠️ 注意事项

  1. 变量作用域:变量仅在当前聊天中有效
  2. 大小写:宏名称区分大小写
  3. 嵌套:部分宏支持嵌套使用
  4. 性能:过多变量操作可能影响性能

返回功能列表

Released under the MIT License.