群聊

回复顺序策略

决定群聊中的角色如何被抽选来回复。

手动

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

自然顺序

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

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

    只有整词才会被识别为提及!如果你的角色名为“Misaka Mikoto”,则只会在“Misaka”或“Mikoto”时激活,而不会响应“Misa”、“Railgun”等。

    除非启用了“允许自我回复”设置,否则角色不会对自己消息中提及自己的名称作出回复!

  2. 角色根据“话多度”因素被激活。

    话多度定义了角色在未被提及时发言的频率。可在角色编辑器的“高级定义”界面调整此值。滑块在 0% / 害羞(除非被提及否则从不发言)到 100% / 健谈(总是回复)之间呈线性变化。新角色的默认值为 50% 概率。

  3. 随机选择一个角色。

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

列表顺序

角色按照其在群组成员列表中的排列顺序被抽选。不适用其他规则。

池化顺序

激活一名自上次用户消息以来尚未发言的随机角色。如果所有角色都已发言过,则在下一次用户消息之前随机选择一名。

群聊生成处理模式

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

切换角色卡

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

合并角色卡

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

此模式有两个子模式(必须二选一):

  • 包含静音成员 - 静音的角色将始终被包含进联合提示词。
  • 排除静音成员 - 静音的角色如果不是当前发言者,则不会被包含。

以下字段会被合并:

  1. 描述
  2. 场景(若对话中未被覆盖)
  3. 人格
  4. 消息示例
  5. 角色备注 / 深度提示词

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

合并前缀与后缀

当选择“合并角色卡”时,角色各自的相应字段会被合并到一起。这意味着在最终生成的提示词中,所有角色描述将被拼接成一大块文本。如果你希望这些字段彼此分隔,可以定义前缀和/或后缀。

这些选项支持常规宏,并且会将 {{char}} 替换为相应角色的名称,将 <FIELDNAME> 替换为该部分的名称(例如:description、personality、scenario 等)。

其他群聊菜单选项

静音角色

群聊菜单中角色头像旁带有删除线的气泡图标,可以禁用或启用对话中特定角色的回复。

强制发言

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

自动模式

启用自动模式后,群聊将遵循回复顺序并在无需用户操作的情况下触发消息生成。下一次自动模式轮次会在上一个被抽选的角色发送消息后延迟 5 秒触发。当用户开始在发送消息文本区输入时,自动模式将被禁用,但已排队的生成不会自动停止。

允许自我回复

当选择自然顺序时,如果某角色因在最新一轮消息中被自我提及而触发,则允许该角色在每一轮发送最新消息后继续连续回复。对列表顺序无效。

群聊场景覆盖

所有群组成员将使用此处输入的场景文本,替代各自角色卡中指定的场景。分支对话会从其父对话继承场景覆盖,之后可单独更改。

查看角色定义

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

要返回群聊,请点击群组名称标题链接。

成员管理

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

群聊弹出面板

点击“当前成员”字段旁的图标,即可激活群聊菜单的弹出面板。这会创建群聊菜单的弹出形式。通过在用户设置中启用 MovingUI,此菜单可以调整大小并拖动到界面中的任意位置,其功能与常规群聊菜单完全相同。