Labs · 世界书迁移体检

你的世界书讲五种方言,
搬家前先看哪句会翻译走样

SillyTavern、Chub、RisuAI、Agnai、JanitorAI 读的都是「同一种」世界书 JSON——然后在概率、大小写、 整词、递归、副关键词上各执一词。把书拖进来,选个目标平台出一份搬家体检:什么会当场坏掉 (JanitorAI 的 1% 导入默认值、Risu 让禁用条目复活)、什么行为会悄悄变、什么被静默丢弃——每条发现 都标着「源码实证」还是「按官方文档」。再贴一段对话,看同一批关键词在各家真实匹配规则下命中还是失手。

免费浏览器本地运行不上传

世界书(任意平台)

把世界书 JSON 拖进来,或点击选择

点这里选择世界书 JSON 文件

自动识别:酒馆 World Info · Chub · RisuAI 导出 · Agnai 记忆书 · JanitorAI 条目 · V2/V3 书与角色卡
或粘贴 JSON

对话样本

载入一本世界书开始体检。

方言表:同一本世界书,五个平台各说各话

同一族 JSON,五套规则书。上面的体检就是照这张表开的方——每格尽量追到对应平台的开源实现,追不到的老实标注「按文档」。

行为SillyTavern¹Chub²RisuAI³Agnai⁴JanitorAI⁵
原生文件形态World Info 导出——按 uid 键控条目,key/keysecondary 数组WI 与 V2 字段逐条双写,外加 extensions.chub{ type: 'risu', ver, data }——键存成一条逗号连写字符串{ kind: 'memory' }——keywords / entry / priority / weight裸条目数组,粘进 JSON 编辑器
关键词匹配默认子串;可选整词(\W 边界,中文键友好);/斜杠/ 正则键通常在酒馆系前端里跑——看酒馆列转小写并删掉全部空格后做子串——「lamp tower」命中「lamptower」,「ice」在「police」里触发。整词模式按空格切词全等比较(标点挡门)恒整词(\b)+ * 和 ? 通配;正则标点会被从键里剥掉;纯中日韩键永远锚不住Advanced 脚本:ASCII 归一化整词 + 尾缀通配(welcom*);中日韩/重音字符匹配前就被删掉。简单表单有逐条开关
大小写敏感全局开关(默认关)+ 逐条覆盖逐条 case_sensitive——但蛇形字段酒馆引擎不读非正则路径恒不区分恒不区分(giu 旗标)逐条 Case Sensitive 开关(简单表单);脚本恒转小写
副关键词四种逻辑:AND_ANY / AND_ALL / NOT_ANY / NOT_ALL两套字段族都带只有正向 AND——排除要靠 @@exclude_keys 装饰;逻辑模式导入即丢被忽略——文件里带着,引擎从不评估有副关键词;AND/NOT 等价物在 Advanced 脚本里(andAll / notAny / notAll)
概率逐条 0–100 + useProbability;非 sticky 时每轮重掷带(probability + useProbability)只认 @@probability 装饰行——legacy 的 activationPercent 字段当前引擎不读没有——关键词命中就触发逐条 0–100,每条消息重掷,无跨轮状态;导入经常落在 1% 默认值
常驻条目constant 标记(蓝点)alwaysActive 标记带着但从不读——没有常驻没有直接的常驻位——用 personality/scenario 字段或 Advanced 常开条目
递归默认开;有层数上限,外加逐条排除/阻止/延迟到递归层书级 recursive_scanning 旗标默认开且没有层数上限;@@recursive 装饰家族没有没有——Advanced 脚本的 tag/trigger 链是另一套机制
扫描深度全局设置 + 逐条覆盖书级 scan_depth 字段全局设置 + @@scan_depth 装饰只有预设级 Memory DepthMessage Depth 设置(1 = 只扫你最后一条);脚本默认扫 5 条窗口
预算与排序token 预算按 order 裁剪;ignoreBudget 逃生口token_budget + order 与 priority 都写insertorder 一身兼两职(裁剪优先级+排序);@@priority / @@ignore_on_max_context 覆盖priority 决定预算内活谁;weight 决定排序(越高越靠底部)Priority 管预算存活,插入顺序管注意力(按文档)

¹ 酒馆列:本站触发引擎(对齐酒馆 1.18 checkWorldInfo 的移植)+ release 分支 world-info.js 的导入转换器。 ² Chub 列:真实 Chub 世界书导出的字段级对照(Chub 自家聊天端运行时未建模)。³ Risu 列:main 分支 lorebook.svelte.ts,2026-07 读取。⁴ Agnai 列:dev 分支 common/memory.ts,2026-07 读取。⁵ JanitorAI 列:官方帮助中心 + 公开的 Advanced Lorebook 脚本——脚本部分到源码级,简单表单到文档级。平台会漂移;表格反映读取当时的代码与文档。

