跳到主要内容

会话与时间线

会话列表显示名称、世界、创建时间、最后游玩时间和回合数。若 DSH 对话已不存在,重新打开时会根据角色扮演会话重建对话入口;角色扮演数据库始终是权威状态。

每个会话都是世界初始状态的一份独立副本。游玩、编辑会话状态、生成图片或调整会话设置都不会重写源世界,也不会影响其他会话。因此,同一个世界可以支持不同玩家、不同主角或互不相干的历史,而无需复制世界文件。

继续故事​

打开角色扮演 → 会话并选择故事。系统会恢复活动时间线、设置、当前世界状态和角色扮演对话。若 DSH 中的对话入口被归档或移除,插件会从角色扮演会话重新创建入口,而不是通过重读叙述文本来推断状态。

回合数表示活动故事中已经完成的玩家回合。后台记录、角色决策和生成媒体都归属于这些回合,但不会各自算作一个新的玩家回合。

回退​

回退会把活动时间线指针移动到较早节点,之后的历史不会立即销毁。从较早节点发送新行动会创建一条分支。

上一条行动输入错误、提供方在回合中途失败,或你有意重访一个决定时,都可以使用回退。状态会跟随所选节点恢复:角色位置、物品、关系、时钟、事件和其他记录会一起回到当时的内容。较后节点生成的文件可能仍留在磁盘,但不会被视为活动场景的一部分。

分支​

分支是从同一个较早状态产生的另一种后续发展。它保留此前历史,同时拥有自己的活动时间线,可用于探索不同选择而无需复制世界文件。

例如,先回退到打开密封门之前,再发送另一项行动。原有后续仍属于时间线历史,新消息则成为活动分支。分支共用同一个会话目录和源世界,不会作为单独条目出现在会话列表中。

检查点​

点击对话下方的 ◆ 检查点,可以为故事此刻的样子起一个名字(最多 80 个字符)。无论之后又进行了多少回合,这个回合保存的状态都会保留;没有名字的回合,其状态最终会被释放(保留多少个回合由设置“可回退的回合数”决定)。有名字的回合会列在 回退到… 菜单的最上面,回到那里就是一次普通的回退。再次为同一回合命名即是改名,点击 移除 会去掉名字,之后它的状态与其他回合一样保留或释放。

检查点需要保存的状态,所以只能在故事所在的那一回合,或状态仍保留着的回合上创建。

对比两个状态​

对话下方的 ⇄ 对比… 会列出故事现在的样子与某个检查点、某一回合或开头之后的状态有什么不同:故事时间和回合数、角色在哪里和在做什么、谁拿着什么、被追踪的数值、未完结的线索、关系以及待履行的约定。它比较的是已保存的状态,因此状态已被释放的回合无法选择;把它设为检查点即可保留。要比较两个分支,请分别与同一个检查点对比。

重播回合时的骰子​

默认情况下,重新生成的回合,或从同一处另打的回合,会重新掷骰。把聊天设置中的 重播回合时的骰子 改为 保留骰点 后,从同一处重播的回合会按相同的顺序遇到相同的骰点:变化的是你的措辞和故事,而不是运气。骰点按掷骰的先后顺序对应,与每次掷骰的用途无关,所以掷骰内容不同的回合也会得到同样的序列。

会话医生​

当故事出了问题(某个角色与已确立的事实相矛盾、某条信念已不再合适、某件物品摆错了位置),可以在这个故事的“对话设置”标签页里打开会话医生。它是一个独立的对话,每个会话一个,由站在故事一旁的助手负责:它用其他助手同样的读取工具阅读记录,说明发现了什么,并提出修复。

它做的每一处修改都通过记录编辑进行,并且会先把具体的修改原样展示给你;在你批准之前不会生效,被拒绝的修改不会改变任何东西。它可以更正故事当前的状况(状态、信念、关系、物品的位置、线索、被追踪的数值),但不会改写已经发生的事件,也不会凭空创造角色、地点或物品。在应用修改之前,它会先保存故事当时的样子,因此只要此后没有进行过回合,最近一次修改可以(经你批准)撤销;更早的修改则用新的修改来修正。它的对话随会话一起删除。

时间线包含什么​

时间线包含各回合提交的故事状态:客观事件、感知、信念、位置、库存、变量、剧情进度和故事时间。回退会一起恢复这些内容,避免数据库声称角色仍记得活动分支上从未发生的事件。

会话设置属于即时配置,而不是故事历史。更换模型路线、记忆上限或图片策略只影响后续工作,不会因为移动时间线指针而撤销。

导出与导入​

在会话页,每个故事的下载按钮提供四种导出:

  • 故事全文是便于阅读的 Markdown:先写开场,再沿当前故事路径依次列出每回合的玩家输入和故事回应。
  • 含每个回合的故事是带注释的 Markdown。被放弃的回合作为备选分支显示,并附上场外裁定、掷骰和检查点。
  • 同样内容的数据形式是 JSON,包含每个回合及其父回合,其他程序可据此重建任何分支。
  • 完整故事是 ZIP,包含当前状态、所有进行过的回合、保留的状态快照、图片、设置、提示词和源世界副本。

同一页的 导入故事 会把 ZIP 恢复为新存档,名称以“(restored)”结尾。原存档不受影响;只有当本地没有相同 id 的世界时,才会添加归档里的世界。第一次打开恢复的存档时,插件根据开场和当前时间线重建对话。旧对话日志中的模型工具调用过程不包含在内。

归档不能超过“上传大小上限”(设置 -> Role Play),解压后也不能超过该上限的四倍。完整故事只能在回合之间导出;有回合正在运行时,插件会拒绝导出。

归档与删除​

归档只影响 DSH 对话列表。通过会话页删除会停用对话,并移除角色扮演会话目录。由于 DSH 不提供永久删除日志的接口,其持久层仍可能保留已归档的对话日志。

删除不可恢复;生成图片和会话数据库会随会话目录一同移除,源世界与可复用化身不会改变。如果将来可能继续这个故事,请先导出完整故事。只复制可见聊天文本并不足够:数据库保存持久状态,图片目录保存会话媒体。