聊天管理
在 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)锁定到特定聊天。启用后,切换到该聊天时会自动恢复对应的人设,切换到其他聊天时恢复之前的人设。这在你为不同角色使用不同人设时非常方便。