使用说明#

初次运行#

我们现在下载和安装了脚本, 接下来就能使用它了.

假设我们在 Cursor 中打开了一个文件夹用于存放本地文件, 并拖入了这个脚本, 则应该显示为这样的界面:

../../../../_images/%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E5%A4%B91.png

如果你没有显示终端, 可以通过 Ctrl-Shift-P 打开命令菜单, 输入 toggle terminal 以找到查看: 切换 终端, 回车从而打开终端.

我们在终端尝试运行一下这个脚本. 具体地, 我们输入以下命令然后回车:

node tavern_sync.mjs

如果一切顺利, 你应该会看到这样的输出:

配置文件不存在,已自动生成在 '你打开的文件夹/tavern_sync.yaml',请填写配置文件后重新运行

而侧边栏也将显示 tavern_sync.yaml 文件, 点击即可编辑:

../../../../_images/%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png

配置并提取角色卡、世界书或预设#

我已在生成的配置文件中提供了一个示例配置, 你可以根据它来配置你的角色卡、世界书和预设.

例如, 示例配置中填写了一个名为 "角色卡示例" 的角色卡配置, 它将 "呕吐内心的少女" 角色卡映射成本地文件 (你可以换成自己酒馆里有的角色卡来尝试):

配置:
  角色卡示例: # 配置名称
    类型: 角色卡
    酒馆中的名称: 呕吐内心的少女 # 酒馆中的角色卡名称
    本地文件路径: 呕吐内心的少女 # 将配置映射为 `呕吐内心的少女.yaml` 文件

然后我们就能用 pull 命令提取它:

node tavern_sync.mjs pull 角色卡示例

执行命令后, 侧边栏将会多出一个配置文件:

  • 猴子打字机.yaml 配置文件中是角色卡的数据, 包括头像文件、第一条消息、世界书条目、正则等

此外根据你提取的是角色卡、世界书还是预设, 可能多出文件或文件夹:

  • 第一条消息文件夹中是 "呕吐内心的少女" 角色卡的第一条消息

  • 世界书文件夹中是 "呕吐内心的少女" 角色卡的世界书条目

  • 头像.png文件是 "呕吐内心的少女" 角色卡的头像文件

../../../../_images/%E6%8F%90%E5%8F%96%E8%A7%92%E8%89%B2%E5%8D%A1.png

修改角色卡、世界书或预设#

现在, 你就已经可以通过修改本地文件来修改 "呕吐内心的少女" 角色卡了.

条目中每个 - 块即对应角色卡的一个世界书条目, 而整个条目直接反映酒馆世界书编辑器切换为自定义排序后的条目显示顺序 (如果是预设, 它的提示词则对应于在预设面板的提示词顺序), 因此你可以非常简单地进行条目的新建、删除、修改、排序.

例如, 我想要修改 "呕吐内心的少女" 两个条目的显示顺序 (如果是预设, 修改的就是真正的提示词顺序了!), 则可以直接交换两个条目在条目列表中的顺序:

../../../../_images/%E4%BA%A4%E6%8D%A2%E6%9D%A1%E7%9B%AE%E9%A1%BA%E5%BA%8F.png
  • 想要调整条目顺序? 直接将它对应的 - 块移动到想要的位置.

  • 想要修改条目? 直接调整对应 - 块和文件中的内容.

  • 想要删除条目? 直接删掉它在条目中对应的那一块 -.

  • 想要新建条目? 复制粘贴一块 -, 填入新条目对应的设置和 文件: 文件路径, 然后在对应的文件路径下新建一个文件存放提示词. (你也可以不新建文件直接在这里写提示词, 在之后的特殊功能会解释怎么做到.)

同步修改结果到酒馆#

在完成修改后, 我们用 push 命令将修改结果同步到酒馆:

node tavern_sync.mjs push 角色卡示例 -f

实时修改#

如果你想长时间更改, 又需要频繁地在酒馆测试更改后结果, 则可以用 watch 命令开启监听功能.
在监听过程中, 你只需要修改本地文件, 酒馆就会自动同步你的修改:

node tavern_sync.mjs watch 角色卡示例 -f

直接打包文件#

此外, 你也可以直接打包得到角色卡/世界书/预设文件:

# 不经过酒馆网页直接打包文件, 因此你甚至不需要开启酒馆网页
node tavern_sync.mjs bundle 角色卡示例

打包文件默认会存放在与 本地文件路径 同目录下; 如果你想要存放在其他地方或更改打包文件名称, 可以在配置文件中添加 导出文件路径 配置:

配置:
  角色卡示例:
    类型: 角色卡
    酒馆中的名称: 呕吐内心的少女
    本地文件路径: 呕吐内心的少女
    导出文件路径: 导出/呕吐内心的少女

获取命令帮助#

以上就是本同步脚本的基本用法. 你可以用 node tavern_sync.mjs -h 来获取更多帮助, 用 node tavern_sync.mjs 具体命令 -h 来获取具体命令的帮助.

更新脚本#

本脚本的酒馆助手脚本部分会自动更新, 本地脚本部分你可以用 node tavern_sync.mjs update 来更新.

在编写模板中使用同步脚本#

如果你需要编写大型角色卡, 我非常非常推荐你使用我的编写模板. 一开始可能会很不适应, 但习惯后, 它将允许你更统一地自行或让 AI 编写变量角色卡、前端界面或脚本. 请阅读环境准备来配置它, 模板的使用说明也在其中.

配置好后, 你会发现文件夹内已经有了同步脚本 tavern_sync.mjs 和配置文件 tavern_sync.yaml, 并且在 示例 文件夹内也有 角色卡示例 文件夹, 其内存放了这个角色卡的第一条消息、脚本、界面、世界书等内容:

  • 第一条消息: 编写模板文件夹内已经有了 tavern_sync.mjstavern_sync.yaml, 你只需要调整 tavern_sync.yaml 即可像上文演示的那样用 node tavern_sync.mjs 命令 来同步第一条消息

  • 脚本: 编写模板支持运行 pnpm watch 来实时修改脚本

  • 界面: 编写模板支持运行 pnpm watch 来实时修改界面

  • 世界书: 编写模板文件夹内已经有了 tavern_sync.mjstavern_sync.yaml, 你只需要调整 tavern_sync.yaml 即可像上文演示的那样用 node tavern_sync.mjs 命令 来同步世界书

为了让你更方便,

  • 编写模板在 pnpm build 时会自动允许 node tavern_sync.mjs bundle 所有 来打包所有配置了的角色卡、世界书或预设!

  • 编写模板在 pnpm watch 时会自动运行 node tavern_sync.mjs watch 所有 -f 来启动对所有配置了的角色卡、世界书或预设的实时修改!

——也就是说, 在这个编写模板里, 你只需要记住使用 pnpm build 即可实现角色卡、世界书、预设、脚本、界面等的发布, 只需要运行 pnpm watch 即可实现角色卡、世界书、预设、脚本、界面等的实时修改!