Skip to content

ST 世界书编辑器

概述

ST 世界书编辑器是专为 SillyTavern 格式世界书(Worldbook)设计的高效编辑工具。世界书是角色扮演和 AI 对话中的一种"动态知识库"——你可以把关键设定、角色信息、事件线索写进条目里,当对话命中关键词时自动触发,让 AI 的回复始终保持在设定轨道上。

本工具本质上是 LLM Chat 中「世界书完整管理面板」(WorldbookFullManager)的独立窗口入口,专为需要同时编辑世界书和执行对话的场景设计。

核心功能

  • 完整的条目管理:支持新建、编辑、删除、排序世界书条目,每个条目可包含丰富的字段(名称、内容、关键词、优先级等)
  • 关键词触发配置:为条目设定触发关键词(可多关键词、正则表达式),精准控制何时激活哪条设定
  • 跨窗口状态同步:独立窗口编辑时,LLM Chat 主界面中的世界书状态实时同步,无需手动刷新
  • 多世界书切换:支持创建和管理多个世界书文件,在不同的对话场景间快速切换
  • 可分离窗口模式:将世界书编辑拖拽为独立窗口,与 LLM Chat 并行使用,边聊边调

TODO: 截图 - 世界书编辑器整体界面,标注条目列表区域、编辑面板和工具栏

快速上手

第一步:打开编辑器

有两种方式进入 ST 世界书编辑器:

方式一:通过工具列表

在左侧工具列表中找到 ST 世界书编辑器(图标为 📖 BookMarked),点击进入。你将看到一个全屏的世界书编辑界面。

方式二:从 LLM Chat 分离

在 LLM Chat 的对话框上方或设置面板中,找到世界书管理入口,点击右上角的 分离窗口 按钮(↗ 图标),世界书面板会立即弹出一个独立窗口。

💡 提示:方式二更适合边聊边编辑——主窗口聊天,独立窗口调世界书,互不干扰。

TODO: 截图 - 通过分离按钮从 LLM Chat 弹出世界书编辑窗口的动画/流程示意

第二步:创建你的第一个世界书

