Skip to Content

小白板

介绍

小白板这个组件就是给这张纸加上了地图、微信、根据世界观构建大纲并半自动推演剧情的“副导演”。 核心理念为:一切为剧情演化而设计的。

使用指南

1. 小白板挂载

想要使用小白板,可以在安装完小白X插件后,前往小白X插展菜单-数据互动-勾选小白板。

小白板将会在消息里的【X】按钮中,点击X按钮后,小白板以的图标出现,点击即可唤出小白板。

除了,小白板还会在SillyTavern主界面的左侧预设,新增一条预设条目【剧情地图】,该条目不支持被用户修改(会被覆盖),有需要可以前往小白板设置-数据-预设数据的中调整。


演示介面:

小白板界面演示

2. 设置与配置

小白板并不需要特别设置,第二步主要是为了快速了解有关于小白板(可以跳过不看,直接看步骤3),请打开小白板右上角的【设置】按钮,进入设置面板。

  1. 常规:
  • 常规是小白板的运行状态,初步接触时,可以无须考虑剧情控制,仅选择你需要的运行模式即可。
  1. 连接:
  • 此介面为小白板的连接设置,默认使用目前的酒馆API,但你也可以通过填入API端点和密码模型,让涉及小白板的API采用不同的API调用生成剧本。
  • 推荐设置如Grok,Glm等量大便宜的API。

注意:小白板的世界生成模式需要较大的输出,请确认你的渠道供应商支持3000Tokens以上的输出Output!这包括了主酒馆API和小白板的API。

  1. 数据:
  • NPC 生成设置 - 通讯页面-陌路人添加入通讯录时,会在世界书新增属于该NPC的条目,可以调整NPC的插入世界书的插入位置排序。
  • 预设数据 - 小白板的剧情数据跟着聊天记录,但可以通过点击设置-预设数据里的,对当前AI生成的剧情/地图/通讯录等等进行编辑修改;勾选该条目则会添加到酒馆预设-剧情地图。
  • 高级模板 - 你可以在里面调整小白板发给AI的提示词,例如使用更朴素的剧情,不要浮夸等等…并且可以选择是保存至通用还是角色卡里面(为了每张角色卡的提示词定制化)。

3. 生成世界!

介绍完一串小白板的设置后,点击小白板右上角的【生成】按钮,即可开始生成世界。

Tips:

  • 视乎你的提示词和角色卡,AI有可能会对某种世界类型有倾向性,导致趋同,所以最好写【玩家特殊需求】明确你需要AI写什么类型的世界,不要什么类型的世界。
  • 如果你选择辅助模式,只会调用一次API生成世界;结果选择故事模式,会调用两次API生成世界,第一次是生成剧情和真相层,第二次是根据剧情和真相层等生成完整世界。
  • 剧情,地图,真相等等,

至此,小白板的初步教程结束,现在是时候开始实际使用了。


小白板UI功能

世界资讯

地图定义了你“在哪里”,世界资讯就定义了“现在正在发生什么”。它通过模拟实时新闻和突发事件,让世界显得更加生动。

新闻功能介绍:

  • 这是剧情的“镜像” (Plot Reflection),如果用户在上一场戏中炸毁了某个工厂,新闻里可能会出现 “工业区发生不明原因火灾,交通封锁”。
  • 在故事模式下,新闻会随着 Stage(阶段)的提升变得越来越诡异。例如:
    • Stage 1: “市中心发现不明飞行物残骸,官方呼吁市民保持冷静。”
    • Stage 2: “目击者称飞行物发出诡异低频嗡鸣,多名市民出现幻听症状。”
    • Stage 3: “市长宣布进入紧急状态,全城进入宵禁,新闻画面开始出现雪花和乱码。”
  • 氛围补全:它会生成一些与主线无关、但能极大增强沉浸感的“生活碎片”。让 NPC 显得不是只为你服务的傀儡,他们也有自己的生活节奏。

地图介面:

  1. 左上玩家位置按钮:故事的“全景图”。它显示了城市、学校、荒岛等宏观地点及非显示地点,点击后可以选择前往该地点(如果未曾前往该地点,会触发一次API调用)

非显示地点:是没有出现在地图节点的场景,在生成世界时有机率添加;或者点击+ 局部地图,生成用户当前所在地区的地点。

选择了局部地点后点击【前往】: 小白板会在聊天框添加一段用户“走过去”的转场文字,并将用户的坐标切换到那里。

  1. 局部地图:点击这个按钮,AI 会生成用户当前地区的内部细节及添加成为非显示地点,并将用户的坐标切换到那里。

  2. 世界推演:一个故事,下一个阶段的按钮,也代表了时间的流逝和世界的变化。点击将前往故事的下一章(消耗API),新闻,大纲,还有地图的部分节点将会产生变化。

  3. 局部剧情:整点薯条按钮,AI 会根据当前的地点和氛围,强行插入一个突发事件(比如:突然有人闯入、天花板开始漏水、或者一个神秘人向你打招呼),除了插入开场白,也会在X剧情大纲引入明面上的剧情逻辑和背后的秘密或真实动机供玩家探索。

  4. 场景描述里的刷新:如果你认为当前场景应该有变化,例如家里发生了火灾,那就可以点击刷新按钮,调用刷新场景描述,从充满生活气息的描写,改为火灾蹂躏过焦黑的场景。

