什么时候回复
TIP
本节介绍机器人「要不要开口」。回复太少像不在线,回复太多像刷屏;ChatLuna 用一组可调的判定规则来决定,而不是写死的关键词表。
群聊每收到一条消息,系统都会做一次唤醒判定,结果有三种:
- 回复:把消息连同前后聊天记录交给模型,生成回复。
- 只记录:不回复,但写入聊天记录,供下次被呼叫时参考。
- 忽略:既不回复也不记录。
绝大多数判定在本地完成(检测 @、比对名字、统计发言频率),不调用模型。只有开启「小模型判定」才会产生模型费用。

默认行为
| 情况 | 默认行为 |
|---|---|
| 群里有人 @ 它 | 回复 |
| 有人回复它发过的消息 | 不回复(默认关闭) |
| 消息以它的名字开头 | 回复 |
| 消息中间提到它的名字 | 不回复(默认只认开头) |
| 私聊 | 回复 |
| / 开头的指令 | 交给指令系统,不进入对话 |
| 其他人在群里正常聊天 | 不回复,但记进聊天记录 |
| 没人叫它 | 不主动搭话(随机概率为 0) |
也就是说,默认情况下机器人在群里只有被明确呼叫才开口,私聊每句都回,指令交给指令系统。平时的群聊会被记录下来,被呼叫时模型就能接上刚才的话题。处于回复冷却期时,即使被呼叫也只记录不回复。
如果只需要「有人找才回答」,默认设置就够了。
三种判定方式
场景规则的「什么时候回复」面板中有三种判定方式:直接触发、气氛判断和小模型判定。它们并行判定,任意一种得出「回复」就会回复;都不要求回复时,再决定是「只记录」还是「忽略」。
- 只在被叫到时回复:保持默认的直接触发。
- 群里热闹时主动接话(不调用模型):再开启气氛判断。
- 需要理解复杂语境和群梗(有少量调用成本):开启小模型判定。
直接触发
默认启用,处理明确的呼叫:
- @ 它就回复:消息中包含平台的 @ 元素时触发,纯文本打出的名字不算。
- 回复它的消息也算:引用回复机器人的消息时触发,默认关闭。
- 叫名字就回复:消息以机器人的名字开头时触发,名字在「它的名字」列表中配置,可以添加多个。
- 句中提到也算:消息任意位置出现名字就触发,默认关闭。
- 私聊直接回复:关闭后,私聊也必须 @ 或叫名字才回复。
- 回复私聊:私聊的总开关。
- 主动搭话概率:无人呼叫时随机插话的概率,默认
0。 - 回复后安静时间:回复后的冷却时间(毫秒),期间被呼叫也只记录,默认
0。 - 不回自己的话:避免消息回环时自我对话。
TIP
「它的名字」是全局生效的,在任何场景规则中修改都会同步。不同群对机器人的称呼不同时,把所有常用称呼都加进列表即可。
气氛判断
气氛判断在本地分析群聊动态,不调用模型,综合四类信号:
- 热度:最近 15 分钟、2 分钟和 30 秒内的消息频率。
- 人数:发言人数和分散程度。
- 线索:是否有人引用机器人、叫它的名字或别名、提到感兴趣的词。
- 惯性:机器人上次发言后,是否有人顺着话题继续聊。
这些信号合成一个「想说话的冲动」值,与动态阈值比较(阈值受作息、距上次发言的间隔和近期发言量影响),超过后再按频率抽样决定是否开口。
- 插话频率:
0到1,越高越容易插话,0表示不主动插话(不影响 @ 和叫名字)。建议先设0.2~0.3。 - 感兴趣的关键词:提到这些词时冲动加成更高。
- 它的别名:出现时视为强烈的呼叫线索。
- 每小时发言上限:达到后冲动大幅衰减。
两次主动发言之间至少间隔 30 秒。
WARNING
气氛判断默认只在「伪装」引擎下启用;「对话」引擎默认只用直接触发,避免问答机器人在群里意外插话。
小模型判定
把最近的聊天记录发给轻量模型,由它判断现在该不该插话。对反讽、群梗等语境理解更准确,但每次判定都是一次真实的模型调用。
- 判定模型:默认使用内置决策角色。
- 最低插话把握:达到这个置信度才发言,默认
0.55。 - 两次判定最小间隔:同一会话两次判定的间隔,默认
60秒。 - 参考消息条数:每次判定提供的聊天记录条数。
- 给模型看的简介:说明机器人的性格和适合插话的场景,留空时根据人设自动生成。
- 感兴趣的关键词:命中时跳过冲动计算,直接发起判定。
- 每天判定次数上限:默认
200次。 - 同时判定数量:全局并发上限,默认
2。
同一条消息的判定结果会缓存。小模型除了「回复」和「不回复」,还可以建议「稍后回复」,系统会按给出的延迟跟进。
以 @ 和叫名字为主的问答群不需要开启小模型判定,它只会增加延迟和费用。
只记录与忽略
- 只记录:写入聊天记录,下次被呼叫时模型能看到。日常闲聊、冷却期内的呼叫、被合并的连续短消息、气氛判断跳过的消息都属于此类。
- 忽略:直接丢弃。机器人自己的消息、指令、被审核拦截的内容,以及关闭私聊总开关后的私聊消息属于此类。
WARNING
不要为了节省上下文把正常群聊设为忽略,否则机器人被叫到时无法结合前文作答。控制上下文长度请使用「群聊记录」中的条数上限、回填和媒体限制。
主动说话
- 冷场时主动搭话:长时间无人发言时主动开话题。无人回应时逐步延长下次尝试的间隔。
- 稍后继续聊:回答复杂问题后,隔一段时间主动跟进。
- 话题相关就插话:群友聊到与角色高度相关的话题时插话,需要先启用小模型判定。
- 早晚安问候:按角色作息在早晨和睡前打招呼。
角色处于「睡眠」状态时不会主动说话,只能通过直接呼叫唤醒。主动说话同样受每小时发言上限和退避限制。

推荐配置
| 场景 | 建议 |
|---|---|
| 普通问答群 | 只开「@ 它就回复」「叫名字就回复」「私聊直接回复」,关闭主动搭话、气氛判断和小模型判定 |
| 角色扮演群 | 开启直接触发和气氛判断,插话频率 0.2~0.3,填写角色关心的关键词;群活跃时调低每小时发言上限 |
| 大群 / 高风险群 | 谨慎启用小模型判定:调高最低插话把握和判定间隔,调低每天判定上限,观察质量和账单后再放宽 |
| 私聊为主 | 全局关闭群聊搭话和气氛判断,私聊保持直接回复;个别群需要时用场景规则单独开启 |
常见问题
机器人不回复:检查消息是否以指令前缀开头、「回复私聊」是否关闭、直接触发开关是否开启,以及是否处于「回复后安静时间」。
机器人频繁插话:检查是否开启了气氛判断或小模型判定,调低插话频率或调高最低插话把握;关闭「句中提到也算」;检查是否有单独的群规则覆盖了全局设置。
呼叫了但只记录不回复:通常是处于冷却期或连发合并中,稍等片刻或用 @ 重新呼叫即可。
判定很慢:多半是开启了小模型判定,每次都要等待模型响应。调大判定间隔,或改用直接触发加气氛判断。