初次进入时,你可能看到的是空白状态。按以下步骤创建你的第一个世界书:

  1. 新建世界书:点击顶部的 「+ 创建世界书」 按钮,输入一个名称(如 魔幻世界设定
  2. 添加第一个条目:点击条目区域右上角的 「+ 添加条目」 按钮
  3. 填写条目内容
    • 名称:给条目起个名字(如 主角简介
    • 内容:写入要注入给 AI 的设定文本(如角色的姓名、性格、背景故事)
    • 关键词:设定触发关键词(如 {{主角}}{{角色名}}),当对话中出现这些词时自动激活该条目
    • 优先级:数值越高越优先被触发
  4. 保存:所有修改自动保存,无需手动点击保存按钮

TODO: 截图 - 新建世界书后,添加条目的界面示意,标注各字段

第三步:在对话中验证

  1. 回到 LLM Chat,开始一段新对话
  2. 在聊天气泡的设置中 启用 这个世界书
  3. 在对话中输入你设定的关键词(如 主角
  4. 观察 LLM 的回复——你应该能看到世界书条目中的设定被融入到了回复中

💡 提示:世界书的效果取决于关键词的触发率和条目的覆盖度。建议为每个角色、地点、关键物品都创建对应的条目,形成完整的设定网络。

功能详解

条目管理器

条目列表位于界面左侧(或主区域上半部分),以卡片形式展示所有条目:

元素说明
条目卡片显示条目名称、关键词摘要和优先级,点击展开详情
搜索/筛选支持按名称、关键词搜索,快速定位条目
拖拽排序直接拖拽卡片调整条目的顺序,顺序影响触发优先级
批量操作支持批量删除、批量启用/禁用条目

TODO: 截图 - 条目列表区域,标注搜索框、条目卡片和拖拽排序示意

条目编辑面板

点击条目卡片后,右侧(或下半部分)展开编辑面板,包含以下字段:

字段说明
名称条目名称,方便辨识
内容核心文本——对话命中关键词时,这块内容会被注入到 LLM 的上下文中
关键词触发条件,支持多个关键词,用逗号或换行分隔。也支持 {{ regex }} 格式的正则匹配
优先级数字越大,命中时越优先调整到靠近对话上下文的位置
选择性开启后,只有当前活跃角色或特定场景才会触发此条目
常量开启后,该条目始终注入,不受关键词触发限制
禁用临时关闭该条目,但保留配置

内容编写技巧

  • 用第二人称 来描述角色,AI 会将内容当作"关于你自己的信息"来吸收
  • 保持条目内容简洁聚焦,一个条目只描述一个概念
  • 关键词尽量覆盖所有可能的提及方式(全名、昵称、代词等)

TODO: 截图 - 条目编辑面板展开状态,标注各字段

多世界书管理

点击顶部工具栏的 世界书选择器,可以:

  • 切换世界书:在不同世界书之间快速切换
  • 新建世界书:为不同场景创建独立的世界书(如 日常对话DND 跑团写作助手
  • 导入世界书:支持导入标准 SillyTavern JSON 格式的世界书文件
  • 导出世界书:将当前世界书导出为 JSON,方便分享或备份

TODO: 截图 - 世界书选择器下拉菜单,显示多世界书列表

跨窗口同步

当你将世界书编辑器作为独立窗口打开时:

  1. 双向同步:在独立窗口中编辑条目 → LLM Chat 中的世界书状态自动更新
  2. 实时生效:编辑完成后,下一条 LLM 回复就会使用更新后的世界书内容
  3. 状态一致:窗口关闭后重新分离,所有编辑不会丢失

这背后的逻辑是:两个窗口共享同一份 worldbookStore(Pinia Store),任何修改都会通过 Tauri 的窗口通信机制自动同步。

高级用法

使用正则表达式匹配关键词

除了普通文本匹配,关键词字段支持正则表达式,用 {{ }} 包裹:

{{/剑[^ ]*刃?/}}
{{/力量|敏捷|体质/}}
{{/[A-Z][a-z]+ [A-Z][a-z]+/}}

适用场景

  • 同义词聚合:用 | 匹配多个表达方式
  • 通配匹配:匹配所有以某前缀开头的词
  • 格式匹配:匹配特定模式的文本(如英文人名)

常量条目与选择性条目组合

常量条目 适合放全局设定:

  • 世界观基调描述("这是一个蒸汽朋克风格的幻想世界")
  • 永远需要存在的角色关系("主角和妹妹住在城东的旧书店")

选择性条目 适合放条件设定:

  • 特定角色登场时才触发的记忆片段
  • 特定地点才生效的物理规则或气氛描述

组合使用:为不同类型的设定设置不同的优先级层级,构建一个有层次的世界书体系。

世界书导入与迁移

如果你在使用其他支持 ST 世界书的平台(如 SillyTavern 本体、SillyTavern 衍生前端),可以直接导入:

  1. 在原平台中导出世界书(通常为 JSON 格式)
  2. 在这个工具中点击 「导入世界书」
  3. 选择导出的 JSON 文件
  4. 系统会自动解析并创建对应的世界书及其条目

TODO: 截图 - 导入世界书的操作路径示意

调试触发效果

如果你不确定世界书的触发逻辑是否生效,可以:

  1. 在 LLM Chat 中发送一条包含关键词的消息
  2. 查看 LLM 的 原始响应(通常可通过聊天记录中的"显示原始数据"选项)
  3. 在注入的 system prompt 或 context 中搜索你的条目名称或内容来判断是否被成功触发

常见问题

Q:世界书和 LLM Chat 的"系统提示词"有什么区别?

世界书是 动态注入 的——只有命中关键词的条目才会被注入到上下文中。系统提示词则是 始终存在 的。世界书适合管理大量零散的设定知识点(几十上百条),系统提示词适合写全局性的行为准则(1-3 段话)。

Q:创建了很多条目之后,LLM 会不会超长?

不会。系统会按优先级和关键词匹配程度,在当前回复的上下文中只注入最相关的若干条条目。条目的优先级设置决定了哪些内容更值得被注入。

Q:世界书数据存在哪里?会不会丢失?

世界书数据保存在应用的本地存储中(基于 LLM Chat 的世界书 Store),随应用数据持久化。建议定期通过导出功能将重要世界书备份为 JSON 文件。

Q:为什么修改了世界书但对话中没有生效?

可能的原因:

  • 对话未启用世界书:每个对话需要单独启用世界书绑定,而不是启用全局世界书就行
  • 关键词未命中:确认你输入的关键词与条目的触发关键词完全匹配(或正则正确)
  • 优先级过低:如果条目被其他高优先级条目覆盖,可能需要调整优先级
  • 缓存问题:关闭当前对话重新打开,或使用 LLM Chat 中的"刷新世界书"按钮

Q:可以从空白的 SillyTavern 世界书开始用吗?

完全可以从零开始。这个工具内置了完整的新建世界书流程,不需要任何外部 SillyTavern 环境。生成的 JSON 格式与标准 SillyTavern 完全兼容,随时可以导出在其他 SillyTavern 前端中使用。

Released under the Apache-2.0 License.