第一步:点大地图上的地点,点【前往】。

第二步:到了未提及的新地方,点【+ 局部地图】看清屋里有什么。

第三步:如果没话说了,点【局部剧情】让 AI 搞个突发事件。

第四步:剧情进行了一大段后,点【世界推演】看看你的行为改变了世界没。


微信通讯录

通讯录是用户故事里的社交中心,是故事里的“微信”与“角色管理器”。 共分为两个部分:

陌路人

陌路人 (Strangers) —— “擦肩而过的路人甲”

Q:它是怎么来的?

A:通过点击 “微信摇一摇” (提取陌路人) 按钮,小白板会调用AI查询用户最近的聊天记录,识别出剧情中出现过但还没正式加入通讯录的 NPC。

摇一摇后?: 【添加】:觉得这个路人有戏?点添加,小白板会调用AI,为他生成完整的人设并存入世界书 (Worldbook),他从此变成有名有姓的重要角色。 【忽略】:只是个卖报的小哥?点忽略,让他消失在列表里。

联络人

联络人 (Contacts) —— “你的社交圈子” Q:它是啥?

A:已经建立深厚联系(或你手动添加)的角色。默认包含你的主角色卡。(用户可以在设置里,修改你的联络人显示简介)

操作手册: 0. 添加指定联络人 点击角色卡的世界书-展开对应角色的世界书条目,找到UID填入世界书即可(备注,需要有Key Words主要关键词以供搜索) 添加联络人说明

  1. 私聊系统 (SMS Chat) 点击【短信】,会弹出一个独立的聊天窗口。你在这里跟 NPC 的对话会保存至世界书对应角色的条目中,并在剧情里带入短信内容。

如果是角色卡联络人,则需要前往小白板设置-预设数据 (Presets),勾选角色卡短信以让角色卡的短信记录加入预设条目中哦。

  1. 跨地图邀请 (Invite System) “出来见个面吧”:点击【邀请】,你可以选择地图上的一个地点。 AI 决策:AI 会判断该角色当前的处境、与你的好感度。
  • 如果他答应了,他会自动“移动”到那个地点并在那里等你(用户【前往】该地点后,小白板会在聊天框插入一段角色“走过去”的转场文字)。
  • 如果他拒绝了,他会发短信告诉你理由(比如:“我正忙着躲避特工,现在没法过去”)。
  1. 聊天记忆压缩清理
  • 点击【压缩】按钮,会调用AI,对当前聊天记录进行总结,并保存至世界书对应角色的条目中。
  • 点击【清理】按钮,会对当前聊天记录进行清理,并清理世界书对应角色的短信聊天记录。

小白板设置介绍

常规设置

常规设置决定了故事运作的基本逻辑和进度控制。

运行模式:

在小白板中,运行模式分为了辅助模式和故事模式,默认的运行模式为辅助模式,这包括:

辅助模式:相比于故事模式,辅助模式省略了剧情大纲、 真相层的生成,仅作为工具,帮你画图、记笔记,不干涉你的主线剧情。小品悠闲或者世界观已经相当丰富的,可以选择此模式。

故事模式:故事模式则会生成剧情大纲,真相层,世界新闻等,会有幕后真相、动态演化和阶段推进。所有功能都将会被运用,适合一些内容上没那么丰富的角色卡补充世界观使用。

剧情控制

这是进度控制,由插件自动管理,但用也可以手动控制参数。

当前阶段 (Stage):相当于故事的“章节”。0 是刚开始,随着你点“世界推演”,数值会增加。不同的 Stage 会触发不同的真相层。

偏离分数 (Deviation):这就是所谓的“蝴蝶效应”指标。如果你做出了极大改变世界的举动(比如杀了关键 NPC),AI 会在这里给你加分。分数越高,世界推演时发生的结局推演就越剧烈。

推演倒计时 (Sim Countdown):这是一个“提醒闹钟”。比如设为 5,意味着你每和 AI 聊 5 句,插件就会提醒你:“该进行世界推演,看看世界发生了什么新变化了!”


连接设置

API 设置 (URL / Key):

  • 默认情况下,小白板会直接用你在 SillyTavern 里配置好的模型。
  • 如果你想用一个更便宜的模型专门来跑地图和推 演,而主聊天用另一个模型,就可以在这里单独填写地址和密钥。(仅Openai兼容格式)

模型选择 (Model):

  • 点击 “获取列表”,插件会向你的 API 请求支持的模型列表。

