diff --git a/server/tasks/models.py b/server/tasks/models.py index 5fd50010..8edfd6d9 100644 --- a/server/tasks/models.py +++ b/server/tasks/models.py @@ -656,6 +656,13 @@ class TaskManager: if status in terminal_statuses: continue if task_info.get('multi_agent_mode'): + # idle = 本轮输出结束、保留上下文等待指令,不算运行中。 + # 对齐 socket task_complete 语义(chat_flow_task_main.py: + # 仅 running 实例 + pending master 消息算活跃),否则 + # REST 对账会把已空闲的多智能体对话误判为运行中(前端 + # 幽灵轮询),且回收器永远不敢回收该对话的 terminal。 + if status == "idle": + continue result["has_running_multi_agent"] = True else: result["has_running_sub_agents"] = True