39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
"""子智能体相关配置。"""
|
|
|
|
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",
|
|
]
|