# 世界书

> 可复用的设定集，角色会在相关时把它带进对话。

Source: https://reverie.im/zh/docs/writing/world-books
Language: zh

世界书是一份可复用的**设定词条**集合，记录一个世界的地点、势力、NPC、物品、历史与规则。把一本世界书关联到角色、故事或小说上，AI 就会在生成时参考这些设定，你不必每次都重新解释这个世界。

记忆讲的是*你*和一段关系。世界书讲的是*这个世界*，同一本书可以同时为许多角色供能。

> 这里没有关键词列表、插入深度、优先级或递归设置需要配置。你只管写词条、把少数几条标
> 为核心设定，由 Reverie 决定哪些内容进入模型。直接点名某条词条确实会把它拉进来——那
> 是检索层级之一，不是需要你自己接线的东西。

## 词条如何进入模型 \[#how-entries-reach-the-model]

每条词条都属于两种类型之一。

| 词条类型      | 何时进入上下文                                |
| --------- | -------------------------------------- |
| **核心设定**  | 每一轮都在，作为既定事实——世界的框架：你身处何时何地、它的核心规则与基调。 |
| **相关时出现** | 只在当下用得上时进入，按语义与最近的对话匹配。                |

### 核心设定 \[#core-canon]

核心设定按书逐本打包，同一本书内按词条在列表中的顺序排列，直到核心设定预算用完。放不下的部分**不会被注入**——预览会把它们列在**核心设定超出预算**下面。即使第一条词条本身就撑爆了预算，它也一定会被保留。

这让**词条顺序对核心设定至关重要**：把词条往上拖，或用它那一行菜单里的**移到最前**／**移到最后**，来决定在较小的模型上哪些内容能留下来。编辑器里的计量条会显示*核心设定：每轮固定占用 N tokens*，当这一组变重时会提醒你。

### 相关时出现 \[#when-relevant]

这类词条是大多数世界书的主体，它们有三条路径抵达模型：

* **整本书一起带上。** 如果一本书里「相关时出现」的词条能装进核心设定用剩的额度，那么它们全部都会被包含，按列表顺序，不做任何匹配。它们会进入提示词中被缓存的那部分，所以这是最省钱的情形。预览会明确告诉你。
* **被直接点名。** 如果一条词条的标题或它的某个别名逐字出现在你最新的消息、或角色最近两条回复里，那么无论它本来会排到第几位，它都会浮出来。拉丁字母的键按整词匹配，中日韩文字按子串匹配。
* **按语义匹配。** 其余情况下，Reverie 会把最近的对话做成向量，取出最接近的词条。这一步是跨语言的：用一种语言写的设定，也会在另一种语言的对话里浮出来。

