"""子智能体相关配置。""" import os from pathlib import Path _REPO_ROOT = Path(__file__).resolve().parents[1] def _resolve_repo_path(raw_value: str, default: str) -> str: candidate = str(raw_value or "").strip() or str(default) path = Path(candidate).expanduser() if not path.is_absolute(): path = (_REPO_ROOT / path).resolve() else: path = path.resolve() return str(path) # 子智能体服务 SUB_AGENT_SERVICE_BASE_URL = os.environ.get("SUB_AGENT_SERVICE_URL", "http://127.0.0.1:8092") SUB_AGENT_DEFAULT_TIMEOUT = int(os.environ.get("SUB_AGENT_DEFAULT_TIMEOUT", "180")) # 秒 SUB_AGENT_STATUS_POLL_INTERVAL = float(os.environ.get("SUB_AGENT_STATUS_POLL_INTERVAL", "2.0")) # 存储与并发限制 SUB_AGENT_TASKS_BASE_DIR = _resolve_repo_path(os.environ.get("SUB_AGENT_TASKS_BASE_DIR", ""), "./sub_agent/tasks") SUB_AGENT_PROJECT_RESULTS_DIR = _resolve_repo_path(os.environ.get("SUB_AGENT_PROJECT_RESULTS_DIR", ""), "./project/sub_agent_results") SUB_AGENT_STATE_FILE = _resolve_repo_path(os.environ.get("SUB_AGENT_STATE_FILE", ""), "./data/sub_agents.json") SUB_AGENT_MAX_ACTIVE = int(os.environ.get("SUB_AGENT_MAX_ACTIVE", "5")) __all__ = [ "SUB_AGENT_SERVICE_BASE_URL", "SUB_AGENT_DEFAULT_TIMEOUT", "SUB_AGENT_STATUS_POLL_INTERVAL", "SUB_AGENT_TASKS_BASE_DIR", "SUB_AGENT_PROJECT_RESULTS_DIR", "SUB_AGENT_STATE_FILE", "SUB_AGENT_MAX_ACTIVE", ]