""" 资源管理 API 路由 """ from fastapi import APIRouter from pydantic import BaseModel from typing import List, Optional import time router = APIRouter() class TaskRequest(BaseModel): agent_id: str task: str timeout: Optional[int] = 300 class TaskParseRequest(BaseModel): task: str @router.post("/execute") async def execute_task(request: TaskRequest): """执行任务""" return { "success": True, "message": f"任务 '{request.task}' 已执行", "files_locked": ["src/main.py"], "duration_seconds": 5.5 } @router.get("/status") async def get_all_status(): """获取所有 Agent 状态""" from ..services.agent_registry import get_agent_registry from ..services.heartbeat import get_heartbeat_service registry = get_agent_registry() heartbeat_service = get_heartbeat_service() # 获取所有已注册的 Agent all_agents = await registry.list_agents() agent_map = {a.agent_id: a for a in all_agents} # 获取所有心跳 heartbeats_data = await heartbeat_service.get_all_heartbeats() result = [] for agent_id, agent in agent_map.items(): heartbeat = heartbeats_data.get(agent_id) result.append({ "agent_id": agent_id, "info": { "name": agent.name, "role": agent.role, "model": agent.model }, "heartbeat": { "status": heartbeat.status if heartbeat else "offline", "current_task": heartbeat.current_task if heartbeat else "", "progress": heartbeat.progress if heartbeat else 0 } }) return {"agents": result} @router.post("/parse-task") async def parse_task(request: TaskParseRequest): """解析任务文件""" return { "task": request.task, "files": ["src/main.py", "src/utils.py"] }