跳到主要内容

目录

目录页用来浏览 Roleplay Catalogue 中的世界,并把它们安装成你自己的世界。你可以添加多个目录,也可以直接用世界压缩包的地址安装。

设置目录​

打开设置 → 角色扮演 → 目录,选择添加目录:

  • 名称:你给它起的名字,彼此不能重复。
  • API 地址:目录的 API 根地址,例如 https://catalogue.example/api;如果目录的 API 没有前缀,则如 http://localhost:9798。必须是不含用户名、查询参数和片段的网址。
  • 密钥名称(可选):密钥在凭据存储中使用的名称,例如 ROLEPLAY_CATALOGUE_HOME_API_KEY。留空则使用由目录名称生成的名称。名称由字母、数字和 _ 组成,且不能以数字开头。
  • API 密钥(可选):在目录中创建的密钥。填写后,页面还会显示该密钥有权读取的私有世界;不填则只显示公开世界。

密钥不再保存在配置档的配置中,而是交给 DSH 的凭据存储——也就是保存你的模型密钥的那一个。页面只会知道密钥是否已设置以及来源(存储文件,或启动 DSH 时的环境变量),不会拿到密钥本身。存入密钥和删除密钥立即生效;保存则把目录列表和密钥名称写入配置。存储中的密钥优先于由环境变量提供的密钥(ROLEPLAY_CATALOGUE_HOME_API_KEY=… dsh),后者只在存储中没有密钥时才生效;删除存储的密钥即可回退到它。如果所用的凭据插件不能写入,页面会说明,此时只能在那里更改密钥。凭据存储在每次请求时解析密钥,所以更换密钥后下一次请求就会使用新密钥,无需重启;若有凭据插件取代了该存储(例如基于系统钥匙串的插件),这些密钥也会同样受到保护。请使用专门为此创建、权限尽量小的密钥。

:::note 从 0.3 升级 0.4.0 把密钥移出了配置。你之前保存的密钥在移动之前仍会继续使用:对应的行会显示提示和移入凭据存储按钮。之后保存设置,配置中的明文就会被删除。没有凭据存储的配置档仍可使用配置里的密钥,但无法存入新的密钥。 :::

浏览与安装​

页面列出所选目录中已发布的世界,可搜索,也可按最新或热门排序。工具栏下方一行会说明是否正在使用你的密钥。在设置中保存新的密钥(或移除密钥)后,页面会自动更新,私有世界随之出现或消失,无需重新加载。

选择一个世界可以查看它的简介、标签和发布版本。安装会下载所选版本,用目录公布的校验和核对,然后把它加入你的世界。之后你可以像对待任何世界一样游玩或编辑它;它是一份副本,不会再联系目录。如果文件夹名与已有世界相同,新世界会使用带编号的文件夹。从某个发布版本安装的世界会记住它来自哪个版本,因此目录有新版本时页面可以提示你。

世界可能附带界面包。界面包会在游玩时、在容纳所有界面包的沙盒中运行自己的脚本。页面会告诉你带来了哪些界面包;如果不了解作者,请先查看。

更新已安装的世界​

如果目录里有你已安装世界的新版本,页面会在网格上方列出。选择它并点击更新。新版本会在原来的文件夹里替换这个世界,所以你的会话照常可用;你之前的文件会移到角色扮演根目录的 .trash/worlds/,而不是立即删除。它们会在 catalogueTrashDays 天后被清理(默认 30 天;0 表示永久保留),启动时和每次更新后检查。想提前找回,把文件夹从回收文件夹复制到 worlds/ 即可。

如果你在安装之后修改过这个世界(增加、编辑或删除了任何文件),页面会告诉你,列出有差异的文件,并让你选择:

  • 覆盖我的版本:用发布版本替换你的版本。你的版本仍保留在回收文件夹中。
  • 都保留:把发布版本另装为一个名为“(copy)”的独立世界,拥有自己的标识,不动你的世界。这份副本与目录没有关联,因此不会提示更新。

没有版本记录的世界(在记录版本之前安装的,或手动复制来的)会遇到同样的询问,因为无法判断你是否修改过。只要你已经有某个世界,随时都可以选择另装一份副本。

角色卡​

角色卡标签页列出目录中的 SillyTavern 角色卡。查看并转换会用目录的密钥下载角色卡,并显示其中的内容,与从文件进行角色卡导入时的查看界面相同:世界的名称、哪些世界书条目会被读取,以及用哪条问候语作为开场。点击导入后,会按这些选择创建一个新世界,由它的创作对话转换这张卡,然后打开该对话。取消则不会创建任何东西。

再次转换同一张卡会生成一个新世界:转换由一个会自行做出选择的智能体完成,转换两次会得到不同的世界。如果你已有一个与卡同名、并且本身就是由角色卡导入的世界,查看页面会提供更新它:由该世界的创作助手应用新版本的改动,成本只是一次转换的一小部分,详见角色卡的新版本。你导入之后没有修改过那个世界时默认选中更新,修改过则默认选中新世界。磁盘上的角色卡不经过目录也能更新世界:用世界标题栏的用角色卡更新。没有经过你批准的助手修改,不会替换你的任何文件;被替换或删除的内容都会放进世界的 .trash 文件夹。

预设​

预设标签页列出目录中的 SillyTavern 预设。导入为预设会用目录的密钥下载它,询问要带入哪些提示词以及是否保留它的采样设置,然后启动预设导入:在你的资料库里新建一个预设,由它的创作聊天写入叙述提示词,随后打开聊天。与角色卡一样,预设不会被原地更新;再次导入会生成另一个预设。

世界书​

世界书标签页列出目录中的 SillyTavern 世界书(资源类型 sillytavern/lorebook)。导入为世界书会用目录的密钥下载它,询问要带入哪些条目,然后启动世界书导入:在你的资料库里新建一本世界书,由它的创作聊天写入条目,随后打开聊天。与角色卡一样,世界书不会被原地更新;再次导入会生成另一本世界书。

从地址导入​

从地址导入可以用世界 ZIP 压缩包的地址安装世界:

  • 属于你添加的目录的地址,会带上该目录的密钥请求,所以密钥有权读取的私有版本也可以安装;
  • 其他地址按原样获取。它必须是标准端口上的公开网址;如果需要登录,导入会失败并说明原因;
  • 密钥只会发送给配置它的站点,即使下载被重定向到别处也一样。

压缩包必须只含一个带 world.json 的顶层文件夹。世界先写在你的世界旁边,完整后才移入,所以被拒绝的压缩包不会留下任何东西。含有链接、不安全或重复路径、加密,或超过大小上限 catalogueMaxBytes(解压后 256 MiB)的压缩包会被拒绝。