回调 ai_auto_response 触发频率并放宽群问句参与策略

变更项:
1. 为非定向问句增加 allow_undirected_question 标记,允许在相关话题、心流升温或群接受度较高时进入模型。
2. 保留普通闲聊问句的保守过滤,避免 bot 重新回到见问就抢答的状态。
3. 将 question_requires_at 调整为 false,并下调 flow 与 cooldown 的参与门槛,恢复更自然的群聊回复频率。
This commit is contained in:
liuwei
2026-04-28 17:35:49 +08:00
parent da5cf004f6
commit 6359b11951
3 changed files with 61 additions and 19 deletions

View File

@@ -116,7 +116,11 @@ recent_followup_window_minutes = 5
[priority]
at_bot = 1.0
explicit_question = 0.95
question_requires_at = true
# 这里从“必须 @ 才答”放宽到“群问句可以有限参与”:
# 1. 非定向问句不再直接判死刑;
# 2. 但代码层仍会要求命中 topic、或当前心流升温、或群接受度较高时才放行
# 3. 这样可以把频率拉回正常区间,同时避免回到早期“见问就抢答”。
question_requires_at = false
# 这里允许“点 bot 名字”作为弱定向信号,但不会把普通群问句当成 bot 提问。
# 只有出现这些名字/别名时,问句或社交召唤才会更像在对 bot 说话。
bot_name_keywords = ["小牛", "xiaoniu", "于谦", "谦哥", "林志玲", "志玲"]
@@ -129,31 +133,39 @@ casual_topic = 0.35
[flow]
enable_flow_state = true
flow_decay_per_minute = 14
idle_threshold = 32
warming_threshold = 54
engaged_threshold = 86
# 这里把心流门槛从“偏保守”调回“中等保守”:
# 1. 降低衰减速度,避免群里稍微安静一会儿就立刻掉回 idle
# 2. 下调 warming / engaged 门槛,让 bot 更容易在连续讨论里接住后续话题;
# 3. 仍保留 over_reply 与 ignored_reply 惩罚,避免高频刷存在感。
flow_decay_per_minute = 10
idle_threshold = 24
warming_threshold = 42
engaged_threshold = 72
at_bot_boost = 40
question_boost = 30
followup_boost = 16
topic_boost = 7
returning_member_boost = 5
response_accepted_boost = 8
ignored_reply_penalty = 22
over_reply_penalty = 26
followup_boost = 20
topic_boost = 10
returning_member_boost = 6
response_accepted_boost = 10
ignored_reply_penalty = 18
over_reply_penalty = 18
night_penalty = 30
max_bot_reply_streak = 1
max_bot_reply_streak = 2
[cooldown]
group_reply_cooldown_sec = 110
same_user_followup_cooldown_sec = 22
# 这里把冷却从“强压频”回调到“正常拟人”:
# 1. 群级冷却缩短,避免 bot 说完一句后整段讨论都接不上;
# 2. 同人追问冷却同步缩短,方便连续答疑;
# 3. 定向 burst 限流仍在,只是把阈值调回不那么容易误伤的区间。
group_reply_cooldown_sec = 60
same_user_followup_cooldown_sec = 12
at_mention_min_interval_sec = 5
at_mention_burst_window_sec = 90
at_mention_burst_limit = 4
at_mention_burst_limit = 5
at_mention_silent_sec = 180
directed_burst_window_sec = 240
directed_burst_limit = 4
directed_burst_silent_sec = 480
directed_burst_limit = 5
directed_burst_silent_sec = 300
night_silent_hours = ["01:00-07:30"]
[memory]