设置与初始化变量#

当使用 MVU 变量框架时, 我们在同一个地方完成变量设置和初始化: 一个名字里包含 [initvar] 的世界书条目.

../../../../_images/initvar%E5%90%8D%E5%AD%97.png

脚本会自动识别该条目中的 JSON5、TOML 或 YAML 代码, 并将其解析为变量.

为了方便编写和维护, 我个人强烈推荐使用 YAML 格式.

构建变量结构#

让我们以一个包含多角色的复杂角色卡为例. 一个清晰的变量结构不仅能帮助 AI 更好地理解设定, 也能让你自己在后续的修改中一目了然. 因此, 我们不妨先从分类开始:

角色:
世界:

在 YAML 中, 英文冒号 (:) 用于建立归属关系, 而缩进则用来表示层级. 你可以将上面的代码理解为: 我们创建了名为 "角色" 和 "世界" 的两个顶层 "文件夹".

提示

如果实在不想手动写 YAML

填充变量内容#

当然, 空的文件夹没有意义, 我们需要向其中填充内容.

角色:
  络络:
    好感度: 30
世界:

这里有几个关键点需要注意:

层级关系

我们通过缩进来表示层级. 络络: 前面有两个空格, 意味着它被包含在 角色: 这个层级之下; 好感度: 前面有四个空格, 意味着它属于 络络:.

缩进规范

YAML 对格式要求严格, 请务必使用偶数个空格 (通常是2个) 进行缩进.

赋值

30 这样直接跟在冒号和空格后面的值, 就是 好感度 这个变量的具体数值.

依照这个逻辑, 我们可以轻松地构建出一个内容丰富的变量结构:

角色:
  络络:
    好感度: 30
    心情: 开心
  青空莉:
    好感度: 60
    心情: 郁闷
世界:
  日期: 2025-07-26
  时间: 21:00

变量可以是数组#

一个变量可以拥有多个值, 这样的变量称为数组:

法一: 中括号包裹并用英文逗号区分#
角色:
  络络:
    心情: [60, 开心]
法二: 换行缩进用 - 开头#
角色:
  络络:
    心情:
      - 60
      - 开心

结构是可选的#

当然, 前面所给的只是一种推荐的结构. 如果你觉得更直观, 也可以选择 "平铺式" 的结构, 完全不使用层级:

络络的好感度: 30
络络的心情: 开心
青空莉的好感度: 60
青空莉的心情: 郁闷
日期: 2025-07-26
时间: 21:00

选择哪种结构取决于你的个人偏好, 核心原则是保持清晰易懂. 但无论如何请注意, 变量的路径不是为了让你看起来清楚, 而是让AI容易理解.
因此, 我极度推荐你使用结构清晰、分类正确的变量结构.

禁用条目并验证#

当你在带有 [initvar] 的世界书条目中编辑好你的 YAML 代码后, 请务必注意以下几点:

保持该条目处于【禁用】状态

这一点至关重要! 这个条目的内容是专为 MVU 脚本读取并设置初始变量而设计的, 它不应该作为文本发送给AI.

重开聊天以应用变量

你需要 API 配置 (左上角插头) 里选为 聊天补全, 开启一个有第一条消息的新聊天来让设置生效.

检查变量是否生效

你可以点击输入栏左侧的 魔棒 图标, 在 变量管理器 ‣ 聊天 选项卡中,查看所有变量是否已按你的设定正确加载. 如果你认为你写的没错, 但是管理器中什么都没有, 请重复第二步.

提示

至于如何根据不同的开局设定不同的初始变量, 我们将在后续的教程中进行讲解.