条目与分区
条目是 AI 在生成每次回复时读取的独立内容块。每个条目指定了它包含什么内容、AI 何时看到它、以及它被放置在提示词中的哪个位置。
条目 Schema
json
{
"id": "unique-kebab-case-id",
"name": "Display Name",
"content": "The text content the AI reads...",
"role": "character",
"apiRole": "system",
"section": "system-presets",
"position": 0,
"enabled": true,
"keywords": [],
"conditions": [],
"conditionLogic": "all",
"depth": null,
"matchWholeWords": false,
"secondaryKeywords": [],
"secondaryKeywordLogic": "AND_ANY",
"preventRecursion": false,
"excludeRecursion": false,
"tags": [],
"folderId": null
}分区
条目被分为四个投递区域:
system-presets — 始终发送
每次 AI 调用都会包含。用于存放必要的世界内容。
alwaysSend:true(自动)- 按
position升序排列 - 放置在 AI 上下文的顶部
examples — 对话示例
解析为用户/助手消息对,带有 [Example Chat] 标记。向 AI 展示角色应该如何说话。
alwaysSend:true(自动)- 内容格式:示例之间使用
<START>分隔符,各行与角色名交替排列
chat-history — 关键词触发,深度注入
仅当关键词匹配到近期消息时才包含。在对话历史中的特定深度位置注入。
alwaysSend:false(自动)depth:从末尾算起的消息数,该条目在此位置插入(0 = 紧接最新消息之前)keywords:触发词数组(任何匹配即激活)
post-history — 最终强调
放置在所有聊天消息之后——AI 生成前的最后一段内容。获得最多的注意力。
alwaysSend:true(自动)- 常见用途:输出格式指令、风格强制、CoT 绕过
条目角色
| 角色 | 用途 |
|---|---|
system | 叙述者指令、游戏规则、世界机制 |
character | 角色描述和性格 |
personality | 角色性格特征(与描述分开) |
scenario | 场景设定、情境、场景上下文 |
lore | 世界历史、阵营、背景知识 |
plot | 故事推进、任务线索、事件 |
style | 写作风格、语气、排版 |
example | 对话示例(与 examples 分区搭配使用) |
greeting | 会话开始时的第一条消息(特殊处理) |
custom | 不属于以上任何类别的内容 |
API 角色
apiRole 字段控制条目以什么 LLM 消息角色发送:
| apiRole | 发送为 | 使用场景 |
|---|---|---|
system(默认) | 系统消息 | 大多数条目 |
user | 用户消息 | CoT 绕过提示、伪造用户上下文 |
assistant | 助手消息 | 示例回复、语气设定 |
关键词匹配
用于 chat-history 条目:
主关键词
字符串数组。任何匹配即触发该条目。
json
"keywords": ["tavern", "inn", "bar", "drink"]次关键词
带逻辑运算符的附加过滤器:
| 逻辑 | 含义 |
|---|---|
AND_ANY | 主关键词匹配 且 至少一个次关键词匹配 |
AND_ALL | 主关键词匹配 且 所有次关键词都匹配 |
NOT_ANY | 主关键词匹配 且 没有任何次关键词匹配 |
NOT_ALL | 主关键词匹配 且 并非所有次关键词都匹配 |
递归控制
preventRecursion: true— 该条目的内容不会触发其他条目excludeRecursion: true— 该条目不能被其他条目的内容触发(只能被玩家/AI 消息触发)
条件
条目可以设置基于状态的条件,只有条件为真时才会被包含:
json
"conditions": [
{
"variableId": "story-phase",
"operator": "eq",
"value": "act2"
}
],
"conditionLogic": "all"运算符:eq、neq、gt、lt、gte、lte、contains
官方预设
Yumina 包含 5 个可选的内置预设,创作者可以启用:
| 预设 | 分区 | 位置 | 用途 |
|---|---|---|---|
| Fiction Mode | system-presets | 0 | 自然地与所有内容互动 |
| Task | system-presets | 1 | 「你是叙述者」指令 |
| Instructions | system-presets | 2 | 展示而非讲述、场景中段结束 |
| Style | system-presets | 3 | 角色拥有独立的声音 |
| CoT Bypass | post-history | 0 | 后置历史越狱(user 角色) |
提示词组装顺序
引擎收集条目并按以下顺序组装:
- System Presets 条目(按 position 升序排列)
- 活跃人设块(玩家姓名、外貌、背景故事)
- 静态格式块(行为规则、指令语法、音轨列表)
- Example 条目(解析为对话对)
- — 缓存断点 —
- 已触发的 system-block 条目(关键词匹配)
[Start a new Chat]标记- 故事压缩摘要(压缩的旧消息)
- 会话记忆块
- 聊天历史与深度注入的条目
- 待处理上下文效果(来自上一轮规则)
- 动态格式块(当前变量值)
- Post-history 条目(按 position 排列)
越靠近底部的内容获得越多的 AI 注意力。