测试连接 (Test):

  • 点一下,看看小白板能不能跟 AI 正常对话。

数据设置

这是控制AI 的记忆与模组配置的地方,编辑,调整小白板的各种数据都可以在这里寻找。以下内容仅供想要深度定制的玩家参考:

NPC 生成设置

插入位置:决定了你添加的 NPC 世界书条目放在角色卡世界书的哪个位置(是放在XX前面,还是后面)。

顺序:世界书里的顺序(Order) 小白板地图按钮说明

预设数据 (Presets)

  • 核心功能:这里列出了你所有的“世界家底”(大纲、新闻、地图、短信记录等)。

  • 勾选生效:如果勾选了“大地图”,那么你在聊天时,AI 就会知道大地图的数据“你在哪”、“那里环境如何”。如果取消勾选,AI 就会瞬间“失忆”,不再考虑地图设定。

  • 用户可以找到SillyTavern主界面的左侧预设-预设栏目【剧情地图】,找到小白板的输出数据。

高级模板 (Advanced Prompts)

在“小白板”的高级模板编辑中,提示词是通过 JavaScript 的 Template Literal 逻辑渲染的。所有的变量和函数都被注入到了执行上下文中。

一、 全局通用工具 (可在所有模板中使用)

这些是直接定义在渲染函数中的全局变量或辅助函数:

变量/函数名类型说明
worldInfo字符串核心变量。包含角色描述、世界书信息、用户名称以及角色人格设定。
history(n)函数获取最近的 n 条聊天记录。用法:${history(v.historyCount)}
wrap(tag, content)函数将内容包裹在 XML 标签中。用法:${wrap('my_tag', '内容')} -> <my_tag>内容</my_tag>
nameList(c, s)函数传入联络人和陌路人列表,返回一个格式化的“已存在角色”字符串,防止 AI 重复生成同名 NPC。
randomRange(min, max)函数返回一个范围内的随机整数。
JSON_TEMPLATES对象包含所有默认的 JSON 输出格式定义。例如 ${JSON_TEMPLATES.sms}
safeJson(fn)函数错误处理包装器,用于安全执行 JSON 相关操作。
v对象核心容器。包含当前场景下所有的具体业务数据(详见下表)。

二、 核心业务变量 (v 对象内部属性)

这些变量通常通过 ${v.属性名} 访问。

  1. 基础环境 (几乎所有模板共有)
  • v.storyOutline: 当前渲染好的“剧情大纲”全文本(包含真相、洋葱层级等)。
  • v.playerLocation: 玩家当前所处地点的名称。
  • v.stage: 当前剧情阶段 (0-10)。
  • v.deviationScore: 当前的偏离分数/干扰度 (0-100)。
  • v.mode: 运行模式 (storyassist)。
  • v.historyCount: 设置中定义的上下文楼层数。
  • v.currentAtmosphere: 当前世界的气氛对象。
  1. 短信相关 (sms / invite / summary)
  • v.contactName: 正在对话的 NPC 名字。
  • v.userName: 玩家的名字。
  • v.userMessage: 玩家刚刚发送的那条短信。
  • v.smsHistoryContent: 已经包裹好的 <已有短信> 历史文本。
  • v.characterContent: 该 NPC 在世界书中的详细背景设定。
  • v.existingSummaryContent: 已经存在的短信摘要(用于增量总结)。
  • v.conversationText: 需要进行总结的新对话片段。
  • v.targetLocation: (仅限邀请) 玩家邀请 NPC 前往的目的地名称。
  1. NPC 生成 (npc / stranger)
  • v.strangerName: 待生成的陌路人临时名字。
  • v.strangerInfo: 聊天记录中捕捉到的关于该路人的临时描述。
  • v.existingContacts: 当前联络人数组。
  • v.existingStrangers: 当前陌路人数组。
  1. 世界推演与生成 (worldGen / worldSim)
  • v.playerRequests: 玩家在生成窗口填写的“特殊需求”文本。
  • v.step1Data: (仅限 Step 2) 第一步生成的世界大纲数据。
  • v.currentWorldData: 推演前完整的旧世界 JSON 数据。
  1. 地图与场景切换 (sceneSwitch / localMap / localScene)
  • v.prevLocationName: 离开的地点名称。
  • v.prevLocationInfo: 离开地点的详细描述。
  • v.targetLocationName: 目标地点名称。
  • v.targetLocationInfo: 目标地点的初步简介。
  • v.targetLocationType: 地点类型 (main/sub/home)。
  • v.playerAction: 玩家前往该地点时填写的“意图/任务目标”。
  • v.outdoorDescription: 大地图的全局环境描写。
  • v.locationName: 当前刷新或生成剧情所在地的名字。
  • v.locationInfo: 当前地点的详细描述文本。
  • v.currentLocalMap: 刷新前的旧局部地图 JSON 数据。