- 引入AgentTeamOrchestrator支持多agent协同任务执行 - 增加第三方swarms库依赖并配置git协议替换以改善包管理 - 扩展DelegationManager支持团队任务调度和进度跟踪 - 实现中文bigram分词算法提升中文任务检索准确性 - 调整A2AClient和DelegationManager超时时间从30秒增至600秒 - 优化AgentRunResult状态判断逻辑增加有意义摘要检测 - 修改Dockerfile配置npm仓库镜像地址和git协议映射 - 更新CLI命令行接口支持网关端口配置传递 - 调整提供者超时配置机制增强请求稳定性 - 移除过时的support_group字段简化agent描述符结构 - 增强错误处理和进度事件报告机制改进用户体验
59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
"""委派执行结果的共享类型定义。"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from dataclasses import dataclass
|
||
from typing import Any
|
||
|
||
|
||
_PLACEHOLDER_SUMMARY_MARKERS = (
|
||
"task completed but no final response was generated",
|
||
"no final response was generated",
|
||
"已启动代理团队",
|
||
"代理团队正在后台工作",
|
||
"agent team [",
|
||
"spawn_agent_team",
|
||
"error calling llm",
|
||
"litellm.timeout",
|
||
"dashscopeexception",
|
||
"service temporarily unavailable",
|
||
"planner调用失败",
|
||
"本任务当前不可执行",
|
||
"无法由单一非sop工具完成",
|
||
)
|
||
|
||
|
||
def normalize_summary_text(text: str | None) -> str:
|
||
"""把摘要文本压成便于判定的稳定形式。"""
|
||
return " ".join(str(text or "").strip().split())
|
||
|
||
|
||
def contains_placeholder_summary(text: str | None) -> bool:
|
||
"""判断摘要是否只是占位兜底文本。"""
|
||
normalized = normalize_summary_text(text).lower()
|
||
if not normalized:
|
||
return True
|
||
return any(marker in normalized for marker in _PLACEHOLDER_SUMMARY_MARKERS)
|
||
|
||
|
||
def has_meaningful_summary(text: str | None) -> bool:
|
||
"""判断摘要是否包含可复用的真实结果。"""
|
||
normalized = normalize_summary_text(text)
|
||
return bool(normalized) and not contains_placeholder_summary(normalized)
|
||
|
||
|
||
@dataclass
|
||
class AgentRunResult:
|
||
"""统一描述一次 agent 执行结果。"""
|
||
|
||
# 执行方的稳定 ID,适合程序判断和日志检索。
|
||
agent_id: str
|
||
# 展示给用户或前端时使用的人类可读名称。
|
||
agent_name: str
|
||
# 归一化状态:通常是 `ok` / `error` / `cancelled` 等。
|
||
status: str
|
||
# 面向上层的简要总结,是最终展示和二次总结的主要输入。
|
||
summary: str
|
||
# 可选原始载荷,保留底层协议返回值,便于调试或后续扩展。
|
||
raw: dict[str, Any] | None = None
|