术语表
Yumina 创作者常用的词,按英文字母顺序排列。
AI:卡里干某件活的一次模型调用。每张卡都有一个,叫 旁白。另外加的 AI 有四种:回合型、界面型、事件型、自定义。在画布上用 加东西 → 一次 AI 调用 来加。见 AI。
Audio Directive(音频指令):AI 在回复里用 [audio: trackId action] 语法写的特殊指令,用来控制音频播放。支持播放、停止、交叉淡入淡出、音量和链式操作。
Behavior(行为):一条分三段的自动化,什么时候触发、如果……、效果。由引擎执行,不经过 AI。在画布卡底下的「还可以加」里点 + 行为 来加;面板 → 行为 在一页里列出所有行为。见 行为。
Bundle(资源包):把卡里选中的内容(设定、变量、行为、音轨,也可以带上界面代码)打成一个包,用 ⋮ → 导出资源包 存进你的资源包库。别人可以从 面板 → 资源市场 或下载下来的文件把它装进自己的卡。
Conditional BGM(条件 BGM):按变量状态、关键词或回合数自动切换背景音乐的机制。比如进入战斗区域时自动换成战斗音乐。在 面板 → 音频 的 BGM 播放配置 里设。
Context:卡和每个情境最底下的那一块,列出这里的 AI 每回合读到什么,还能设对话历史、置顶提醒和上下文预算。
Cooldown(冷却):行为触发后要等几个回合才能再次触发。防止同一条行为触发得太频繁。
Custom Component(自定义组件)(旧版概念):v18 之前的模型把一个个独立的 UI 面板存在 customUI[] 里;surface: "app" 接管全屏,surface: "message" 替换消息气泡。新世界改用 根组件:侧边栏、全屏 UI、自定义气泡都写在 index.tsx 和它旁边的文件里。
Depth Injection(深度注入):把设定内容插到聊天历史里某个特定位置的做法。深度(距末尾消息数) 这一项表示从末尾往前数第几条消息处插入,让 AI 更自然地「意识到」这段信息。
Directive(指令):AI 改游戏状态的方式,在回复里写 [变量名: 操作 值]。引擎自动解析并执行,玩家只看到干净的叙事文字。打开了 精准追踪 的变量由追踪小助手来改,AI 写给它们的指令会被忽略。
Effect(效果):行为的第三段:触发时引擎要做的事。包括修改变量,启用或禁用某个变量、情境、设定或行为,告诉 AI 一句话,播放或停止音频,显示通知,解锁一个时刻。
Entry(设定 / 词条):世界里的一段内容。角色简介、场景描述、文风要求、示例对话、世界观设定,都是一条条设定。每条都有一个 role 标签,告诉引擎这是哪类内容。在画布上,设定按什么时候发给 AI 分成四块,一条一行。
Full-Screen Component(全屏组件)(旧版概念):v18 之前的模型里,surface: "app" 组件会接管整个屏幕。新模型里,直接在根组件(index.tsx)里写全屏布局:不放 <Chat />,把 <MessageInput /> 放在你想让输入框出现的地方。
Language Variant(语言变体):同一张卡的另一个语言版本。在 面板 → 语言与变体(卡的设置 最上面也有)里把它们关联起来,玩家看到的就是自己语言的那一版。
Lorebook(设定集):一张卡的全部设定。关键词设定只在聊天里出现对应关键词时才发给 AI,省 token。面板 → 设定 在一页里列出所有设定。设定集是整个容器,里面的一条条叫 设定(条目)。
Macro(宏):设定文字里的 {{name}} 占位符,发给 AI 之前会自动换成真实内容(比如变量值或系统信息)。例如 {{char}}、{{user}}、{{turnCount}}。
Message Renderer(消息渲染器)(旧版概念):v18 之前的世界用 customUI[] + surface: "message" 组件替换默认气泡。新世界在根组件里用 <Chat renderBubble={...} /> 做同样的事。导入旧资源包时,引擎会自动把 messageRenderer 字段迁移进根组件,编辑器会显示一个 旧版 标记。
Moment(时刻):一张带标题、一句话和一张图的小卡片,由 解锁一个时刻 这个效果发给玩家。收进列表变量的时刻不会重复弹出。
Player interface(玩家界面):玩家玩的时候看到的画面。可以在 玩家界面 编辑器里用模板和部件搭,也可以在 面板 → 前端代码 里手写界面代码。见 玩家界面。
Playlist(播放列表):BGM 播放列表配置,把几首背景音乐串起来,控制循环、随机还是顺序播放,以及是否自动播放、每首之间隔多久。
Post-History(后历史):提示词四段之一,在所有聊天消息之后、AI 开始生成之前。在设定的 注入到 里显示为 放在最后。适合放「最后叮嘱」,因为 AI 对刚读到的东西最上心。
Precise tracking(精准追踪):每个变量单独的开关。打开后,写故事的 AI 不再改这个变量,而是每次回复后由一个单独的小助手决定它该不该变、变多少。新建的数值和开关变量默认是开着的。见 变量。
Priority(优先级):行为或条件 BGM 上的一个数字权重。几条同时触发时,数字大的先判断、先执行。
Recursive Triggering(递归触发):设定 A 被触发后,它的内容会被当成「新文字」再扫一遍,看能不能触发设定 B,一条接一条地连着激活。深度在 Context 设置的 高级 里的 级联触发深度(0–10)设。
Renderer(渲染器):用 TSX 代码完全接管消息或界面怎么显示的机制。在现在的模型里它写在 根组件 里,另见 <Chat />。
Reply processing(回复处理):卡的设置 里的一组规则,抓住 AI 回复里带标签的一段(比如 <status>…</status>),把里面的内容写进变量、一个剧情事件或界面频道,还可以对玩家藏起来。见 回复处理。
Root Component(根组件):世界 UI 的入口。一个由 TSX 文件组成的虚拟文件系统,默认导出 MyWorld()。默认的根组件就是 return <Chat />(标准聊天);想自定义,可以给 <Chat /> 传 renderBubble,把 <Chat /> 和侧边栏、浮层组合起来,或者用 <MessageList /> 和 <MessageInput /> 搭一个完全自定义的布局。在 面板 → 前端代码 里,入口文件是 index.tsx。
<Chat />:平台提供的聊天积木,放进根组件就能用。消息列表、输入框、流式输出、滚动、编辑、swipe、存档点都由它处理。接受 renderBubble(自定义单个气泡)、className 和 children(盖在聊天上面的浮层)。<ChatCanvas /> 是旧的别名,还能用,但新代码请用 <Chat />。
Rule(规则):World Spec 和旧卡的数据里对行为的叫法(rules 数组)。引擎两种都能跑。见 Behavior。
Scenario(情境):卡里的一部分,有自己的设定、变量、行为、AI 和记忆,只在某些时候生效(一个副本、一章、一条支线)。用 加东西 → 一个情境 来加。见 情境。
Secondary Keywords(辅助关键词):主关键词匹配之后再做一层过滤的关键词列表。支持四种组合逻辑:AND_ANY、AND_ALL、NOT_ANY、NOT_ALL。
Session(会话):一局游戏对话。每个会话各自保存自己的聊天记录和游戏状态。
SFX(音效):很短、只放一次的声音,比如开门、爆炸、捡到东西的提示音。可以由 AI 的音频指令、智能追踪或行为来触发。
Smart tracking(智能追踪):卡的设置 里一个整卡的开关,默认开着。每次回复后,一个小助手会更新打开了精准追踪的变量,播放「什么时候放」和剧情对得上的音轨,并放出条件成立的场景图。
Structured Output(结构化输出):一个世界设置(settings.structuredOutput),通过 response_format: { type: "json_object" } 强制 AI 用 JSON 格式回复。给需要严格解析输出、机制很重的世界用。编辑器里没有它的开关。
System Preset(系统预设):提示词四段之一,在最上面。在设定的 注入到 里显示为 每次都给 AI。AI 最先看到它。最适合放核心角色描述、世界设定和文风这类需要一直生效的内容。
Temperature(温度):控制 AI 回复随机程度的核心参数。范围 0–2:低一点输出更稳、更好预测;高一点更有创意,但可能跑题。
Trigger(触发):行为的第一段(什么时候触发),决定引擎什么时候检查要不要动手。比如「每回合」「每 N 回合」「每隔几秒」「出现某个关键词时」「某个变量越过阈值时」「玩家按下某个按钮时」。
Turn(回合):一次完整的来回:玩家发一条消息,AI 生成一条回复。
Variable(变量):存游戏状态数据的有名字的容器。有四种,画布上叫数值、文字、开关、列表/表格(数据里是 number、string、boolean、json)。指令和行为读写的就是它。
World(世界):Yumina 里一个完整、自成一体的互动体验,也就是一张卡。最顶层的容器,把角色、故事、行为、界面、音频和其它所有东西打包在一起。