当一本书大到装不下时，匹配度高的词条会被完整注入，其余的变成一份**世界索引**——每条一行，标题加一句话的梗概，至少让模型知道有这么个主题存在。在[支持工具调用的模型](https://reverie.im/zh/docs/reference/models)上，它接着可以按需取出任一被索引词条的全文；在不支持工具调用的模型上，它只知道这个主题存在。

| 预算           | 数值                           |
| ------------ | ---------------------------- |
| 核心设定         | 模型输入窗口的 10%，上限 4,000 tokens  |
| 大部头世界书每轮的设定量 | 2,000 tokens 与核心设定用剩的额度，取较小者 |
| 完整注入的词条      | 最多 5 条，每条裁剪到 800 tokens      |
| 世界索引         | 最多 12 个主题，外加从注入词条链接出去的最多 6 个 |
| 逐字命中         | 最多 8 条，其中来自角色回复的最多 4 条       |
| 参与匹配的对话      | 最近 6 条消息                     |

### 启用与停用 \[#active-and-off]

每条词条还有一个**启用**／**已停用**开关，与核心设定无关。把一条词条停用就是把它搁置：它仍留在书里、仍然可以编辑，但不会通过任何路径抵达 AI——不走核心设定，不走匹配，不进索引，也不能被按需取用。重新打开它就立刻回来。

这是唯一一个会让一本书悄悄失效的设置，所以当你期待的设定没出现时，先查它。多选词条后用**停用**／**启用**批量搁置或恢复，用**已停用**筛选器查看当前被搁置的内容。

> 新建或编辑一条词条后，要经过一小段索引才能被语义匹配；在此之前该行会显示**正在建立
> 智能检索索引…**。在一本书基本索引完成之前，某一轮如果找不到匹配，就退回到逐字命中
> 加单纯的列表顺序——所以刚导入的书在索引跟上之前靠的是顺序，不是语义。

## 锁定的词条 \[#locked-entries]

有些设定只该让赢得它的玩家知道。在词条编辑器里，**随羁绊揭晓**会把一条词条压着不放，直到玩家与角色的[羁绊](https://reverie.im/zh/docs/chatting/bonds)到达你选的阶段，从**初见**到**羁绊**。新词条默认是**所有人（不锁定）**，锁定的行会显示一个带阶段名的锁形徽标。

锁定的词条只会在玩家本人与你自己的某个开启了羁绊的角色的网页聊天里打开，而且要等这位玩家与这个角色的羁绊到达那个阶段。其他创作者也可以把你的书关联到他们的角色上，但与他们的角色之间的羁绊永远打不开你锁定的词条。在那之前，角色通过任何路径都拿不到它——不走核心设定，不走匹配，不进索引，也不能被按需取用。你自己也一样：在你自己的聊天里，你锁定的词条同样按你自己的羁绊进度打开，所以请用**预览视角**来检查。在群聊中，一本书按玩家与在场、且带着这本书的你的角色之间最深的那段羁绊来打开。

词条打开后，会带着“私下吐露”的标记交给模型：这是角色对大多数人都守口如瓶、如今愿意托付给这位玩家的事。角色会在时机合适时一点一点地说出来，而不是当作人尽皆知的常识背出来。

| 场景                                                                                                                                                                                                                                                                               | 锁定的词条        |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| 玩家本人与你的某个开启了羁绊的角色的网页聊天——回复与重新生成、[对比两条回复](https://reverie.im/zh/docs/chatting/dual-comparison)中的回复、生成的开场消息、按需取用、[AI 生成面板](https://reverie.im/zh/docs/plugins/using-plugins#ai-generated-panels)、**开启带记忆的新会话**的开场，以及[主动消息](https://reverie.im/zh/docs/chatting/proactive-messages) | 按这位玩家的羁绊阶段打开 |
| 与关闭了羁绊的角色的聊天                                                                                                                                                                                                                                                                     | 保持隐藏         |
| 使用你这本书的其他创作者的角色                                                                                                                                                                                                                                                                  | 保持隐藏         |
| 进行中的[悬赏](https://reverie.im/zh/docs/creators/bounties)挑战                                                                                                                                                                                                                         | 保持隐藏         |
| 故事和小说                                                                                                                                                                                                                                                                            | 保持隐藏         |
| Discord 和 Telegram 机器人                                                                                                                                                                                                                                                           | 保持隐藏         |
| [开放 API](https://reverie.im/zh/docs/integrations/open-api)                                                                                                                                                                                                                       | 保持隐藏         |
| 角色编辑器里的[试聊](https://reverie.im/zh/docs/characters/test-drive)                                                                                                                                                                                                                    | 保持隐藏         |
| 插件的**调试**                                                                                                                                                                                                                                                                        | 保持隐藏         |

多选词条后用「**随羁绊揭晓…**」把一批词条锁到某个阶段，或用**取消锁定**解除，用**已锁定**筛选器查看所有锁定的词条。玩家重置羁绊后，原先由这段羁绊打开的词条会重新锁上，直到新的羁绊再次到达它们的阶段。

分享出去的聊天从不带有角色取用过的词条原文，只带有角色在回复里说出的话，所以分享或导入一段对话不会把你锁定的设定公开出去。

## 关联一本世界书 \[#attaching-a-book]

世界书关联到拥有这个世界的那个东西，而不是某一段聊天。

* **角色**——角色编辑器 → **高级设置** → **关联世界书**。与该角色的每一段聊天都会继承这本书。
* **故事**——故事编辑器 → **角色**标签页，在演员表下方。
* **小说**——创建向导的**故事设定**这一步，或之后在**小说设置**里。

生成时，故事或小说自己的书会与它的演员带来的书合并。同一本书被关联两次——一次给故事，一次给其中的角色——只会注入一次。在群聊里，每条词条都会标注它来自哪个角色的书，这样一个角色的核心设定不会被读成另一个角色的。

你可以关联自己的书，以及任何非私密的书：**浏览世界书库**列出公开的书，不公开的书只要你有链接就能关联。只有作者本人能编辑一本书的词条。

如果一本书有锁定的词条，挂载面板会说明它们在这里的去向：挂在开启了羁绊的角色上时，会随羁绊加深而打开；挂在关闭了羁绊的角色、故事或小说上时，则保持隐藏。

## 写一本世界书 \[#writing-a-book]

一条词条有**词条标题**（一个简短的名词短语，不是一句话）、它的**设定内容**、可选的**别名**、核心设定开关和启用开关。每条词条只讲一个主题——编辑器会标出过长的词条，因为一条包罗万象的词条比几条各自紧凑的检索得更不准。

更快的写法：

* **AI 生成**——描述一个世界，拿回一本起好草稿的书，词条一应俱全，其中几条已标为核心设定。
* **AI 拆分为词条**——把你的设定笔记粘进去，让它拆成一条条自成一体的词条。
* **导入**——SillyTavern 的 world info 导出文件、lorebook JSON 文件，或角色卡 PNG。激活关键词会变成别名，而不是触发器。
* **预览**——输入一条示例消息，看清楚哪些词条会被包含、哪些只会进索引、哪些核心设定超了预算。它跑的是和实时聊天一模一样的选取逻辑。 当书里有锁定的词条时，可以用**预览视角**选择以谁的视角来跑：**整本世界书**、**尚未建立羁绊的玩家**，或某个羁绊阶段——超出该阶段的锁定词条不会计入。

编辑器还会告诉你设定实际落到了哪里：每一行都显示它在聊天里被用过多少次，**从未命中**筛选器和**最多人用**排序能翻出无人问津的设定，当「相关时出现」的词条一次都没浮出来时，书里也会提醒你——这通常说明标题太笼统，或者内容太单薄。

## 分享、复制与导出 \[#sharing-copying-and-export]

一本书默认是**私密**的。**不公开**表示凭链接分享；**公开**会把它列进社区书库，需要至少 **10 条词条**。每一本非私密的书都会被自动翻译以便在其他语言下展示，但检索始终跑在你的原文上。

在任何你能看到的书上，**复制到我的世界书**会生成一份你自己可编辑的副本，**导出**会把它下载为 SillyTavern 兼容的 lorebook。

锁定的词条只属于你。其他人看到的书里都没有它们——无论是书的页面、公开书库页面、词条搜索，还是他们通过**复制到我的世界书**和**导出**拿到的内容——页面只会告诉他们，还有多少条设定会在与使用这本世界书的角色建立羁绊后揭晓。复制你自己的书时，锁定的词条连同锁一起保留。导出你自己的书时也会包含它们，但 lorebook 文件里没有存放锁的位置，所以它们会以普通词条的形式导出。

| 限制        | 数值                       |
| --------- | ------------------------ |
| 书名／描述     | 120／2,000 字符             |
| 标签        | 20 个，每个 ≤50 字符           |
| 每本书的词条数   | 2,000                    |
| 词条标题／设定内容 | 2–100／20–20,000 字符       |
| 每条词条的别名   | 50 个，每个 ≤120 字符          |
| 公开所需的词条数  | 10                       |
| 单次导入      | 500 条词条                  |
| 拆分文本的输入   | 40,000 字符                |
| AI 生成     | 提示 ≤4,000 字符，产出 4–16 条词条 |
| 预览消息      | 2,000 字符                 |
| 批量操作      | 一次 500 条词条               |
| 每人的世界书数量  | 不限                       |

## 世界自动演进 \[#living-world]

打开**世界自动演进**（世界书编辑器 → **设置**），AI 就能在你游玩的过程中往这本书里写东西：它在角色扮演中确立下来的持久变化会变成一条真实的词条。

| 规则   | 内容                                       |
| ---- | ---------------------------------------- |
| 可用于  | 你自己拥有的**私密**书——把书设为不公开或公开就会关掉它           |
| 写入来自 | 你自己的聊天，且用的是支持工具调用的模型                     |
| 新设定  | 一条新的**相关时出现**词条；AI 从不把任何内容标为核心设定         |
| 已有设定 | 追加在原文之后，绝不改写或删除                          |
| 额度   | 每本书每 24 小时 30 次写入                        |
| 长度   | 新词条 ≤4,000 字符，每次追加 ≤2,000，长大后的词条 ≤20,000 |
| 复核   | 每一次写入都列在 **AI 更新记录**下，带**撤销**            |

撤销按词条从新到旧生效，且只在写入之后文本未被改动的情况下可用。重新生成一条写过设定的回复，会把那部分设定一并回滚，所以被你否掉的回复不会在世界里留下痕迹。

因为写入只来自作者本人的聊天，**别人用你这本会演进的书游玩，永远不会改动它**——而且既然世界自动演进要求书是私密的，别人本来也没法关联它。

## 世界书、记忆还是场景 \[#world-book-memory-or-scenario]

|                                                         | 装的是什么                    | 作用范围         |
| ------------------------------------------------------- | ------------------------ | ------------ |
| **世界书**                                                 | 关于设定的设定——地点、势力、NPC、历史、规则 | 可跨角色、故事与小说复用 |
| **[记忆](https://reverie.im/zh/docs/chatting/memory)**    | 关于你、以及你和某一个角色之间关系的事实     | 按角色、按人设、按分支  |
| **[场景](https://reverie.im/zh/docs/chatting/scenarios)** | 某一段聊天的开场情境               | 单段聊天，开始时选定   |

剧情进展和关系事实属于记忆。一段聊天的起始设置属于场景。世界书装的是不管谁在聊、你们之间发生过什么都依然成立的东西。

## 小提示 \[#tips]

* **核心设定保持在少数几条。** 核心设定每一轮都在花上下文，放不下的部分会被直接丢掉。
* **照着别人会怎么问来写词条。** 匹配走的是语义，所以一条读起来像清晰答案的词条，比一串干巴巴的名字更容易浮出来。
* **给短小的、像名字的主题加别名。** 专有名词、物品名和代号正是语义匹配最弱的地方，逐字命中刚好补上这个缺口。常用词就别加了。
* **依赖一本书之前先跑一遍预览**，用你真的会发出去的那种消息。

## 相关 \[#related]

* [写一个故事](https://reverie.im/zh/docs/writing/writing-interactive-stories) —— 把世界书关联到故事的演员表上
* [小说模式](https://reverie.im/zh/docs/writing/novel-mode) —— 小说上的世界书
* [记忆是怎么工作的](https://reverie.im/zh/docs/chatting/memory) 和 [场景](https://reverie.im/zh/docs/chatting/scenarios) —— 另外两层上下文
* [导入角色](https://reverie.im/zh/docs/characters/import-characters) —— 把角色卡里的 lorebook 带进来
* [为什么世界书不是 lorebook](https://reverie.im/zh/blog/world-books-not-a-lorebook) —— 设计笔记
