agent_manager / models.py
airsltd's picture
update
893dedc
from typing import Dict, Optional
from pydantic import BaseModel
class AgentInfo(BaseModel):
"""
表示一个 Agent 实例的信息。
"""
id: str
agent_type: str
mcp_endpoint: str # MCP 服务的访问地址 (e.g., "http://localhost:8001")
status: str = "running" # Agent 的状态 (e.g., "running", "stopped", "error")
created_at: str
last_heartbeat: str
metadata: Dict = {} # 存储其他元数据,如资源使用情况、版本等
class CreateAgentRequest(BaseModel):
"""
创建 Agent 实例的请求模型。
"""
agent_type: str
image_name: str # Docker 镜像名称 (e.g., "my-echo-agent:latest")
env_vars: Dict[str, str] = {} # 环境变量字典
resource_limits: Dict = {} # 资源限制 (e.g., {"cpu": "0.5", "memory": "512m"})
config: Dict = {} # Agent 自身的配置信息
class AgentUpdateRequest(BaseModel):
"""
更新 Agent 实例信息的请求模型。
"""
status: Optional[str] = None
mcp_endpoint: Optional[str] = None
last_heartbeat: Optional[str] = None
metadata: Optional[Dict] = None