Skip to content

聊天管理

在 Luker 中,每段与角色的对话都是一个独立的「聊天」。你可以与同一个角色创建多段聊天,每段聊天有各自独立的消息历史。本页介绍聊天的基本管理操作。

创建与切换聊天

创建新聊天

选择一个角色后,点击聊天界面中的「新建聊天」按钮即可创建一段新的对话。新聊天会从角色卡设定的首条消息开始。

切换聊天

点击聊天列表按钮可以查看与当前角色的所有聊天记录。点击任意一条即可切换过去。每段聊天的消息历史是完全独立的,切换不会丢失任何内容。

删除聊天

在聊天列表中,你可以删除不再需要的聊天。Luker 提供了撤销提示(Undo Toast),如果误删可以在短时间内撤销。

重命名聊天

你可以为聊天设置一个自定义名称,方便在多段聊天之间区分。

消息编辑

在对话过程中,你可以编辑已发送的消息:

  • 编辑用户消息:点击消息旁的编辑按钮,修改你之前发送的内容
  • 编辑角色消息:同样可以编辑 AI 的回复,修正不满意的内容
  • 删除消息:删除单条或多条消息

TIP

编辑消息后,后续的对话不会自动重新生成。如果你希望 AI 基于修改后的内容重新回复,需要手动触发重新生成。

Swipe 与重新生成

Swipe 和重新生成(Regenerate)是两个不同的操作:

  • Swipe(切换回复):在同一楼层的多个 AI 回复版本之间切换(左右滑动或点击箭头),不会重新请求 AI。只有当滑到最后一个版本再继续滑动时,才会触发新的生成请求。
  • 重新生成(Regenerate):重新请求 AI 生成新的回复,替换当前版本。

使用方法:

  • 桌面端:点击 AI 最后一条消息上的左右箭头按钮进行 Swipe 切换
  • 移动端:在 AI 最后一条消息上左右滑动进行 Swipe 切换
  • 重新生成:点击消息操作栏中的重新生成按钮

Swipe 的特点:

  • 所有 Swipe 版本都会保留,不会丢失
  • 你可以随时在已有版本之间切换,切换时不会产生新的 AI 请求
  • Swipe 只对最后一条 AI 消息有效
  • 滑到最末尾继续滑动时会请求 AI 生成新版本,效果类似重新生成但会保留之前的版本

继续生成

如果 AI 的回复被截断了(例如达到了 Token 上限),你可以使用「继续」功能让 AI 接着写下去,而不是重新生成整条回复。

分支

分支(Branch)允许你从对话中的某个节点创建一条新的对话路线。想象一下:在对话进行到第 10 条消息时,你想尝试一个不同的选择——你可以从第 10 条消息处创建分支,在新分支中走一条不同的路线,同时保留原来的对话。

这对于探索不同的剧情走向非常有用。

分组聊天

分组聊天(Group Chat)允许你将多个角色放在同一个聊天中,让它们互相对话。你可以:

  • 创建一个角色分组,添加多个角色
  • 在分组聊天中,角色们会轮流发言
  • 你可以控制发言顺序和触发方式

INFO

分组聊天中的每个角色都会使用各自角色卡中的设定,包括绑定的世界书和预设。

聊天导入与导出

导出聊天

你可以将聊天记录导出为 JSON 文件,用于备份或分享。导出的文件包含完整的消息历史。

导入聊天

从 JSON 文件导入聊天记录。导入的聊天会出现在对应角色的聊天列表中。

Luker 的增量同步

Luker 对聊天数据的保存机制做了重要改进。

问题背景

在 SillyTavern 中,每次发送消息、编辑消息、甚至只是滑动查看 Swipe,都会将整个聊天文件在前后端之间来回传输。对于长对话,这意味着每次操作都要传输大量数据,既浪费流量又容易出错。

Luker 的改进

Luker 采用增量 Patch 端点来保存聊天数据。每次操作只传输变化的部分(遵循 RFC 6902 标准),而不是整个聊天文件。例如:

  • 发送一条新消息:只传输这条新消息的内容
  • 编辑一条消息:只传输修改的部分
  • 开关一个设置:可能只需要传输几十字节

此外,Luker 的后端会实时存储聊天数据,避免了 SillyTavern 中前端负责保存可能导致的消息丢失问题。

TIP

增量同步对用户是透明的——你不需要做任何额外操作,Luker 会自动处理。对于云端部署的用户,这项改进能显著减少流量消耗。

离线与断连

如果你的浏览器与 Luker 后端之间的连接中断(例如网络波动、切换 Wi-Fi、设备休眠等),你不需要担心数据丢失:

  • 已发送的消息不会丢失 — 所有已经到达后端的消息都已实时持久化到磁盘,即使前端断开也不受影响
  • 重连后自动同步 — 当连接恢复时,Luker 会自动同步前后端的数据状态,确保你看到的内容与服务端一致
  • 生成中断保护 — 如果 AI 正在生成回复时连接断开,已生成的部分内容会由后端安全保存,不会因前端崩溃而丢失

这得益于 Luker 的增量同步后端实时存储机制——数据变更在到达后端的瞬间就会被持久化,而非依赖前端触发保存。

聊天人设锁定

Luker 支持将用户人设(Persona)锁定到特定聊天。启用后,切换到该聊天时会自动恢复对应的人设,切换到其他聊天时恢复之前的人设。这在你为不同角色使用不同人设时非常方便。

下一步

Built upon SillyTavern