feat: 后台思考让步前台 — 用户10s内有活动则跳过非post_chat思考
This commit is contained in:
@@ -1064,6 +1064,17 @@ func (t *Thinker) performThink(triggerReason string) {
|
|||||||
|
|
||||||
log.Printf("[后台思考] 开始思考周期 (触发原因=%s, 计数=%d)...", triggerReason, currentCount)
|
log.Printf("[后台思考] 开始思考周期 (触发原因=%s, 计数=%d)...", triggerReason, currentCount)
|
||||||
|
|
||||||
|
// 0. 让步于前台——如果用户最近有活动(非post_chat),跳过本次思考。
|
||||||
|
if triggerReason != "post_chat" {
|
||||||
|
t.mu.Lock()
|
||||||
|
sinceLastUser := time.Since(t.lastUserMessage)
|
||||||
|
t.mu.Unlock()
|
||||||
|
if sinceLastUser < 10*time.Second {
|
||||||
|
log.Printf("[后台思考] 用户 %v 前有活动,让步于前台回复,跳过思考", sinceLastUser.Round(time.Second))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 1. 加载人格配置
|
// 1. 加载人格配置
|
||||||
personaConfig, err := t.personaLoader.Get("cyrene")
|
personaConfig, err := t.personaLoader.Get("cyrene")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user