feat: 添加swarms团队编排功能并优化agent委派系统

- 引入AgentTeamOrchestrator支持多agent协同任务执行
- 增加第三方swarms库依赖并配置git协议替换以改善包管理
- 扩展DelegationManager支持团队任务调度和进度跟踪
- 实现中文bigram分词算法提升中文任务检索准确性
- 调整A2AClient和DelegationManager超时时间从30秒增至600秒
- 优化AgentRunResult状态判断逻辑增加有意义摘要检测
- 修改Dockerfile配置npm仓库镜像地址和git协议映射
- 更新CLI命令行接口支持网关端口配置传递
- 调整提供者超时配置机制增强请求稳定性
- 移除过时的support_group字段简化agent描述符结构
- 增强错误处理和进度事件报告机制改进用户体验
This commit is contained in:
2026-04-14 14:34:23 +08:00
parent fee9007da6
commit cdfc222c9f
85 changed files with 5443 additions and 1392 deletions

View File

@ -22,7 +22,7 @@ from urllib.parse import urlparse, urlunparse
import httpx
from nanobot.agent.agent_registry import AgentDescriptor
from nanobot.agent.run_result import AgentRunResult
from nanobot.agent.run_result import AgentRunResult, has_meaningful_summary
class A2AError(RuntimeError):
@ -204,7 +204,7 @@ class A2AClient:
def __init__(
self,
timeout_seconds: int = 30,
timeout_seconds: int = 600,
poll_interval_seconds: int = 2,
card_cache_ttl_seconds: int = 300,
allowed_hosts: list[str] | None = None,
@ -1123,10 +1123,13 @@ class A2AClient:
summary = state.build_summary(self)
if not summary:
summary = self._extract_text(result) or json.dumps(result, ensure_ascii=False)
status = self._normalize_status(result.get("status"))
if not has_meaningful_summary(summary):
status = "error"
return AgentRunResult(
agent_id=agent.id,
agent_name=agent.name,
status=self._normalize_status(result.get("status")),
status=status,
summary=summary,
raw=result,
)