Group Listener · State Machine
群聊监听状态机
以触发消息为终点向上取最多 100 条素材;analysis 只决定是否发言与发言方式;无论是否发言,state_update 固定执行一次。
x = 3–10
条消息
y = 30
分钟
素材上限
100
条
设计稿 · 未实现
群聊监听状态机
从 idle 到 collecting、analyzing,再分流到不发言或 statement/reply,发送后写入 bot buffer 并执行 state_update,最后进入 cooldown 回到 idle。
WAIT
IDLE
等待新消息
BUFFER
COLLECTING
每群最近 100 条
ONE PER GROUP
ANALYZING
speak? statement / reply?
STATEMENT NODE
STATEMENT
发表主观观点 · 无 target
REPLY NODE
REPLY
normal / quote / at / action
FOCUS TARGET
COMPOSING
只聚焦选中的 target
COMMON SEND
SEND
分条 · 延迟 · 发送
DATA / FEEDBACK
BOT BUFFER
机器人消息写入下一轮素材
ALWAYS ONCE
STATE_UPDATE
记忆 / 画像 / 情绪 / 群状态
COOLDOWN
WAIT
发言 20–30s
不发言 5–10s
speak=true
speak=false
compose
append bot
sendResult / noSend
cooldown end
loop back
if speak.enabled = false
if speak.enabled = true
一条回复只针对 targetMessageIds,不对整段素材总结