群组聊天

回复顺序策略

决定群组聊天中的角色如何被选定进行回复。

手动

您可以从菜单中手动选择回复的角色,或使用 /trigger 命令。被选中的群组成员将是唯一发言的角色。用户消息不会自动触发任何回复。在用户输入为空的情况下触发生成,将随机选择一个未静音的群组成员进行回复。

自然顺序

尝试模拟真实人类对话的流程。算法如下:

  1. 从聊天中最后一条消息里提取提及的群组成员名称。

    只有完整的词才会被识别为提及!如果您的角色名称是"Misaka Mikoto",她只会对"Misaka"或"Mikoto"做出响应,而不会响应"Misa"、"Railgun"等。

    除非启用了"允许自我响应"设置,否则角色不会响应其自身消息中对自己名称的提及!

  2. 角色根据"健谈程度"因素被激活。

    健谈程度定义了在未被提及时角色发言的频率。可在角色编辑器的"高级定义"界面调整此值。滑块值为线性范围,从 0% / 害羞(角色除非被提及否则不发言)到 100% / 健谈(角色始终回复)。新角色的默认值为 50%。

  3. 随机选择一个角色。

    如果在前述步骤中没有角色被激活,则随机选择一位发言者,忽略所有其他条件。

列表顺序

角色按其在群组成员列表中的顺序被选定。不应用其他规则。

轮询顺序

激活一个自上次用户消息以来尚未发言的随机角色。如果所有角色都已发言,则随机选择一个,直到下一条用户消息为止。

群组生成处理模式

此设置决定如何处理群组聊天成员的角色信息。无论选择哪种模式,群组聊天历史始终在所有成员之间共享。

切换角色卡

默认模式。每次生成消息时,上下文中只包含当前发言者的角色卡信息。

合并角色卡

所有群组成员的信息按其在列表中的顺序合并为一个联合提示词。这在不希望大幅改变上下文内容时很有帮助,例如使用 llama.cpp 提示词缓存时。

此模式有两个子模式(必须选择其中一个):

  • 包含静音——已静音的角色始终包含在联合提示词中。
  • 排除静音——已静音的角色在不是当前发言者时不会被包含。

以下字段将被合并:

  1. 描述
  2. 场景(如果未被聊天覆盖)
  3. 个性
  4. 示例消息
  5. 角色注释 / 深度提示词

重要! 请注意,由于典型角色卡的结构特点,使用此模式可能导致意外行为,包括但不限于:角色对自身感到困惑、个性合并、特征不确定等。

合并前缀与后缀

选择"合并角色卡"后,角色的所有相应字段将合并在一起。这意味着在结果提示词中,所有角色描述将合并为一大段文本。如果希望各字段之间有所分隔,可以定义前缀和/或后缀。

这些选项支持普通宏,同时还会将 {{char}} 替换为相关角色的名称,将 <FIELDNAME> 替换为字段名称(例如:描述、个性、场景等)。

其他群组聊天菜单选项

静音角色

群组聊天菜单中角色头像旁的划线对话气泡图标可以禁用或启用特定角色在聊天中的回复。

强制发言

群组聊天菜单中角色头像旁的对话气泡图标将仅触发该特定角色的回复,绕过回复顺序策略。即使该群组成员已被静音,此功能也会生效。

自动模式

启用自动模式后,群组聊天将遵循回复顺序,无需用户交互即可触发消息生成。当最后一个被选定的角色发送其消息后,下一轮自动模式将在 5 秒延迟后触发。当用户开始在发送消息文本框中输入时,自动模式将被禁用,但已排队的生成不会自动停止。

允许自我响应

当选择自然顺序时,若某角色因在自己的消息中提及自己而被触发,则允许其在每轮中连续回复。对列表顺序无效。

群组聊天场景覆盖

所有群组成员将使用此处输入的场景文本,而非其角色卡中指定的内容。分支聊天会从父聊天继承场景覆盖,之后可单独修改。

查看角色定义

点击群组聊天菜单中头像旁的角色卡图标,可快速跳转到常规角色定义界面。在此处所做的任何更改都将保存到卡片本身。

如需返回群组聊天,点击群组名称标题链接即可。

成员管理

可在群组聊天中添加、移除、静音或重新排序任意现有角色。默认情况下,新成员添加到群组成员列表顶部,之后可使用箭头图标重新排序。

群组聊天弹出窗口

点击"当前成员"字段旁的图标可激活群组聊天菜单弹出窗口,将群组聊天菜单独立显示。在用户设置中启用 MovingUI 后,此菜单可在界面内调整大小并拖动到任意位置,功能与常规群组聊天菜单完全相同。