> ## Documentation Index
> Fetch the complete documentation index at: https://guide.moyostory.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 指令注册表

> 定义作者与 AI 可以写入每帧的指令、参数和取值约束。

指令把一帧内容拆成模板可以处理的参数。作者在内容示例和预设内容中使用指令，AI 生成节点也按同一套指令输出内容。

<img src="https://mintcdn.com/moyostory/2W8JKWEaiXD_6ckV/assets/editor/screenshots/directive-dialog.jpg?fit=max&auto=format&n=2W8JKWEaiXD_6ckV&q=85&s=d843094f25f0c1c99bc423c14835302e" alt="编辑“台词”指令的名称、说明、单行参数和跨行参数" width="2327" height="1090" data-path="assets/editor/screenshots/directive-dialog.jpg" />

## 一条指令怎样变成画面

```mermaid theme={null}
flowchart LR
  A[台词指令<br/>角色、背景、立绘、内容] --> B[解析指令规则]
  B --> C[写入 Frame 变量]
  C --> D[页面代码显示台词和图片]
```

指令只定义可以填写什么。模板还需要一条触发时机为“解析指令”的规则，把参数写入 Frame 变量。

## 指令字段

| 字段   | 用途                    |
| ---- | --------------------- |
| 指令名  | 内容中使用的名称；同一模板内保持唯一    |
| 说明   | 告诉作者和 AI 什么时候使用这条指令   |
| 单行参数 | 适合角色名、素材名、状态和短文本      |
| 取值约束 | 限制 AI 从指定列表选择参数值      |
| 跨行参数 | 适合台词、旁白和较长正文；一条指令至多一个 |
| 关联规则 | 只读列出当前规则组中解析该指令的触发器规则 |

## 单行参数与取值约束

添加单行参数后，输入一个取值并按回车，可以继续添加下一个值。AI 生成内容时会从约束列表中选择。

例如，“台词”指令可以这样约束：

| 参数名 | 取值约束            |
| --- | --------------- |
| 角色  | 旁白、沈砚           |
| 背景  | 美术馆夜景、旧库区       |
| 立绘  | 无、沈砚\_平静、沈砚\_认真 |

素材参数的取值应与变量媒体绑定中的条件值一致。`沈砚_认真` 与 `沈砚认真` 会被视为两个不同值。

## 跨行参数

跨行参数允许正文占用多行。指令存在跨行参数后，编辑器会用块状形式保存和展示这段内容。

例如，“台词”的单行参数保存角色、背景和立绘，跨行参数“内容”保存整段台词。触发器规则可以通过界面提供的参数引用，把“内容”写入 `frame.text`。

## 参数名称会被规则引用

打开一条“解析指令”规则后，触发条件区域会列出该指令的参数和引用方式。复制界面提供的引用，再填入“更新变量”动作。

修改参数名后，检查所有关联规则。旧引用不会表达新参数的值。

## 关联规则

指令编辑弹窗底部的“关联规则”列出当前规则组中解析这条指令的规则。点击可以打开对应规则。

出现“未配置关联规则”时，这条指令仍能写入内容，但参数不会进入 Frame 变量，页面代码通常无法显示它们。继续阅读[触发器规则与规则组](/editor/templates/trigger-rules)。

## 保存和影响范围

在指令弹窗中点击“确认”，只会把修改写入当前模板草稿。模板标签出现橙色圆点后，还需要点击顶部“保存作品”或选择“保存并关闭”。

重命名或删除指令不会自动修改已有内容和触发器规则。操作后检查：

* 模板内容示例和各页面节点的预设内容是否仍使用旧指令名；
* “解析指令”规则是否仍引用旧指令或旧参数名；
* 页面需要的 Frame 变量是否仍能被规则写入。

## 编写说明和约束

* 指令名使用作品中的稳定称呼，例如“台词”“选项”“音效”。
* 说明写使用时机和结果，例如“在当前帧追加一个可点击选项”。
* 会参与素材映射、分支判断或规则选择的参数应配置取值约束。
* 自由正文放入跨行参数，避免把长台词塞进单行字段。

<Tip>
  MoMo：改参数名后查看“关联规则”。每条旧引用都需要同步更新。
</Tip>
