fix: skip sub-agent notify for blocking run

This commit is contained in:
JOJO 2026-03-14 21:35:47 +08:00
parent 96d0e68347
commit b6462ff1e2

View File

@ -1,5 +1,6 @@
import asyncio
import json
import time
from datetime import datetime
from pathlib import Path
from typing import Any, Dict, List, Optional, Set
@ -641,6 +642,17 @@ class MainTerminalToolsExecutionMixin:
)
# 合并结果
result.update(wait_result)
# 阻塞式执行不需要额外插入 system 消息
result.pop("system_message", None)
# 标记已通知,避免后续轮询再插入 system 消息
try:
task = self.sub_agent_manager.tasks.get(task_id)
if isinstance(task, dict):
task["notified"] = True
task["updated_at"] = time.time()
self.sub_agent_manager._save_state()
except Exception:
pass
elif tool_name == "terminate_sub_agent":
result = self.sub_agent_manager.terminate_sub_agent(