搬家前怎么给世界书做体检?

把书拖进上面的体检台,选目标平台:这个方向的全部已知陷阱按严重度分组列出(会坏掉 / 行为会变 / 被静默丢弃),点名受影响的条目,每条带证据级标签——是对着目标平台源码核实的,还是按官方文档。 把标红的条目修掉或记下来,再去转格式。体检下面的分歧实验台回答另一个高频问题:「这个关键词在那边 到底还触发不触发?」——用各平台真实的匹配口径逐条跑给你看。

这个工具怎么来的

酒馆列复用本站的世界书触发引擎——从 Foreverse App 逐行移植、对齐 SillyTavern 1.18 checkWorldInfo、被 60+ 条单元测试锁定。方言层是对着各平台自己的实现读出来的:RisuAI 的 lorebook.svelte.ts(匹配、导入、导出壳)、Agnai 的 common/memory.ts(关键词编译器、预算与排序、「带着但不支持」的 V2 字段族)、酒馆 world-info.js 的导入转换器(Risu / Agnai / NovelAI / character book 四条路径)、真实 Chub 导出的双写格式、以及 JanitorAI 官方帮助中心和公开的 Advanced Lorebook 脚本。2026-07 读取。

全部解析器、匹配器移植和迁移规则被一套 137 条断言的金标自测锁定——包括几百条规模的真实 Chub 导出书——页面上每条发现都带证据级:源码实证、按官方文档、或按格式对照。核实不了的(JanitorAI 简单表单的匹配默认值、Chub 编辑器对计时字段的保留),工具直说,不猜。

它做不到什么

这里诊断的是激活层和迁移陷阱——不做格式转换,也不模拟目标平台的 token 预算裁剪与注入排序。跨轮状态(sticky、cooldown、Risu 的 keep-activate 装饰)按无状态模拟。

平台代码会漂移。Risu 和 Agnai 列钉在 2026-07 读取的开源实现上;JanitorAI 的简单世界书表单是闭源的,那一列靠官方文档和公开的 Advanced 脚本,并如实标注。Chub 自家聊天端运行时未建模——Chub 的书按存储方言体检。

常见问题

世界书导进 JanitorAI 之后为什么不触发了?

十有八九是那个看不见的 1% 默认值:导入的条目概率经常停在 1%,写得再好也大约一百条消息才触发一次。逐条打开把概率显式设好(关键设定 100),确认书已经挂到角色上并且点了发布,再检查大小写敏感或整词匹配有没有悄悄挡住关键词。这个工具在你搬家之前就把这些全标出来。

酒馆的世界书搬去 RisuAI 或 Agnai,到底会坏什么?

最毒的都是语义层的,不是外观层的。Risu 的导入器不读启用开关(你禁用的条目会集体复活),还会丢掉副关键词的逻辑模式——NOT_ANY 黑名单反转成正向必要条件,和你写的恰好相反。Agnai 把 constant、selective、大小写这些标记原样存在文件里,但引擎从来不读:常驻条目不再常驻、排除条件消失、概率掷骰根本不存在。这些结论全部对着两家的开源代码核实过,体检会逐条点名受影响的条目。

这个工具能帮我转换格式吗?

刻意不做。转换器已经到处都是(酒馆和 Risu 自带导入按钮),但没有任何工具告诉你转换途中什么被悄悄改了。这里是搬家前的体检:先跑一遍,把标红的条目修好或记下来,再放心去转。

支持哪些文件格式?

酒馆 World Info 导出、Chub 世界书(WI+V2 双写格式)、RisuAI 导出(type: 'risu')、Agnai 记忆书(kind: 'memory')、JanitorAI JSON 编辑器条目数组、V2/V3 character book 与 lorebook_v3 文件、内嵌世界书的角色卡、NovelAI 世界书(识别+浅支持)。拖进来就行,格式横幅会告诉你识别成了什么。

我的世界书会被上传吗?

不会。解析、体检、分歧实验台全在浏览器里跑,页面加载完断网也能用。

相关工具与阅读

← 全部免费工具

世界书迁移体检器 — 五平台方言对照与搬家陷阱诊断(酒馆 / Chub / Risu / Agnai / JanitorAI) · Foreverse · 新梦